【问题标题】:In parse, pushes sent is always 0在解析中,发送的推送始终为 0
【发布时间】:2015-08-31 08:40:54
【问题描述】:

对于我尝试发送的所有推送通知,状态始终为“成功”,但没有任何设备到达。

在我的解析仪表板中,安装不是空的(有 5 个)。

“Client Push Enabled”设置为“Yes”(尝试同时发送 Yes 和 No)。

我尝试通过解析仪表板和 django 发送。我尝试过针对“每个人”和“频道”。在所有情况下,状态都是绿色,但“推送已发送”为 0。

这个问题已被问过几次,但没有一个答案对我有用。

这是与我的情况最接近的问题:Parse pushes not being sent 然而,这个问题也没有得到回答。

【问题讨论】:

  • 如果您能提供更多信息,例如一些代码或更详细的信息,以便我们为您提供帮助

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


【解决方案1】:

我也遇到过这个问题。 0 个收件人作为推送发送的原因是因为在目前的情况下,尽管您在安装表中看到条目,但推送从未发送给任何收件人。

原因:您的情况必须缺少 deviceToken 字段。

如果表中有安装条目,但所有这些条目都缺少 deviceToken,则 parse 将不会发送推送通知,因为该 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>

【讨论】:

  • 我遇到了同样的问题,但是我的 Installations 表中的条目都设置了 deviceTokens 并且我已经确认它们是准确的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多