尝试使用urbanairship管理应用程序并解决问题'缺少'推送通知,我决定写一个Q& A来帮助其他开发人员。
客户最常见的抱怨是,设备上的用户没有收到通知。
有时候整个小组都会错过通知,导致我检查客户端应用程序和urbanairship仪表板,以确定发生了什么。
我在仪表板上发现的最常见错误是:
收到错误:在平台上发送缺少授权的推送
GCM收到错误:已启用无效授权的推送 平台GCM
应用程序无权发送给此 设备原始消息:错误:发件人ID不匹配
我想分享一下我是如何解决这些问题的。
答案 0 :(得分:1)
有几点可能导致错误:
在airshipconfig.properties gcmSender = #########
The Mismatch Sender当您的发件人ID不正确时,会发生ID错误。确保您使用的是项目编号,而不是ID。
在urbanairship仪表板中,转到设置 - >服务
包名是可选的,如果它们不匹配,虽然这会导致问题并且可以完全删除 - 包名,而不是服务!
- 如果通知仅在连接到WiFi时到达,请确认 启用后台数据。
- 需要启用后台数据 设备。否则推送无法从GCM发送到Android设备 他们有有效的WiFi连接。他们离开后推动丢失 城市飞艇。为每个Android版本启用背景数据 操作系统,请参阅Android文档。 NB *
- 通知不是 为应用程序本身启用。通知已启用或 在“管理应用程序”屏幕中禁用在那里导航每个 通过选择显示通知来安装Android OS。
报价取自Urbanairship GCM Troubleshooting Guide
nb *没有合理的方法可以确保启用移动数据,当没有wifi连接且移动数据被禁用时,用户最多可以收到警告Latest update on enabling and disabling mobile data programmatically
作为额外的:
对于特定设备上的通知问题,我要求客户填写如下表格:
移动类型:
Android,iOS,其他。
请强>
示例:Sony, 三星,Apple 的模型强>
在iOS示例中:
设置 - >一般 - > 关于 - >型号= MF325X / A
在Android示例中:
设置 - >关于手机 - > - >型号= E2353
精确的Android或iOS版
在iOS示例中:
设置 - >一般 - >关于 - >版本= 8.3(12F70)
在android例子中:
设置 - >关于手机 - > Android版
通过这种方式,可以探索操作系统版本之间的权限更改,推送通知的管理方式或设备中的已知错误。