海外 APP 推送(下篇):海外厂商通道集成指南
作者:极光高级工程师——史坤坤
上篇回顾
上篇我们分享了海外各个厂商的推送通道与 FCM 通道的对比,了解了厂商通道的优势。那么下面我们手把手教你如何集成海外厂商通道。
APP 集成海外厂商通道攻略
了解了厂商通道与 FCM 通道的区别后,厂商通道的优势显而易见了。为了提高 APP 通知的送达率,有必要集成厂商通道来弥补 FCM 通道的不足。
在此,我们整理了各个厂商通道在海外的支持情况。
截止目前,除三星和 vivo 外,小米、OPPO、华为、荣耀均有各自的厂商通道加持。其中,华为和荣耀,国内与海外本身已经互通,与国内厂商通道使用和集成方式无区别,在此不再赘述,具体可参考极光一键集成厂商通道的文档。
https://docs.jiguang.cn/jpush/client/Android/android_3rd_param
极光推送 SDK 已经对各大厂商的推送 SDK 进行了封装,可方便开发者快速集成厂商通道,无需单独实现各个通道的集成。同时,也支持开发者在后台统一管理推送策略、查看推送数据报表等。
由于只有小米和 OPPO 在海外与国内的支持情况有所区别。下面着重对这两个厂商的海外通道做下说明。
01、运营平台
两个厂商的开发者开放平台,都可以通过同一个平台链接进行国内与国际版的切换。
a. 小米账号是互通的,但新建的应用做了国内与海外的区分,当切换到英语时,新建应用会先同步到海外的应用市场。如此,才能使用海外版 SDK 进行消息推送。但海外版 SDK 用在国内设备上运行时,则会显示注册失败。
当通过运营平台进行消息推送时,需要严格根据设备的归属地。简单总结为:
如果目标用户是国内用户,需要通过国内推送运营平台发送;
如果目标用户是海外用户,需要通过海外推送运营平台发送;
如果目标用户既包含国内用户又包含海外用户,可以选择国内 &国外推送运营平台同时推送该消息,用户不会重复收到;
b. OPPO 的账号可登录海外版,但信息则不互通,需要重新注册开发者信息,注册时需要提供身份证明、国际 VISA 银行卡。进行语言切换时,会自动退出当前账号,然后重新登录。需要注意的是,必须注册企业开发者,才可以使用推送功能。
当通过运营平台进行消息推送时,也需要根据设备的归属地,使用不同的平台进行推送。使用国内推送运营平台发送的消息,只有国内设备可以收到;使用海外推送运营平台发送的消息,只有海外设备可以收到;
02、SDK 集成
a. 小米 SDK 集成区分国内版本和海外版本,两个版本 SDK 无法同时共存于同一个 APP。同时集成,在编译时会有比较多的冲突。
虽然无法同时集成,但开发时所使用的 API 是相同的,即当开发者想同时支持国内和海外时,直接替换 SDK 即可,有一点需要注意的是,如果集成的海外版 SDK,则必须增加先通过 MiPushClient.setRegion 接口设置数据存储区域,可选区域如下:
public enum Region {
Global,//新加坡
Europe,//欧洲德国法兰克福
Russia,//俄罗斯莫斯科
India//印度孟买
}
然后再调用 MiPushClient.registerPush 接口注册小米推送服务。否则会抛出 IllegalArgumentException 异常。
b. 对于 OPPO,适配海外通道则比较简单。SDK 则无需任何更改,国内设备与海外设备通用。
03、后台服务开发
在后台服务适配方面,两个厂商均无需修改服务端 SDK,需要做的适配工作相同,根据设备的归属地,使用不同的 api 地址进行消息推送。在获取设备归属地方面略有差异。
a. 小米提供了单独的 api 接口用来查询设备归属地。
b.OPPO 则可以根据 regid 来判断:regid 的前缀有地区缩写,CN,IN,RU 等;可区分国内与海外用户。但在官方文档上没有找到相关说明,该信息通过官方的技术支持了解到,实际验证也确实如此。
服务端根据国内与海外用户,使用不同的域名进行推送。
04、通知送达效果
a. 小米厂商通道送达效果与国内保持一致,即便强行停止应用后,仍然可以正常收到推送消息。
b. OPPO 厂商通道,我们通过 OPPO 官方技术支持了解到:"在海外系统上增加了厂商的长连接通道,支持通过厂商来发送通知消息。而在通知展示方面,则沿用了谷歌 FCM 的展示逻辑,将收到的消息转给 FCM,因此会有与 FCM 通道会一样的问题,即“强行停止”APP 后,无法继续收到通知"。
对于这一说法,我们在拿到海外版真机后做了验证,通过“强行停止”APP 后,是可以正常收到通知并展示的,应该是厂商已经完成了优化。
05、APP 渠道分发
a. 由于小米厂商对于国内和海外的设备进行了版本区分,国内版 SDK 只能安装在国内设备,海外版 SDK 只能安装在海外设备,因此,开发者在分发应用时,需要进行多渠道分发,国内应用市场使用国内版本的 SDK。Google Play 上使用海外版本的 SDK。
b. 由于 OPPO 厂商 SDK 不区分国内外版本,可以通用。因此,不需要针对国内外的环境而对 APP 进行不同的渠道分发。但需要注意的是,如果海外的应用没有国内主体并且上架应用商店,那么必须要在 OPPO 海外应用商店上架才能正常使用推送。海外应用商店支持的国家有:印度、印度尼西亚、泰国、越南、菲律宾、马来西亚、中国台湾。
小结
极光目前已全面兼容支持海外厂商通道,使用极光推送,您可以免去复杂的集成过程,一键集成厂商 SDK,提高集成效率。详见 http://www.jiguang.cn
关于极光
极光(Aurora Mobile,纳斯达克股票代码:JG)成立于 2011 年,是中国领先的客户互动和营销科技服务商。成立之初,极光专注于为企业提供稳定高效的消息推送服务,凭借先发优势,已经成长为市场份额遥遥领先的移动消息推送服务商。随着企业对客户触达和营销增长需求的不断加强,极光前瞻性地推出了消息云和营销云等解决方案,帮助企业实现多渠道的客户触达和互动需求,以及人工智能和大数据驱动的营销科技应用,助力企业数字化转型。
版权声明: 本文为 InfoQ 作者【极光JIGUANG】的原创文章。
原文链接:【http://xie.infoq.cn/article/85cf8a3e59f35b7363153bd1c】。文章转载请联系作者。
评论