日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Google推送通道集成

本文介紹如何接入Google推送通道。

準(zhǔn)備工作

  • 已經(jīng)按照Android SDK接入完成了移動推送SDK的接入。

  • 已經(jīng)在Firebase創(chuàng)建項目,如未創(chuàng)建請登錄Firebase創(chuàng)建項目,在左側(cè)導(dǎo)航欄選擇Cloud Messaging,進入Google推送服務(wù)。在當(dāng)前項目下新增App,下載對應(yīng)App的google-services.json文件。記錄google-services.json文件中的”project_number”, “mobilesdk_app_id”,“project_id”,“current_key”這四個key對應(yīng)的value, 分別記錄為sendId/applicationId/projectId/apiKey。

    google

  • 已經(jīng)在Firebase控制臺的項目設(shè)置中獲取服務(wù)器密鑰。如未獲取請參考:

    image

  • 已經(jīng)在EMAS控制臺配置了GCM/FCM服務(wù)器密鑰,如未配置,請登錄EMAS移動推送控制臺,設(shè)置您的GCM/FCM服務(wù)器密鑰,設(shè)置方法參見配置廠商通道密鑰。

第一步:將SDK添加到您的應(yīng)用

我們提供了Maven依賴和本地依賴兩種集成方式,方便您根據(jù)需要將SDK添加到您的應(yīng)用中。

說明
  • 建議開發(fā)者采用Maven依賴方式進行集成,配置簡單,不容易出問題,后續(xù)更新方便。

  • 3.2.0及以上版輔助通道擴展包以aar形式透出,省去manifest文件配置,減少出錯概率。

  • 3.2.2版本之前,OPPO通道依賴包已內(nèi)置在alicloud-android-third-push-oppo中,無需單獨添加。

1 Maven依賴方式

在您的模塊(應(yīng)用級)Gradle 文件(通常是<project>/<app-module>/build.gradle)中,在dependencies中添加SDK依賴。

重要
dependencies {
    implementation 'com.aliyun.ams:alicloud-android-third-push:x.x.x'
    implementation 'com.aliyun.ams:alicloud-android-third-push-fcm:x.x.x'
}

2 本地依賴方式

2.1 下載SDK

參考下載和集成SDK,選擇移動推送進行下載,將SDK包內(nèi)所有文件拷貝至您的模塊(應(yīng)用級)的<project>/<app-module>/libs目錄下。

2.2 添加SDK依賴

2.2.1 配置本地SDK目錄

在您的模塊(應(yīng)用級)Gradle 文件(通常是<project>/<app-module>/build.gradle)中,添加本地SDK文件目錄地址。

repositories {
  flatDir {
    dirs 'libs'
  }
}

2.2.2 添加SDK依賴

在您的模塊(應(yīng)用級)Gradle 文件(通常是<project>/<app-module>/build.gradle)中,的dependencies中添加SDK依賴。

dependencies {
    implementation(name: 'alicloud-android-third-push-x.x.x', ext: 'aar')
    implementation(name: 'alicloud-android-third-push-fcm-x.x.x', ext: 'aar')
    implementation ('com.google.firebase:firebase-messaging:x.x.x')
}

第二步:配置使用SDK

1 SDK初始化

重要
  • 接入前手機必須安裝Google Paly Services,否則注冊不成功,大部分中國內(nèi)地Android手機的谷歌服務(wù)已被剝離。

  • SDK初始化務(wù)必在Application中執(zhí)行且放在推送SDK初始化代碼之后,否則可能導(dǎo)致輔助通道注冊失敗。

  • 移動推送SDK版本為3.7.7之前的用戶,在升級過程中,需更新代碼中的sendId、applicationId、projectId、apiKey參數(shù),參數(shù)獲取方式請參見:GCM/FCM場景說明。

通過如下方式進行初始化:

//GCM/FCM輔助通道注冊
//sendId/applicationId/projectId/apiKey 請查看準(zhǔn)備工作中的信息
GcmRegister.register(applicationContext, sendId, applicationId, projectId, apiKey);
//GCM/FCM輔助通道注冊
//sendId/applicationId/projectId/apiKey 請查看準(zhǔn)備工作中的信息
GcmRegister.register(applicationContext, sendId, applicationId, projectId, apiKey); 
說明

