Android的推送业务现状还是比较混乱,手机厂商各有一套推送机制和SDK需要你去集成,今天先谈一谈华为的推送服务集成吧
集成背景:React Native项目,已经集成了一套JPush,但是目前相当一部分Android机型极光推送在应用杀掉之后是不能唤醒的,Android和Apple平分秋色,客户有需求,就着手集成吧,集成路线 华为 =》小米 => 其他厂商
我先把集成正确的思路和流程梳理一下,遇到的坑最后再说
1、先晒一下SDK文档这里写链接内容
首先肯定是connect到华为的服务
HuaweiApiClient client = new HuaweiApiClient.Builder(this)
.addApi(HuaweiPush.PUSH_API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
MixPushMoudle.pushManager = new HuaweiPushManager(client, ${appId}, ${appSecret});
client.connect();
最重要的是获取到当前设备(用户)的deviceToken,其他平台也叫ClientId,其实是用户的唯一标志,好的一点是deviceToken会在connect之后主动帮我们获取,我们可以通过重写PushReceiver的onToken获取
@Override
public void onToken(Context context, String token, Bundle extras) {
Log.i(TAG,