对于我尝试发送的所有推送通知,状态始终为“成功”,但没有任何设备到达任何设备。
在我的解析仪表板中,安装不为空(有5个)。
“Client Push Enabled”设置为“Yes”(尝试使用Yes和No发送)。
我尝试通过解析仪表板和django发送。我尝试过针对“所有人”和“频道”。在所有情况下,状态为绿色,但“推送已发送”为0。
这个问题已被问过几次,但没有一个答案对我有用。
以下是与我最接近的情况的问题:Parse pushes not being sent 然而,这个问题也没有得到回答。
答案 0 :(得分:1)
我也面临这个问题。 将0个收件人作为推送发送的原因是因为在当前情况下,尽管您在安装表中看到了条目,但仍不会将推送发送给任何收件人。
原因:您的案例中必须缺少deviceToken字段。
如果表中有安装条目,但所有这些条目都缺少deviceToken,那么解析将不会发送推送通知,因为deviceToken是必需的。
您必须在清单文件中添加以下权限。
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
以及与解析相关的代码,您必须为GCM添加以下代码,以便解析可以获得deviceToken:
<permission
android:name="your.package.name.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="your.package.name.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<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" />
<category android:name="your.package.name" />
</intent-filter>
</receiver>