作者:极光高级工程师——史坤坤
上篇回顾
上篇我们分享了海外各个厂商的推送通道与FCM通道的对比,了解了厂商通道的优势。那么下面我们手把手教你如何集成海外厂商通道。
APP集成海外厂商通道攻略
了解了厂商通道与FCM通道的区别后,厂商通道的优势显而易见了。为了提高APP通知的送达率,有必要集成厂商通道来弥补FCM通道的不足。在此,我们整理了各个厂商通道在海外的支持情况。
文章图片
截止目前,除三星和vivo外,小米、OPPO、华为、荣耀均有各自的厂商通道加持。其中,华为和荣耀,国内与海外本身已经互通,与国内厂商通道使用和集成方式无区别,在此不再赘述,具体可参考极光一键集成厂商通道的文档。
https://docs.jiguang.cn/jpush...
极光推送SDK已经对各大厂商的推送SDK进行了封装,可方便开发者快速集成厂商通道,无需单独实现各个通道的集成。同时,也支持开发者在后台统一管理推送策略、查看推送数据报表等。由于只有小米和OPPO在海外与国内的支持情况有所区别。下面着重对这两个厂商的海外通道做下说明。
01、运营平台
两个厂商的开发者开放平台,都可以通过同一个平台链接进行国内与国际版的切换。
a. 小米账号是互通的,但新建的应用做了国内与海外的区分,当切换到英语时,新建应用会先同步到海外的应用市场。如此,才能使用海外版SDK进行消息推送。但海外版SDK用在国内设备上运行时,则会显示注册失败。
文章图片
文章图片
当通过运营平台进行消息推送时,需要严格根据设备的归属地。简单总结为:
- 如果目标用户是国内用户,需要通过国内推送运营平台发送;
- 如果目标用户是海外用户,需要通过海外推送运营平台发送;
- 如果目标用户既包含国内用户又包含海外用户,可以选择国内&国外推送运营平台同时推送该消息,用户不会重复收到;
文章图片
当通过运营平台进行消息推送时,也需要根据设备的归属地,使用不同的平台进行推送。使用国内推送运营平台发送的消息,只有国内设备可以收到;使用海外推送运营平台发送的消息,只有海外设备可以收到;
02、SDK集成 a. 小米SDK集成区分国内版本和海外版本,两个版本SDK无法同时共存于同一个APP。同时集成,在编译时会有比较多的冲突。
文章图片
虽然无法同时集成,但开发时所使用的API是相同的,即当开发者想同时支持国内和海外时,直接替换SDK即可,有一点需要注意的是,如果集成的海外版SDK,则必须增加先通过MiPushClient.setRegion接口设置数据存储区域,可选区域如下:
public enum Region {
Global,//新加坡
Europe,//欧洲德国法兰克福
Russia,//俄罗斯莫斯科
India//印度孟买
}
【海外APP推送(下篇)(海外厂商通道集成指南)】然后再调用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年,是中国领先的客户互动和营销科技服务商。成立之初,极光专注于为企业提供稳定高效的消息推送服务,凭借先发优势,已经成长为市场份额遥遥领先的移动消息推送服务商。随着企业对客户触达和营销增长需求的不断加强,极光前瞻性地推出了消息云和营销云等解决方案,帮助企业实现多渠道的客户触达和互动需求,以及人工智能和大数据驱动的营销科技应用,助力企业数字化转型。