1. 程式人生 > 程式設計 >android studio整合極光推送的操作步驟

android studio整合極光推送的操作步驟

之前使用的是小米推送,感覺還不錯,整合簡單,這次使用極光推送,看文件,很多用不到的東西看的好亂,所以這次記錄:

第一、在極光配置資訊,我是因為iso先建立應用了,我直接配置自己的資訊就行,就填寫一個包名。

android studio整合極光推送的操作步驟

第二、build.gradle檔案的配置:

android {
 ......
 defaultConfig {
 ........
  manifestPlaceholders = [
   JPUSH_PKGNAME : “應用包名”,//JPush上註冊的包名
   JPUSH_APPKEY : "你的appkey",//JPush上註冊的包名對應的appkey.
   JPUSH_CHANNEL : "developer-default",//暫時填寫預設值即可.
  ]
  ......
 }
 ......
}
 
dependencies {
//極光推送
 compile 'cn.jiguang.sdk:jpush:3.0.9' // 此處以JPush 3.0.9 版本為例。
 compile 'cn.jiguang.sdk:jcore:1.1.7' // 此處以JCore 1.1.7 版本為例。
}

第三、自定義自己的廣播接收器(若是專案只需要接受通知,這一步可以忽略,一般都會有點選通知欄跳轉不同介面)自定義的廣播接收器:接收訊息和點選等等都會到接收器

注意:這裡有一個坑,不自定義,預設點選會啟動應用

接收自定義訊息需要:

String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);

才可以獲得自定義訊息,如果直接在intent處斷點檢視後臺推送的訊息是看不到任何資料的(這個坑我弄了好久,一直以為是後臺沒有推送到訊息);下面主要對接收推送訊息、點選通知欄訊息、穿透訊息做了處理,這裡根據公司要求處理就行。

android studio整合極光推送的操作步驟

第四、就是在application中初始化推送

android studio整合極光推送的操作步驟

第五、AndroidManifest的配置:官方文件這裡有點亂,不知道要寫那些,按我寫的就可以了。

<permission
  android:name="您應用的包名.permission.JPUSH_MESSAGE"
  android:protectionLevel="signature" />
 <uses-permission android:name="您應用的包名.permission.JPUSH_MESSAGE" />
 <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.WAKE_LOCK" />
 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.VIBRATE" />
 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <uses-permission android:name="android.permission.WRITE_SETTINGS" />
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 
 <!-- Optional. Required for location feature -->
 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 用於開啟 debug 版本的應用在6.0 系統上 層疊視窗許可權 -->
 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
 <uses-permission android:name="android.permission.GET_TASKS" />
 
 
 <receiver
    android:name="您自己定義的Receiver"
    android:enabled="true">
    <intent-filter>
     <!--Required 使用者註冊SDK的intent-->
     <action android:name="cn.jpush.android.intent.REGISTRATION" />
     <!--Required 使用者接收SDK訊息的intent-->
     <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" />
     <!--Required 使用者接收SDK通知欄資訊的intent-->
     <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" />
     <!--Required 使用者開啟自定義通知欄的intent-->
     <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" />
     <!-- 接收網路變化 連線/斷開 since 1.6.3 -->
     <action android:name="cn.jpush.android.intent.CONNECTION" />
     <category android:name="您應用的包名" />
    </intent-filter>
   </receiver>
 <meta-data android:name="JPUSH_APPKEY" android:value="您應用的Appkey"/>

第六、設定別名和標籤,設定別名和標籤還有其他方法,我這裡使用的是這一種,它是一種覆蓋設定。具體可以去看極光的文件,這塊挺簡單的。

//設定鐳射推送的別名和標籤

Set<String> tags = new HashSet<>();
tags.add(“標籤”);
JPushInterface.setAliasAndTags(APPApplication.getInstance(),“別名”,tags,null);

退出登入時:

//登出別名和標籤JPushInterface.setAliasAndTags(APPApplication.getInstance(),"",null,null);

至此就完成了極光推送的整合,哪裡有不對的地方可以留言。

這裡說一個問題:我在廣播接收器中log列印東西,不知什麼原因一直沒打印出來,我以為是廣播接收不到推送,但是有通知欄提示的,搜了好多註冊不成功的問題浪費了很多時間;所以自己遇到一個問題感覺沒問題就想想是不是其他原因。

以上這篇android studio整合極光推送的操作步驟就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。