1. 程式人生 > >Android 使用極光推送整合、出現問題和後臺保活

Android 使用極光推送整合、出現問題和後臺保活

今天接入極光推送學習一下,就發現的問題一起探討 主要包含了註冊、接入、sdk版本獲取失敗、後臺保活介紹

接入的時候還是按照官方接入流程,主要就是一下三步

註冊

註冊極光推送賬號

建立應用(記錄自己的appkey)

根據平臺設定推送設定,主要是設定一個包名(這個包名一定要和自己的app設定成一樣的,一定要檢查好,最好建立好專案的時候再進行設定,保證一致)

接入

1、匯入jar和so檔案

  • 解壓縮 jpush-android-release-3.x.y.zip 整合壓縮包。
  • 複製 libs/jcore-android_v1.x.y.jar 到工程 libs/ 目錄下。
  • 複製 libs/jpush-android_v3.x.y.jar 到工程 libs/ 目錄下。
  • 複製 libs/(cpu-type)/libjcore1xy.so 到你的工程中存放對應cpu型別的目錄下。
  • 複製 res/ 中drawable-hdpi, layout, values資料夾中的資原始檔到你的工程中 res/ 對應同名的目錄下。

說明 1:若沒有res/drawable-xxxx/jpush_notification_icon這個資源預設使用應用圖示作為通知icon,在5.0以上系統將應用圖示作為statusbar icon可能顯示不正常,使用者可定義沒有陰影和漸變色的icon替換這個檔案,檔名不要變。

說明 2:使用android studio的開發者,如果使用jniLibs資料夾匯入so檔案,則僅需將所有cpu型別的資料夾拷進去;如果將so檔案新增在module的libs資料夾下,注意在module的gradle配置中新增一下配置:

    android {
        ......
        sourceSets {
            main {
                jniLibs.srcDirs = ['libs']
                ......
            }
            ......
        }
        ......
    }

2、配置清單檔案

根據 SDK 壓縮包裡的 AndroidManifest.xml 樣例檔案,來配置應用程式專案的 AndroidManifest.xml 。

主要步驟為:

  • 複製備註為 "Required" 的部分
  • 將標註為“您應用的包名”的部分,替換為當前應用程式的包名
  • 將標註為“您應用的Appkey”的部分,替換為在Portal上註冊該應用的的Key,例如:9fed5bcb7b9b87413678c407

以上就基本完成,執行自己的app,檢視列印的日誌,看看有沒有問題

問題

1、sdk版本獲取失敗

使用android stuio 出現這樣的錯誤[JPushGloabl] Get sdk version fail![獲取sdk版本失敗!],如果出現這樣的問題


那麼請首先檢視註冊時推送設定裡面相應平臺的包名和自己的是否一致。

其次最好將libs拷貝的內容查驗,如果沒有問題,建議重新拷貝

最好就是接入的時候的說明2.

後臺保活

1、請檢查收不到通知的手機:


請在logcat檢視日誌,確定客戶端的jpush是否整合成功,網路是否有問題
請看日誌或使用介面 isPushStopped來檢查是否呼叫了stoppush
檢查手機的JPush高階設定中是否設定了“允許推送時間”
手機的應用中是否勾選了“顯示通知”

2、第三方系統收不到推送的訊息


由於第三方 ROM 的管理軟體需要使用者手動操作
小米【MIUI】
自啟動管理:需要把應用加到【自啟動管理】列表,否則殺程序或重新開機後進程無法開啟
通知欄設定:應用預設都是顯示通知欄通知,如果關閉,則收到通知也不會提示
華為【Emotion】
自啟動管理:需要把應用加到【自啟動管理】列表,否則殺程序或重新開機後進程不會開啟,只能手動開啟應用
後臺應用保護:需要手動把應用加到此列表,否則裝置進入睡眠後會自動殺掉應用程序,只有手動開啟應用才能恢復執行
通知管理:應用狀態有三種:提示、允許、禁止。禁止應用則通知欄不會有任何提醒
魅族【Flyme】
自啟動管理:需要把應用加到【自啟動管理】列表,否則殺程序或重新開機後進程發開啟
通知欄推送:關閉應用通知則收到訊息不會有任何展示