|
本文已小米为主,其他参考官方文档大同小异。
第一步:注册小米推送获得相关的秘钥
https://dev.mi.com/console/
第二部:设置推送证书
在腾讯云后台的基本设置-》离线推送证书配置 设置小米推送证书,
主要输入:包名 AppID AppSecret
主要需要获取的是证书ID:如上图5218
三:配置小米推送包:
implementation "com.tencent.tpns:xiaomi:1.2.2.2-release"
四:配置权限
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.INTERNET" />
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
- <uses-permission android:name="android.permission.READ_PHONE_STATE" />
- <uses-permission android:name="android.permission.GET_TASKS" />
- <uses-permission android:name="android.permission.VIBRATE"/>
- <!--这里的 com.tencent.qcloud.tim.tuikit 改成您的 App 的包名-->
- <permission
- android:name="com.tencent.qcloud.tim.tuikit.permission.MIPUSH_RECEIVE"
- android:protectionLevel="signature" />
- <uses-permission android:name="com.tencent.qcloud.tim.tuikit.permission.MIPUSH_RECEIVE" />
- <!--这里的 com.tencent.qcloud.tim.tuikit 改成您的 App 的包名-->
复制代码
配置小米推送服务需要的 service 和 receiver:
- <service
- android:enabled="true"
- android:process=":pushservice"
- android:name="com.xiaomi.push.service.XMPushService" />
- <service
- android:name="com.xiaomi.push.service.XMJobService"
- android:enabled="true"
- android:exported="false"
- android:permission="android.permission.BIND_JOB_SERVICE"
- android:process=":pushservice" /> <!--注:此 service 必须在3.0.1版本以后(包括3.0.1版本)加入-->
- <service
- android:name="com.xiaomi.mipush.sdk.PushMessageHandler"
- android:enabled="true"
- android:exported="true" />
- <service
- android:name="com.xiaomi.mipush.sdk.MessageHandleService"
- android:enabled="true" /> <!--注:此 service 必须在2.2.5版本以后(包括2.2.5版本)加入-->
- <receiver
- android:name="com.xiaomi.push.service.receivers.NetworkStatusReceiver"
- android:exported="true" >
- <intent-filter>
- <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
- <category android:name="android.intent.category.DEFAULT" />
- </intent-filter>
- </receiver>
- <receiver
- android:name="com.xiaomi.push.service.receivers.PingReceiver"
- android:exported="false"
- android:process=":pushservice" >
- <intent-filter>
- <action android:name="com.xiaomi.push.PING_TIMER" />
- </intent-filter>
- </receiver>
复制代码
五:注册小米推送
- MiPushClient.registerPush(this, Constants.XM_PUSH_APPID, Constants.XM_PUSH_APPKEY);
复制代码 六:上报证书和token
- String regid = MiPushClient.getRegId(this);
- Log.i("TAG","小米的regid"+regid);
- v2TIMOfflinePushConfig = new V2TIMOfflinePushConfig(Config.MI_PUSH_BUZID, regid);
- V2TIMManager.getOfflinePushManager().setOfflinePushConfig(v2TIMOfflinePushConfig, new V2TIMCallback() {
- @Override
- public void onError(int code, String desc) {
- Log.i(TAG,"上报离线推送失败,错位代码:"+code+desc);
- }
- @Override
- public void onSuccess() {
- Log.i(TAG,"上报离线推送TOKEN成功");
- }
- });
复制代码
按照以上步骤就完成了离线推送服务,完成后可以在腾讯云后台的 辅助工具-》离线推送自查 检测证书配置是否正确和用户状态,也可以通过回调函数的返回值查看
|
|