如题,程序log中无报错信息,上周还能正常接收来着,但现在只能在后台看到推送记录里成功,实际设备不管是后台推送还是在线推送都收不到(dev环境下,用的Token Authentication 推送鉴权方式)。具体情况:后台对单台设备进行推送测试时,是推送设备和成功设备都为1的感觉正常,但通过在线发送功能发送iOS测试环境测试推送时,会有出现invalidTokens设备的提示,之前测试使用时是没有这种情况发生的,而且距离上次可以正常获取推送,也没有证书ID之类的改动,请问这可能会是什么原因引起的收不到推送呢,我应该朝哪个方向进行问题排查?

以下为后台推送记录截图和选取内容粘贴


ID 内容 状态 目标设备数 成功设备数 创建时间 完成时间

Bpae0eniOaetlYXy 注意温度变化,积极预防感冒 完成推送 34 7 invalidTokens: 27 2017-10-25 10:53:02 2017-10-25 10:53:19

在发帖之前也重新看了常见问题一下。

我贴的推送记录里,除了那个目标设备数超过100的事安卓苹果混发外,其他都是设置dev环境的只针对iOS平台的推送,如果是invalidTokens问题的话,那么那个针对特定账号的单一推送应该是可以接受到的,但实际也是没有。

在线推送时发现了有invalidTokens设备的之前没有的异常。

针对invalidTokens可能问题也排查过,APP ID那推是有效的,应用后台推送权限都是开启的,证书错误的话,我这有测试环境机器和正式环境机器,在线群推至少应该有一个环境的能收到才对,但并无任何机器收到推送,我想会不会是Token Authentication 推送鉴权方式相关,但相关信息太少,只能来论坛问问

主要是上周5还是好的,这周昨天测试就有问题了,后台告诉我他们只是应安卓的需求在内容msg里增加了一个action字段,应该是不会影响推送的,而且实际上没有action字段的在线推送也收不到了,刚看了论坛的帖子感觉可能是Token Authentication方式下,默认推到正式环境去了,但是装正式APP的手机也没收到推送,目前没有头绪,我开发者账号后台,有一个之前创建的APNs Development iOS证书,后来用Token Authentication方式后也没删,可能和这个有关系吗?

问一下,我用的Token Authentication 推送鉴权方式可能产生这个问题吗?-> “检查消息菜单里的推送记录中的 invalidTokens 字段,如果该数字异常大,可能证书选择错误,跟设备 build 的 provisioning profile 不匹配。”
还有,我iOS App ID 中编辑模式下,Push Notifications下有Development SSL Certificate和Production SSL Certificate,是这个的影响吗,我是不是应该删掉?

您好,如果在控制台加入了 Token Authentication 方式,就会以这种方式来发推送,之前上传的证书都会被忽略。所以是否删除老的证书对推送结果没有影响。

invalid tokens 就是设备和当前的 Token Authentication 不匹配。

可以通过控制台给设备挨个发消息尝试下,检查当前设备安装的 App 的 bundle id 是否匹配当前的 Token Authentication 中的 Topics。

哦谢谢回复,昨天又叫天后对知道账号的发送线上测试通知,是收到了消息的,目前只有一个应用,所以bundle id 是唯一的应该没问题,但问题应该还是和Token Authentication方式有关,有个方向就好搞了,在此感谢回复

现在要找的方向就是 Token Authentication 方式下,为何发布环境有消息,但测试环境就没消息了,上周还是全有正常的,这周就出问题,可能是后台动了哪一块?亦或是xcode 9 编译后产生的影响?,如果有可能头绪,望不领赐教,感谢~

确实没有什么头绪,如果是测试环境的话,直接传 dev 参数就可以了。可以新建个应用走一遍流程测试下,如果新应用正常,再对比老应用看下老应用有什么不一样。

额,今天测试,什么也没做新作,就好了,测试服线上后台都推的到,连以前6p收不到的情况也没有了,现今未知问题为何,不过多谢帮助、回复了 smile