Android極光推送(接入小米廠商)

小米開放平臺(tái)

  1. 登錄小米開放平臺(tái)賬號(hào),點(diǎn)擊應(yīng)用服務(wù)-消息推送-立即體驗(yàn)
Push服務(wù).png
  1. 創(chuàng)建應(yīng)用
創(chuàng)建應(yīng)用.png

填寫應(yīng)用信息.png
  1. 啟用推送服務(wù)
啟用.png
  1. 找到APPID、Key 以及 SecretKey。
id、key.png

極光推送

  1. 創(chuàng)建應(yīng)用
創(chuàng)建應(yīng)用.png

2.選擇推送服務(wù)

推送服務(wù).png
  1. 填寫App包名,以及勾選配置廠商(此處以小米為例)后,最下方提示尚未配置,點(diǎn)擊進(jìn)行配置
勾選廠商.png
  1. 填寫配置信息(在小米開放平臺(tái)獲取到的 id、secret 以及 key 填寫上),點(diǎn)擊保存后,右上角會(huì)出現(xiàn)一個(gè)啟用的按鈕,點(diǎn)擊啟用。點(diǎn)擊下一步,完成配置。
填寫配置.png

一定要打開啟用.png

項(xiàng)目配置

  1. modulegradle中添加依賴等
apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.2"

    defaultConfig {
        applicationId "wang"
        ...

        ndk {
            //選擇要添加的對(duì)應(yīng) cpu 類型的 .so 庫(kù)。
            abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
            // 還可以添加 'x86', 'x86_64', 'mips', 'mips64'
        }

        // 千萬(wàn)不要去掉前綴` MI- ` 
        manifestPlaceholders = [
                JPUSH_PKGNAME : applicationId,
                JPUSH_APPKEY : "2e5242949a5d5ecbe70fd034", //JPush 上注冊(cè)的包名對(duì)應(yīng)的 Appkey.
                JPUSH_CHANNEL : "developer-default",//暫時(shí)填寫默認(rèn)值即可
                XIAOMI_APPID : "MI-小米的APPID",
                XIAOMI_APPKEY : "MI-小米的APPKEY"
        ]

    }

    ...
}

dependencies {
    ...

    implementation 'cn.jiguang.sdk:jcore:2.9.0'
    implementation 'cn.jiguang.sdk:jpush:4.3.0'
    // 接入小米廠商
    // 此要與jpush版本號(hào)保持一致
    implementation 'cn.jiguang.sdk.plugin:xiaomi:4.3.0'
}

  1. AndroidManifest 中配置一個(gè)Service
     <!-- Since JCore2.0.0 Required SDK核心功能-->
        <!-- 可配置android:process參數(shù)將Service放在其他進(jìn)程中;android:enabled屬性不能是false -->
        <!-- 這個(gè)是自定義Service,要繼承極光JCommonService,可以在更多手機(jī)平臺(tái)上使得推送通道保持的更穩(wěn)定 -->
        <service android:name="xx.xx.XService"
                android:enabled="true"
                android:exported="false"
                android:process=":pushcore">
                <intent-filter>
                    <action android:name="cn.jiguang.user.service.action" />
                </intent-filter>
        </service>    
  1. AndroidManifest 中配置配置繼承JPushMessageReceiver的廣播
     <!-- Required since 3.0.7 -->
        <!-- 新的 tag/alias 接口結(jié)果返回需要開發(fā)者配置一個(gè)自定的廣播 -->
        <!-- 3.3.0開始所有事件將通過(guò)該類回調(diào) -->
        <!-- 該廣播需要繼承 JPush 提供的 JPushMessageReceiver 類, 并如下新增一個(gè) Intent-Filter -->
        <receiver
            android:name="自定義 Receiver"
            android:enabled="true" 
            android:exported="false" >
            <intent-filter>
                    <action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" />
                    <category android:name="您應(yīng)用的包名" />
            </intent-filter>
        </receiver>
  1. 初始化推送服務(wù)
public class ExampleApplication extends Application {
    @Override
        public void onCreate() {
            super.onCreate();
            JPushInterface.setDebugMode(true);
            JPushInterface.init(this);
       }
   }

  1. 驗(yàn)證
驗(yàn)證.png
  1. 注意:點(diǎn)擊通知跳轉(zhuǎn),獲取附加字段

onCreate()獲取getIntent().getExtras().getString("JMessageExtra")

// 通過(guò)極光通道點(diǎn)開,獲取如下
{"key":"123"}
// 通過(guò)廠商通道,獲取如下
{
    "n_extras": {
        "key": "123"
    },
    "n_title": "通知標(biāo)題",
    "n_content": "通知內(nèi)容",
    "msg_id": 90074111111111,
    "rom_type": 1,
    "_j_data_": "{\"data_msgtype\":1,\"push_type\":4,\"is_vip\":0}"
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容