注冊方法不會自動判斷是否支持Google系統(tǒng)推送,需自行判斷;或者在其他廠商通道初始化都返回false的情況下再執(zhí)行。

2 混淆配置

如果集成推送SDK的工程開啟了代碼混淆,需要添加以下輔助通道的Proguard配置。

# GCM/FCM通道
-keep class com.google.firebase.**{*;}
-dontwarn com.google.firebase.**

第三步:接入驗證

1 打開SDK日志

val pushService = PushServiceFactory.getCloudPushService()
//僅適用于Debug包,正式包不需要此行
pushService.setLogLevel(CloudPushService.LOG_DEBUG)
CloudPushService pushService = PushServiceFactory.getCloudPushService();
//僅適用于Debug包,正式包不需要此行
pushService.setLogLevel(CloudPushService.LOG_DEBUG);      

2 確認(rèn)成功方法

GCM/FCM通道初始化成功,可以看到以下日志:

05-19 19:18:44.530 19153-19177/com.xxx D/MPS:GcmRegister: fcm token is eWIXLYCNP0Q:APA91bFUAgxj6XYf5okyoCBnRPw1UwITndzXrvPDgbdI2N44PYm17hFEBiNXNQJrJ8bOG_xjw3c3UPDAhzNMTLNjlAKcjUanKyLA6E3k4wEmgZuhgUT02UMmMvH2LVA1L2Z4-l-cT_Ug

收到GCM/FCM通道下發(fā)的消息:

05-19 19:20:04.900 19153-20391/com.alibaba.push2 D/MPS:GcmRegister: onReceiveMessage payload msg:[......]

后續(xù)步驟

您已經(jīng)可以通過EMAS后臺將推送通知通過輔助通道推送到手機通知欄,但是要處理點擊通知后的邏輯,只能通過輔助彈窗來接收推送數(shù)據(jù),詳情請參見輔助彈窗接入

重要
  • 使用移動推送進行廠商通道推送時(使用移動推送控制臺或者OpenAPI進行推送時),服務(wù)端請必須參考輔助彈窗文檔進行服務(wù)端配置,服務(wù)端參數(shù)不設(shè)置,不會給廠商通道進行推送。

GCM/FCM場景說明

使用原生Android系統(tǒng)

  • 常規(guī)使用時,應(yīng)用前臺運行,或者多任務(wù)管理中關(guān)閉應(yīng)用(殺進程),或者應(yīng)用后臺運行,都可以使用GCM/FCM通道推送到。

  • 設(shè)置應(yīng)用管理強制關(guān)閉應(yīng)用,應(yīng)用將無法自啟動,所以此時推送無法收到,可以看到如下日志提示,意思是強制關(guān)閉的應(yīng)用不能喚起。

    GCM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE flg=0x10000000 pkg=com.aliyun.emas.pocdemo (has extras) }
  • 開啟電池性能優(yōu)化時,可以設(shè)置是否允許應(yīng)用后臺運行:允許后臺運行時,推送通道不受影響,應(yīng)用是否殺進程都可以收到推送。不允許后臺運行時,殺進程操作,系統(tǒng)會當(dāng)成強制關(guān)閉應(yīng)用來處理應(yīng)用的運行狀態(tài),此時可能無法收到推送。

使用設(shè)備廠商的Android系統(tǒng)

中國內(nèi)地部分廠商定制了Android系統(tǒng),在這些系統(tǒng)中會把殺進程操作,當(dāng)成強制關(guān)閉應(yīng)用來處理,最終會導(dǎo)致GCM/FCM通道無法送達。此時建議接入對應(yīng)廠商通道來提高應(yīng)用殺進程后的推送到達率,比如華為、小米等。

輔助通道常見問題

Android端輔助通道和彈窗問題的排查步驟

Android端輔助通道SDK與其他廠商SDK沖突

Android端阿里云移動推送與其他注冊廠商如何同時獲取regId

Android端輔助通道收到推送通知后單擊通知無法打開相應(yīng)Activity

Android端輔助彈窗啟動報解析body異常

在集成移動推送輔助通道后顯示"register not in main process,return"