我用api发送推送,但是使用devicetoken 72b8d54328de443bf3076479307b5d412f010601f31ae951e558415b4a3dad06 查询能查询到消息推送失败,原因是BadDeviceToken,但问题是我已经能使用这个token查询到消息了,说明devicetoken是存在且有效的,为什么还会报失败呢
您好,iOS推送消息失败,返回BadDeviveToken,主要是环境问题,需要检查三个方面:
1.工程自身的环境:
(1)上架AppStore和ADHoc打包,为生产环境,只能发送正式消息,测试消息发送会返回BadDeviveToken。
(2)其他打包方式或Debug模式,为开发环境,只能发送测试消息,必须添加测试设备,如发送正式消息,会返回BadDeviveToken。
2.证书环境问题:
确认证书是P12还是P8证书,P12证书分生产环境证书和开发环境证书,需要按照对应环境进行上传,且证书有效期未过期;P8证书不区分环境,也没有有效期。
3.获取的token环境:
iOS的token也是区分环境的,生产环境获取DeviceToken的方法与开发环境不一样,需要在不同环境下分别获取token,避免环境混乱导致消息推送失败,报错BadDeviveToken
感谢您的支持与厚爱!