簡體   English   中英

使用EtceteraAndroid插件和Urban Airship統一使用GCM

[英]GCM in unity using EtceteraAndroid plugin and Urban Airship

我正在嘗試在Unity 3.5中制作的Android游戲上使用推送通知。 這些是我執行的步驟:

我通過prime31購買了名為EtceteraAndroid的資產,並在其門戶上創建了Urbanairship應用。 然后我修改airshipconfig文件,如下所示:

gcmSender = My_Proj_number在這里傳輸= gcm developmentAppKey = devkey developmentAppSecret =開發人員秘密密鑰productionAppKey = devkey productionAppSecret =開發人員秘密密鑰(因為我沒有Urban Airship的發布帳戶)inProduction = false

  • 我創建了Google帳戶並在此處啟用了GCM,然后將服務器API密鑰復制到UrbanAirship GCM API密鑰
  • 我已經添加了此處提到的一些權限, 使用城市飛艇來發送推送通知
  • 在內部代碼中,我調用啟用EtceteraAndroid插件中可用的Urbanair推送功能。
  • 我在Android設備上構建並運行apk。
  • 我沒有在UrbanAirship門戶上注冊任何APPID,因此在我的android設備上沒有收到任何通知:(

任何建議將不勝感激。

我目前正在嘗試解決與Urban Airship插件有關的問題。

根據《 Prime 31》,似乎事情應該開箱即用。 但您可能已經注意到,GCM支持已被棄用,Prime的插件仍依賴C2DM。

也許您也應該在以下論壇主題中發帖,因為這是有關該主題的討論所在。

話雖如此,即使GCM帳戶不正確,我也可以讓我的APID做出響應。 但是我無法收到任何推送通知。 更具體地說,androidManifest.xml的某些部分需要保持相同。 這是我的androidManifest.xml配置:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.myCompany.myGame" android:installLocation="preferExternal" android:versionCode="1" android:versionName="1.0">
    <supports-screens
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:anyDensity="true"/>

   <!-- The com.prime31.EtceteraApplication should be there -->
   <application android:name="com.prime31.EtceteraApplication"
                android:icon="@drawable/app_icon"
                android:label="@string/app_name"
                android:debuggable="true">

    <!-- These activities should be in there -->
    <activity android:name="com.unity3d.player.UnityPlayerProxyActivity"
              android:label="@string/app_name"
              android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name="com.unity3d.player.UnityPlayerActivity"
              android:label="@string/app_name"
              android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
    </activity>

    <activity android:name="com.unity3d.player.UnityPlayerNativeActivity"
              android:label="@string/app_name"
              android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
        <meta-data android:name="android.app.lib_name" android:value="unity" />
        <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
    </activity>

    <activity android:name="com.unity3d.player.VideoPlayer"
              android:label="@string/app_name"
              android:screenOrientation="behind"
              android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
    </activity>

    <!-- ACTIVITIES -->
    <activity android:name="com.prime31.EtceteraProxyActivity"></activity>
    <activity android:name="com.prime31.WebViewActivity" android:configChanges="orientation"></activity>
    <activity android:name="com.prime31.P31VideoPlayerActivity" android:configChanges="keyboard|keyboardHidden|orientation"></activity>
    <receiver android:name="com.urbanairship.CoreReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.ACTION_SHUTDOWN" />
        </intent-filter>
    </receiver>

    <receiver android:name="com.urbanairship.push.c2dm.C2DMPushReceiver" android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <category android:name="com.myCompany.myGame" />
        </intent-filter>
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
            <category android:name="com.myCompany.myGame" />
        </intent-filter>
        </receiver>
    <service android:name="com.urbanairship.push.PushService" android:process=":com.urbanairship.push.process" />
    <receiver android:name="com.prime31.P31UAIntentReceiver" />
</application>

<uses-feature android:glEsVersion="0x00010001" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.BROADCAST_STICKY"/>

<permission android:name="com.myCompany.myGame.permission.C2D_MESSAGE" android:protectionLevel="signature"/>
<uses-permission android:name="com.myCompany.myGame.permission.C2D_MESSAGE"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>

如果您設法使推送通知正常工作,請告訴我,因為我無法正常工作! 干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM