接入 SDK 后要测试,不能影响线上客户,怎么处理呢?
一、Android 设备区分
- 使用相同的 Appkey 和 包名,推送时使用 registrationID、tag、alias 针对性的对测试机进行推送测试
- 如果一定要测试广播推送,那么在官网新建一个测试应用,Appkey 和包名不一样,专门用作测试
- 如果你还需要包名一样并测试广播推送,那么在官网新建一个极光账号,新建一个测试应用,配相同的包名进行测试。
说明:实际上采用第一个方案即可,广播推送和其他方案推送本质上没有区别。
参考文章:https://www.jianshu.com/p/9eb52857bc9f
二、iOS 设备区分
2.1 客户端环境区分
- 客户端安装的 App 实际对应什么环境,是由打包 ipa 时候选择的证书决定的。
- 初始化时,apsForProduction:isProduction 必须和你打包选择的证书一一对应进行配置,虽然不是决定 App 环境的的因素,但若不一一对应后期可能会出问题,所以请一一对应。
- AppStore 下载的、adhoc、in-house 等证书打包为生产环境。如果你是直接运行安装到测试设备(运行调试状态),那你的安装的应用的证书环境只有可能是开发环境或者通配的。
- 一个手机上安装的一个 App 只有一种环境,不可能同时拥有两种环境
- 在官网上测试推送,该 App 能收到哪一个环境的消息,则代表他此时就是什么环境的,则必然收不到另一个环境的消息。
2.2 生产环境测试
- 打包出来,安装测试。(请务必选择这种方式!)
- 用 Xcode 将 App 安装到手机上,然后手动点击手机上的 App 图标让他运行,然后做推送测试。(强烈不建议这样测试生产环境,因为一般是做不到正确配置,且并不能看实时日志,也没有必要。)重要说明:Xcode 里面的设置:
- 证书需要设置为发布证书;
- run 也需要设置为 release,选了 release 以后就可以直接 run 一个生产证书的包;
- 设置成功的表现:
- 无法直接启动,只能手动点击 App 图标启动(如果不是这样的,说明你还是 debug 状态,最好就直接打包出来测试!)
- 在生产环境下启动,是 不能在控制台实时看到日志的,所以还不如选择打包安装。
2.2 服务端推送环境区分
- 官网推送选择 生产环境、开发环境;推送成功后在推送历史-推送平台中 ios 代表开发环境,ios-product 代表生产环境
- API 推送设置可选参数 options——环境参数 apns_production,true 为生产、false 是开发,请务必注意参数类型是 Boolean ,不是字符串或其他。点我 (强烈建议手动配置该字段,而不是保持默认。)
- JSON 示例文档 ;服务端 SDK 参考 example:Java 、python 、C# 、php
- 推送消息后可以在官网-应用-推送历史-操作-详情展开看平台环境实际是什么(iOS-product 代表生产),如果与你认为的不一致,去检查你的代码。
如果对你有帮助,点个赞呗 ლ(╹◡╹ლ)
不吹不黑,关注「常见问题」专栏可以解决你 90% 的问题 (ノ◕ω◕)ノଘ_ଘ
如果还有你想知道的问题没有总结方案,来评论区跟我交流交流吖
0条评论