android studio集成極光推送的操作步驟
之前使用的是小米推送,感覺還不錯,集成簡單,這次使用極光推送,看文檔,很多用不到的東西看的好亂,所以這次記錄:
第一、在極光配置信息,我是因為iso先創(chuàng)建應(yīng)用了,我直接配置自己的信息就行,就填寫一個包名。
第二、build.gradle文件的配置:
android { ...... defaultConfig { ........ manifestPlaceholders = [ JPUSH_PKGNAME : “應(yīng)用包名”,//JPush上注冊的包名 JPUSH_APPKEY : '你的appkey', //JPush上注冊的包名對應(yīng)的appkey. JPUSH_CHANNEL : 'developer-default', //暫時填寫默認(rèn)值即可. ] ...... } ......} 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 版本為例。}
第三、自定義自己的廣播接收器(若是項目只需要接受通知,這一步可以忽略,一般都會有點(diǎn)擊通知欄跳轉(zhuǎn)不同界面)自定義的廣播接收器:接收消息和點(diǎn)擊等等都會到接收器
注意:這里有一個坑,不自定義,默認(rèn)點(diǎn)擊會啟動應(yīng)用
接收自定義消息需要:
String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);
才可以獲得自定義消息,如果直接在intent處斷點(diǎn)查看后臺推送的消息是看不到任何數(shù)據(jù)的(這個坑我弄了好久,一直以為是后臺沒有推送到消息);下面主要對接收推送消息、點(diǎn)擊通知欄消息、穿透消息做了處理,這里根據(jù)公司要求處理就行。
第四、就是在application中初始化推送
第五、AndroidManifest的配置:官方文檔這里有點(diǎn)亂,不知道要寫那些,按我寫的就可以了。
<permission android:name='您應(yīng)用的包名.permission.JPUSH_MESSAGE' android:protectionLevel='signature' /> <uses-permission android:name='您應(yīng)用的包名.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 版本的應(yīng)用在6.0 系統(tǒng)上 層疊窗口權(quán)限 --> <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' /> <!-- 接收網(wǎng)絡(luò)變化 連接/斷開 since 1.6.3 --> <action android:name='cn.jpush.android.intent.CONNECTION' /> <category android:name='您應(yīng)用的包名' /> </intent-filter> </receiver> <meta-data android:name='JPUSH_APPKEY' android:value='您應(yīng)用的Appkey'/>
第六、設(shè)置別名和標(biāo)簽,設(shè)置別名和標(biāo)簽還有其他方法,我這里使用的是這一種,它是一種覆蓋設(shè)置。具體可以去看極光的文檔,這塊挺簡單的。
//設(shè)置激光推送的別名和標(biāo)簽Set<String> tags = new HashSet<>();tags.add(“標(biāo)簽”);JPushInterface.setAliasAndTags(APPApplication.getInstance(), “別名”, tags, null);
退出登錄時:
//注銷別名和標(biāo)簽JPushInterface.setAliasAndTags(APPApplication.getInstance(), '', null, null);
至此就完成了極光推送的集成,哪里有不對的地方可以留言。
這里說一個問題:我在廣播接收器中l(wèi)og打印東西,不知什么原因一直沒打印出來,我以為是廣播接收不到推送,但是有通知欄提示的,搜了好多注冊不成功的問題浪費(fèi)了很多時間;所以自己遇到一個問題感覺沒問題就想想是不是其他原因。
以上這篇android studio集成極光推送的操作步驟就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. php使用正則驗證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)2. asp.net core 認(rèn)證和授權(quán)實(shí)例詳解3. Jsp+Servlet實(shí)現(xiàn)文件上傳下載 文件列表展示(二)4. XML在語音合成中的應(yīng)用5. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁6. 基于PHP做個圖片防盜鏈7. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)車輛管理系統(tǒng)8. ASP.NET MVC把數(shù)據(jù)庫中枚舉項的數(shù)字轉(zhuǎn)換成文字9. jscript與vbscript 操作XML元素屬性的代碼10. ASP將數(shù)字轉(zhuǎn)中文數(shù)字(大寫金額)的函數(shù)
