2012-11-21 57 views
1

我试图在统一3.5中使用Android游戏推送通知。这些是我做的步骤:统一使用GCM在使用EtceteraAndroid插件和城市飞艇

我通过prime31购买了名为EtceteraAndroid的资产,并在其门户上创建了urbanairship应用。然后我修改airshipconfig文件是这样的:

gcmSender = My_Proj_number这里 运输= GCM developmentAppKey = devkey developmentAppSecret = dev的密钥 productionAppKey = devkey productionAppSecret = dev的秘钥(因为我有城市飞艇没有发布帐户) inProduction =假

  • 我创建谷歌帐户,并启用了GCM那里,服务器API密钥复制到UrbanAirship GCM API密钥
  • 我已经添加了一些行政许可法ons在这里提到Using GCM, Urban Airship to send Push Notification
  • 内部代码,我打电话启用Urbanair推送功能,这是在EtceteraAndroid插件中可用。
  • 我在我的android设备上构建并运行apk。
  • 我没有找到任何APPID登记在UrbanAirship门户网站等获得我的Android设备:(

任何建议将赞赏任何通知。

+0

你解决了吗?我问Prime31,他们说Urban插件支持Android版本的Etcetera插件。你有没有找到解决方案? – Sunkas

回答

0

我目前正试图理清有关问题根据Prime 31,似乎事情应该是开箱即用,但正如您可能已经注意到的那样,GCM支持已被弃用,Prime的插件仍然依赖于C2DM。

Perhaps you should also post on the following forum thread因为这是讨论已经发生在这个话题..

说了这么多,我可以让我的APID作出反应,即使没有GCM帐户是正确的。但我无法收到任何推送通知。更具体地说,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"/> 

如果你能得到推送通知的工作,请让我知道,因为我无法得到的那部分工作!干杯!

+0

现在有解决方案吗? – Oli