小米開放平臺(tái)
- 登錄小米開放平臺(tái)賬號(hào)崎淳,點(diǎn)擊應(yīng)用服務(wù)-消息推送-立即體驗(yàn)
Push服務(wù).png
- 創(chuàng)建應(yīng)用
創(chuàng)建應(yīng)用.png
填寫應(yīng)用信息.png
- 啟用推送服務(wù)
啟用.png
- 找到APPID、Key 以及 SecretKey灰嫉。
id讹躯、key.png
極光推送
- 創(chuàng)建應(yīng)用
創(chuàng)建應(yīng)用.png
2.選擇推送服務(wù)
推送服務(wù).png
- 填寫App包名,以及勾選配置廠商(此處以小米為例)后节预,最下方提示尚未配置棚饵,點(diǎn)擊進(jìn)行配置
勾選廠商.png
- 填寫配置信息(在小米開放平臺(tái)獲取到的 id拍摇、secret 以及 key 填寫上)亮钦,點(diǎn)擊保存后,右上角會(huì)出現(xiàn)一個(gè)啟用的按鈕充活,點(diǎn)擊啟用蜂莉。點(diǎn)擊下一步,完成配置混卵。
填寫配置.png
一定要打開啟用.png
項(xiàng)目配置
- 在
module
的gradle
中添加依賴等
apply plugin: 'com.android.application'
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "wang"
...
ndk {
//選擇要添加的對(duì)應(yīng) cpu 類型的 .so 庫映穗。
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
// 還可以添加 'x86', 'x86_64', 'mips', 'mips64'
}
// 千萬不要去掉前綴` 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'
}
- 在
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>
- 在
AndroidManifest
中配置配置繼承JPushMessageReceiver
的廣播
<!-- Required since 3.0.7 -->
<!-- 新的 tag/alias 接口結(jié)果返回需要開發(fā)者配置一個(gè)自定的廣播 -->
<!-- 3.3.0開始所有事件將通過該類回調(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>
- 初始化推送服務(wù)
public class ExampleApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
JPushInterface.setDebugMode(true);
JPushInterface.init(this);
}
}
- 驗(yàn)證
驗(yàn)證.png
- 注意:點(diǎn)擊通知跳轉(zhuǎn),獲取附加字段
onCreate()
獲取getIntent().getExtras().getString("JMessageExtra")
// 通過極光通道點(diǎn)開,獲取如下
{"key":"123"}
// 通過廠商通道赘淮,獲取如下
{
"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}"
}