当我从 Parse Push 发送通知时,它会向某些设备发送通知,其余设备会显示GCM-Mismatch发送者ID。我已在我的应用中正确配置了Parse配置,但有时它将我的应用生成的GCM ID存储在其设备令牌字段中,然后将此 GCM-不匹配发件人ID 错误。如何解决此错误?
答案 0 :(得分:0)
可能您的应用使用多个推送提供商,包括Parse。幸运的是,Parse提供了一个很好的元数据。正如Parse在其docs中所说,如果您使用除Parse之外的其他推送提供程序,则应提供应用用于推送消息的每个 Sender_ID 。看看下面的内容:
Parse Android SDK选择合理的默认配置 您不必担心GCM注册ID,发件人ID, 或API密钥。特别是,SDK会自动注册您的 使用Parse的发件人ID在启动时推送应用程序 ( 1076345567071 )并将结果注册ID存储在 应用程序当前的ParseInstallation的deviceToken字段。
但是,作为想要发送的开发人员的高级功能 推送来自多个推送提供商,Parse允许您选择 注册您的应用程序以推送其他GCM发件人ID。去做 这样,请使用以下内容指定其他GCM发件人ID
<meta-data>
标记为您应用中<application>
元素的子标记 的AndroidManifest.xml:<meta-data android:name="com.parse.push.gcm_sender_id" android:value="id:YOUR_SENDER_ID" />;
在上面的示例代码段中,YOUR_SENDER_ID应替换为a 数字GCM发件人ID。请注意,Parse SDK希望您使用前缀 带有id:前缀的发件人ID,如示例摘要中所示。
如果您想使用多个其他发件人ID注册您的应用, 那么上面
<meta-data>
元素中的android:值应该保持一个 以逗号分隔的发件人ID列表,如以下代码段所示:<meta-data android:name="com.parse.push.gcm_sender_id" android:value="id:YOUR_SENDER_ID_1,YOUR_SENDER_ID_2,YOUR_SENDER_ID_3"/>;