前言
目前Android應用在后臺殺死行程之后,就收不到通知了,想要接收訊息推送,需要集成各個廠商的推送SDK,本次講解華為集成最新教程
1.配置AppGallery Connect
1)注冊成為開發者
在開發應用前需要在華為開發者聯盟網站上注冊成為開發者并完成實名認證,具體方法請參見帳號注冊認證,注冊完之后創建專案和創建應用,
2)生成簽名證書指紋
簽名證書指紋用于校驗應用的真實性,您需要根據簽名證書在本地生成簽名證書指紋,并在應用上架前將簽名證書指紋配置到AppGallery Connect,
官方給的方式太復雜,建議用Android studio生成jks簽名檔案就行了,然后獲取其SHA256指紋,如圖:

3)配置簽名證書指紋
點擊我的專案,在專案串列中點擊需要配置簽名證書指紋的應用,如圖:

配置完成記得點擊后面的對勾,
4)設定資料處理位置
您使用推送服務需要設定默認資料處理位置,如果不設定,基于主題、iOS應用的發送功能將不可用,當前支持選擇的區域有中國、德國、俄羅斯和新加坡,如果設定的資料處理位置與您的服務器位置不一致,或者設定的資料處理位置與應用所服務的用戶所在地不一致,都會導致推送訊息下發時延增加,
5)開通推送服務
點擊您的專案,前往“專案設定 > API管理”中開啟“推送服務”權限,

在左側導航欄選擇“增長 > 推送服務”,點擊“立即開通”,在彈出的提示框中點擊“確定”,

2.集成HMS Core SDK
1)在“專案設定 > 常規”頁面的“應用”區域,點擊“agconnect-services.json”下載組態檔,

2)將“agconnect-services.json”檔案拷貝到應用級根目錄下,

3)打開Android Studio專案級“build.gradle”檔案,

添加HUAWEI agcp插件以及Maven代碼庫,
在“buildscript > repositories”中配置HMS Core SDK的Maven倉地址,
在“allprojects > repositories”中配置HMS Core SDK的Maven倉地址,
如果App中添加了“agconnect-services.json”檔案則需要在“buildscript > dependencies”中增加agcp插件配置,
buildscript {
repositories {
google()
jcenter()
// 配置HMS Core SDK的Maven倉地址,
maven {url 'https://developer.huawei.com/repo/'}
}
dependencies {
...
// 增加agcp插件配置,
classpath 'com.huawei.agconnect:agcp:1.4.2.300'
}
}
allprojects {
repositories {
google()
jcenter()
// 配置HMS Core SDK的Maven倉地址,
maven {url 'https://developer.huawei.com/repo/'}
}
}
4)打開應用級的“build.gradle”檔案,

在“dependencies”中添加如下編譯依賴,
dependencies {
implementation 'com.huawei.hms:push:{version}'
}
添加agcp插件配置,請根據實際情況選擇:
方式一:在檔案頭部宣告下一行添加如下配置,
apply plugin: 'com.huawei.agconnect'
方式二:在plugins中添加如下配置,
plugins {
id 'com.android.application'
// 添加如下配置
id 'com.huawei.agconnect'
}
3.配置Manifest檔案
您需要在“AndroidManifest.xml”檔案的“application”標簽下注冊您自己的“service”,用于接收透傳訊息、獲取Token,該“service”繼承HmsMessageService類并實作其中的方法,此處以DemoHmsMessageService類為例(類名由您自定義),
“Android 11”更改了應用查詢用戶在設備上已安裝的其他應用以及與之互動的方式,您應用的“targetSdkVersion”是30或者更高版本時,需要在“AndroidManifest.xml”中“manifest”內添加標簽,使應用可以訪問HMS Core(APK),
<manifest ...>
...
<application ...>
<service android:name=".DemoHmsMessageService" android:exported="false">
<intent-filter>
<action android:name="com.huawei.push.action.MESSAGING_EVENT"/>
</intent-filter>
</service>
</application>
...
<queries>
<intent>
<action android:name="com.huawei.hms.core.aidlservice" />
</intent>
</queries>
...
</manifest>
4.配置混淆腳本
在應用級根目錄下打開混淆組態檔“proguard-rules.pro”,加入排除HMS Core SDK的混淆配置腳本,
-ignorewarnings
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.huawei.hianalytics.**{*;}
-keep class com.huawei.updatesdk.**{*;}
-keep class com.huawei.hms.**{*;}
如果您使用了AndResGuard,需要在應用級的“build.gradle”檔案中加入AndResGuard允許清單,
"R.string.hms*",
"R.string.connect_server_fail_prompt_toast",
"R.string.getting_message_fail_prompt_toast",
"R.string.no_available_network_prompt_toast",
"R.string.third_app_*",
"R.string.upsdk_*",
"R.layout.hms*",
"R.layout.upsdk_*",
"R.drawable.upsdk*",
"R.color.upsdk*",
"R.dimen.upsdk*",
"R.style.upsdk*",
"R.string.agc*"
以上就是華為推送配置的全部資訊,小米推送請參考Android集成小米推送教程
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/291335.html
標籤:其他
上一篇:Android 畫中畫(視頻)
