本文教大家集成环信IM后如何实现小米、oppo推送。
一、小米推送
步骤一、在小米开放平台创建应用。
在 小米开放平台 创建应用,开启推送服务。详见小米官方网站的 推送服务接入指南。
步骤二、上传推送证书。
注册完成后,需要在环信即时通讯云控制台(https://console.easemob.com/user/register)上传推送证书,选择你的应用 —> 即时推送 —> 配置证书 —> 添加推送证书 —> 小米,然后输入你在 小米开放平台 创建的应用信息中的 App ID 和 Secret Key 以及程序的包名。
步骤三 集成小米推送 SDK
小米jar包 小米推送 SDK ,将 Jar 包添加到项目中。
声明小米本地包:
implementation files("libsllMiPush SDK Client 5 7 8-C 3rd.aar’)
步骤四、在AndroidManifest.xm添加以下权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE"/>
<permission android:name="com.xiaomi.mipushdemo.permission.MIPUSH_RECEIVE"
android:protectionLevel="signature" /> <!--这里 `com.xiaomi.mipushdemo` 改成 app 的包名-->
<uses-permission android:name="com.xiaomi.mipushdemo.permission.MIPUSH_RECEIVE" /><!--这里 `com.xiaomi.mipushdemo` 改成 app 的包名-->
注意:该区域需要替换成您自己的包名!
步骤五、推送服务需要配置的service和receiver
<serviceandroid:name="com.xiaomi.push.service.XMPushService"android:enabled="true"android:process=":pushservice" /><!--注:此 service 必须在小米推送 SDK 3.0.1 版本以后(包括小米推送 SDK 3.0.1 版本)加入-->
<serviceandroid:name="com.xiaomi.push.service.XMJobService"android:enabled="true"android:exported="false"android:permission="android.permission.BIND_JOB_SERVICE"android:process=":pushservice" /><!--注:com.xiaomi.xmsf.permission.MIPUSH_RECEIVE 这里的包名不能改为 app 的包名-->
<serviceandroid:name="com.xiaomi.mipush.sdk.PushMessageHandler"android:enabled="true"android:exported="true"android:permission="com.xiaomi.xmsf.permission.MIPUSH_RECEIVE" /><!--注:此 service 必须在小米推送 SDK 2.2.5 版本以后(包括小米推送 SDK 2.2.5 版本)加入-->
<serviceandroid:name="com.xiaomi.mipush.sdk.MessageHandleService"android:enabled="true" /><receiverandroid: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><receiverandroid: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>
注意:这部分直接粘贴即可
步骤六、添加此Reciver
注意:MiMsgReciver 是需要自己创建并且继承小米包提供的receiver
不知道继承哪个Receiver的小伙伴参考 引导图2
<receiver android:name=".common.receiver.MiMsgReceiver"><intent-filter><action android:name="com.xiaomi.mipush.RECEIVE_MESSAGE" /></intent-filter><intent-filter><action android:name="com.xiaomi.mipush.MESSAGE_ARRIVED" /></intent-filter><intent-filter><action android:name="com.xiaomi.mipush.ERROR" /></intent-filter>
</receiver>
引导图2:
步骤七、初始化添加
EMOptions options = new EMOptions();
...
EMPushConfig.Builder builder = new EMPushConfig.Builder(this);
builder.enableMiPush(String appId, String appKey);
// 将 pushconfig 设置为 ChatOptions
options.setPushConfig(builder.build());
// 初始化 IM SDK
EMClient.getInstance().init(this, options);
注意:初始化信息 builder.enableMiPush(String appId, String appKey)
引导图2:
二、OPPO推送详细步骤:
步骤一、上传推送证书。
注册完成后,需要在环信即时通讯云控制台上传推送证书,选择你的应用 —> 即时推送 —> 配置证书 —> 添加推送证书—> OPPO,然后输入你在 OPPO 开发者后台创建的应用的 appkey 和 mastersecret 以及程序的 包名,MasterSecret 需要到 OPPO 推送平台 - 配置管理 - 应用配置 页面查看。
注意:管理后台上传证书MasterSecret
引导图1:
引导图2:
步骤二、集成 OPPO 推送 SDK。
配置 OPPO 推送 jar 包:在 OPPO 推送官网下载推送 SDK 包,把 jar 包放到 libs 目录下并 sync 。也可以直接使用环信 Android IM Demo 中集成的 OPPO 推送的 jar 包。
OPPO的 jar包
引导图1:
引导图2:声明OPPO的aar包
implementation files('libs\\oppo_push_3.0.0.aar')
步骤三、添加需要权限
<!-- OPPO 推送配置 start -->
<uses-permission android:name="com.coloros.mcs.permission.RECIEVE_MCS_MESSAGE"/>
<uses-permission android:name="com.heytap.mcs.permission.RECIEVE_MCS_MESSAGE"/>
引导图1:
步骤四、添加Service
<service
android:name="com.heytap.msp.push.service.CompatibleDataMessageCallbackService"
android:permission="com.coloros.mcs.permission.SEND_MCS_MESSAGE">
<intent-filter><action android:name="com.coloros.mcs.action.RECEIVE_MCS_MESSAGE"/>
</intent-filter>
</service> <!--兼容 Q 以下版本--><service
android:name="com.heytap.msp.push.service.DataMessageCallbackService"
android:permission="com.heytap.mcs.permission.SEND_PUSH_MESSAGE">
<intent-filter><action android:name="com.heytap.mcs.action.RECEIVE_MCS_MESSAGE"/><action android:name="com.heytap.msp.push.RECEIVE_MCS_MESSAGE"/>
</intent-filter>
</service>
引导图1:
步骤五、初始化添加:
builder.enableOppoPush(String appKey,String appSecret);
EMOptions options = new EMOptions();
...
EMPushConfig.Builder builder = new EMPushConfig.Builder(this);
builder.enableOppoPush(String appKey,String appSecret);
// 将 pushconfig 设置为 ChatOptions
options.setPushConfig(builder.build());
// 初始化 IM SDK
EMClient.getInstance().init(this, options);
引导图1:
注意:enableOppoPush中 :appkey、appsecret 并不是Mastersecret
引导图2:
步骤六:添加oppo初始化
HeytapPushManager.init(context, true);
引导图1:
相关文档:
-
注册环信即时通讯IM:https://console.easemob.com/user/register
-
环信IM集成文档:https://docs-im-beta.easemob.com/document/ios/quickstart.html
-
IMGeek社区支持:https://www.imgeek.net/