Unity Android推送通知-过时设备

Unity Android推送通知-过时设备,android,parse-platform,unity3d,Android,Parse Platform,Unity3d,我在Android上的Unity应用程序中无法获得推送通知。我遵循了解析文档中的步骤,包括设置AndroidManifest.xml。设备注册了安装,我可以在仪表板上看到。然而,当使用仪表板创建推送时,交付报告总是为我的平板电脑显示“PPNS-过时设备” 我按照以下说明从这里创建AndroidManifest.xml文件: 我是否需要设置安装的“GCMSenderId”值?文件在这方面有点含糊不清 以下是我的舱单内容: <?xml version="1.0" encoding="utf-

我在Android上的Unity应用程序中无法获得推送通知。我遵循了解析文档中的步骤,包括设置AndroidManifest.xml。设备注册了安装,我可以在仪表板上看到。然而,当使用仪表板创建推送时,交付报告总是为我的平板电脑显示“PPNS-过时设备”

我按照以下说明从这里创建AndroidManifest.xml文件:

我是否需要设置安装的“GCMSenderId”值?文件在这方面有点含糊不清

以下是我的舱单内容:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.unity3d.player"
    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"/>

  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.WAKE_LOCK" />
  <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
  <permission android:protectionLevel="signature"
      android:name="com.unity3d.player.permission.C2D_MESSAGE" />
  <uses-permission android:name="com.unity3d.player.permission.C2D_MESSAGE" />

  <application
  android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
  android:icon="@drawable/app_icon"
      android:label="@string/app_name"
      android:debuggable="true"> <!-- SET TO FALSE FOR RELEASE BUILD -->
    <activity android:name="com.unity3d.player.UnityPlayerActivity"
              android:label="@string/app_name">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    </activity>

    <service android:name="com.parse.ParsePushService" />
    <receiver android:name="com.parse.ParsePushBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND">
      <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
        <category android:name="com.unity3d.player" />
      </intent-filter>
    </receiver>
  </application>
</manifest>

好的,我想好了。我对清单文件有一些错误,但最重要的是将包名从默认的“com.unity3d.player”更改为“com.unity3d.player”。我在设备上有另一个使用相同默认包名的test Unity应用程序,我相信因为它是首先安装的,所以它正在拦截通知

无论如何,这是我的AndroidManifest.xml文件,供其他在使用Unity3D和Android设备解析推送时遇到困难的人使用

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.yourcompany.yourproductname"
    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"/>

  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.VIBRATE" />
  <uses-permission android:name="android.permission.WAKE_LOCK" />
  <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
  <permission android:protectionLevel="signature"
      android:name="com.yourcompany.yourproductname.permission.C2D_MESSAGE" />
  <uses-permission android:name="com.yourcompany.yourproductname.permission.C2D_MESSAGE" />

  <application
  android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
  android:icon="@drawable/app_icon"
      android:label="@string/app_name"
      android:debuggable="true"> <!-- SET TO FALSE FOR RELEASE BUILD -->
    <activity android:name="com.unity3d.player.UnityPlayerActivity"
              android:label="@string/app_name">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    </activity>

    <service android:name="com.parse.ParsePushService" />
    <receiver android:name="com.parse.ParsePushBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND">
      <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
        <category android:name="com.yourcompany.yourproductname" />
      </intent-filter>
    </receiver>
  </application>
</manifest>

请注意,您将用您想要使用的任何软件包名称替换“com.yourcompany.yourproductname”的所有实例