友盟推送收不到通知原因
2020-06-08 本文已影响0人
Queen_BJ
友盟推送收不到通知原因,总结后原因如下:
1、应用环境
2、推送证书
3、后台production_mode参数
首先确认你当前应用的环境(开发或是生产)
测试环境(开发环境)
1、首先在友盟后台可添加deviceToken来直接推送,如果可以收到,说明你的开发环境证书没问题的,如果收不到就是你证书有问题,或是deviceToken添加错误。
2、如果在开发环境你收不到后台给你推送的消息而你自己在后台测试是可以收到的,那99%的可能就是后台把production_mode 设置成为了true (默认) 即为生产环境(正式环境),修改即可;
正式环境(生产环境)
1、首先确保开发环境是可以收到推送的
2、如果在生产环境你收不到后台给你推送的消息,那99%的可能就是后台把production_mode 设置成为了false 即为生产环境(正式环境),修改即可;
注:友盟官网 关于production_mode 参数的介绍
"production_mode":"true/false" // 可选,正式/测试模式。默认为true
// 测试模式只会将消息发给测试设备。测试设备需要到web上添加。
设备添加deviceToken 方法:
if (![deviceToken isKindOfClass:[NSData class]]) return;
const unsigned *tokenBytes = (const unsigned *)[deviceToken bytes];
NSString *hexToken = [NSString stringWithFormat:@"%08x%08x%08x%08x%08x%08x%08x%08x",
ntohl(tokenBytes[0]), ntohl(tokenBytes[1]), ntohl(tokenBytes[2]),
ntohl(tokenBytes[3]), ntohl(tokenBytes[4]), ntohl(tokenBytes[5]),
ntohl(tokenBytes[6]), ntohl(tokenBytes[7])];
NSLog(@"DeviceToken===================%@",hexToken);