本文教大家集成環信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/