解析 - 安装表没有设置deviceToken和pushType

时间:2014-12-16 15:53:29

标签: parse-platform push-notification google-cloud-messaging devicetoken

我有一个正在使用Parse的应用程序,通知工作正常。我更改了应用程序打包,并在Parse上创建了一个新的应用程序。

使用新的app,deviceToken和pushType列在表_Installation中始终保持为空,因此即使从Parse网页发送,推送也不起作用,并且在启动应用程序时生成新条目。

我已经在我的java代码和我的云代码上更新了解析密钥。

有人知道我可能错过了什么或可能会发生什么,所以相同的代码在具有相同配置的不同应用程序中有不同的行为?

如果我使用pushType =“gcm”更新其中一个安装,并在另一个应用程序中使用“deviceToken”,则此设备会收到通知。

谢谢

2 个答案:

答案 0 :(得分:8)

好吧,我有类似的问题。这两列都是空的。 这主要是由于明显的问题。 您的权限似乎没问题,因为您收到通知并且还能够在解析数据库中注册。

所以问题应该在<receiver>标签中,应该只有2个像我一样。

<receiver android:name="com.parse.ParseBroadcastReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>
         <receiver android:name="com.parse.GcmBroadcastReceiver"
            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" />

                <!--
                  IMPORTANT: If you change the package name of this sample app,
                  change "com.parse.tutorials.pushnotifications" in the lines
                  below to match the new package name.
                -->
                <category android:name="com.example.ifis" />
            </intent-filter>
        </receiver>

如果您有任何接收器,例如“com.google.android.gcm.GCMBroadcastReceiver”请移除,还有一个<service android:name="com.parse.PushService" />

答案 1 :(得分:0)

启用解析日志记录:

Parse.setLogLevel(Parse.LOG_LEVEL_VERBOSE);

在我的情况下,我错过了GCM权限

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