極光推送總結:

?

官方文檔:

http://docs.jiguang.cn/jpush/client/Android/android_sdk/

?

手動集成步驟:

  • 解壓縮 jpush-android-release-2.x.y.zip 集成壓縮包。
  • 復制 libs/jpush-sdk-2.x.y.jar 到工程 libs/ 目錄下。
  • 復制 libs/(cpu-type)/libjpush2xy.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']......}......}......}

配置 AndroidManifest.xml

根據 SDK 壓縮包里的 AndroidManifest.xml 樣例文件,來配置應用程序項目的 AndroidManifest.xml 。

主要步驟為:

  • 復制備注為 "Required" 的部分
  • 將備注為替換包名的部分,替換為當前應用程序的包名
  • 將AppKey替換為在Portal上注冊該應用的的Key,例如(9fed5bcb7b9b87413678c407)

溫馨提示

如果使用android studio, 可在AndroidManifest中引用applicationId的值,在build.gradle配置中 defaultConfig節點下配置,如:

defaultConfig {applicationId "cn.jpush.example" // <--您應用的包名……}
<!--激光推送開始 -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission
android:name="com.lvshandian.huxinhoutai.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.lvshandian.huxinhoutai.permission.C2D_MESSAGE" />

<permission
android:name="com.lvshandian.huxinhoutai.permission.JPUSH_MESSAGE"
android:protectionLevel="signature" />
<!-- Required -->
<uses-permission android:name="com.lvshandian.huxinhoutai.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" />

<!--激光推送結束 -->
?
<!--極光推送開始-->

<!-- Rich push 核心功能 since 2.0.6 -->
<activity
android:name="cn.jpush.android.ui.PopWinActivity"
android:exported="false"
android:theme="@style/MyDialogStyle" />


<!-- Required SDK核心功能 -->
<activity
android:name="cn.jpush.android.ui.PushActivity"
android:configChanges="orientation|keyboardHidden"
android:exported="false"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="cn.jpush.android.ui.PushActivity" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.lvshandian.huxinhoutai" />
</intent-filter>
</activity>
<!-- Required SDK核心功能 -->
<service
android:name="cn.jpush.android.service.DownloadService"
android:enabled="true"
android:exported="false" />

<!-- Required SDK 核心功能 -->
<!-- 可配置android:process參數將PushService放在其他進程中 -->
<service
android:name="cn.jpush.android.service.PushService"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="cn.jpush.android.intent.REGISTER" />
<action android:name="cn.jpush.android.intent.REPORT" />
<action android:name="cn.jpush.android.intent.PushService" />
<action android:name="cn.jpush.android.intent.PUSH_TIME" />
</intent-filter>
</service>

<!-- since 1.8.0 option 可選項。用于同一設備中不同應用的JPush服務相互拉起的功能。 -->
<!-- 若不啟用該功能可刪除該組件,將不拉起其他應用也不能被其他應用拉起 -->
<service
android:name="cn.jpush.android.service.DaemonService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="cn.jpush.android.intent.DaemonService" />

<category android:name="com.lvshandian.huxinhoutai" />
</intent-filter>
</service>


<!-- Required SDK核心功能 -->
<receiver
android:name="cn.jpush.android.service.PushReceiver"
android:enabled="true"
android:exported="false">
<intent-filter android:priority="1000">
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
<!-- Required 顯示通知欄 -->
<category android:name="com.lvshandian.huxinhoutai" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
   <!-- Optional -->
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />

<data android:scheme="package" />
</intent-filter>
</receiver>

<!-- Required SDK核心功能 -->
<receiver
android:name="cn.jpush.android.service.AlarmReceiver"
android:exported="false" />

<!-- User defined. For test only 用戶自定義的廣播接收器-->
<receiver
android:name=".receiver.JpushReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="cn.jpush.android.intent.REGISTRATION" />
<!--Required 用戶注冊SDKintent-->
<action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" />
<!--Required 用戶接收SDK消息的intent-->
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" />
<!--Required 用戶接收SDK通知欄信息的intent-->
<action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" />
<!--Required 用戶打開自定義通知欄的intent-->
<action android:name="cn.jpush.android.intent.ACTION_RICHPUSH_CALLBACK" />
<!--Optional 用戶接受Rich Push Javascript 回調函數的intent-->
<action android:name="cn.jpush.android.intent.CONNECTION" />
<!-- 接收網絡變化 連接/斷開 since 1.6.3 -->
<category android:name="com.lvshandian.huxinhoutai" />
</intent-filter>
</receiver>
<!-- Required . Enable it you can get statistics data with channel -->
<meta-data
android:name="JPUSH_CHANNEL"
android:value="developer-default" />
<meta-data
android:name="JPUSH_APPKEY"
android:value="df28ed0fc4f9fe8b37078764" />
<!-- </>值來自開發者平臺取得的AppKey-->
<!-- 極光推送結束-->


//初始化
 
JPushInterface.init(mContext);
JPushInterface.setDebugMode(true);


@Override
protected void onPause() {
super.onPause();
JPushInterface.onPause(this);
}
 @Override
protected void onResume() {
super.onResume();
JPushInterface.onResume(this);
}
 

Android里配置:

sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
遇得到的問題:
1.極光推送集成不成功:
解決辦法:
查看包名是否一致,將包名全部替換;

2.初始化三處:

解決辦法:
1)在Application中初始化;
2)在第一個啟動的Activity中配置注冊極光;
3)在gradle中添加;

3.找不到os文件
解決辦法:
如果是主os文件,每個文件夾下都得復制一個;

4.推送消息不同
通知和自定義消息不同;











轉載于:https://www.cnblogs.com/huihuizhang/p/6049464.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270514.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270514.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270514.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

操作系統:Win10的沙盒是什么,如何使用,看完你就懂了

Win10操作系統新增的windows沙盒是一種安全機制&#xff0c;為執行中的程式提供的隔離環境。通常是作為一些來源不可信、具有破壞力或無法判定程序意圖的應用程序提供實驗之用。很多網友想要通過沙盒運行一些未知的程序&#xff0c;但是不知道windows沙盒如何開啟使用&#xff…

線程的調度

http://blog.chinaunix.net/uid-26430381-id-3746859.html 這篇文章解釋的很好轉載于:https://www.cnblogs.com/yzjT-mac/p/6054517.html

操作系統:電腦系統盤常見文件夾的功能詳解

目錄 一、C盤根目錄常見文件夾 二、隱藏文件夾 相信很多電腦小白對于系統C盤每個文件夾的功能不是很清楚&#xff0c;今天小編給大家介紹一下電腦系統盤文件的功能詳解&#xff0c;希望對大家能有所幫助&#xff01; 一、C盤根目錄常見文件夾 1、debug 是系統調試文件夾&#x…

mysql vba日期空值_使用SQL(VBA/ADO)命令填充來自重復記錄的相應非空值的NULL字段...

我有一個數據庫&#xff0c;其中有數百個記錄已被復制。但是&#xff0c;重復的信息在所有字段中都不相同。對于任何兩行&#xff0c;第一行將包含一些字段中的信息&#xff0c;而重復行的字段為空;但對于其他字段&#xff0c;重復(第二)行將包含信息&#xff0c;而第一行的字段…

js事件處理、事件對象

事件類型分類&#xff1a; 1 添加在html結構中的事件 <div id"div1" onclick"alert(append click event in html)"> </div> 點擊div1之后彈出 append click event in html&#xff1b;其實在html結構中添加的事件也屬于dom0級事件。 2 dom0級事…

手機技巧:手機只剩20%電量?有了這幾招,多用2小時

如今越來越多的小伙伴在旅途中和上班路上 免不了要用手機打發時間 看直播、打游戲、聽音樂 有了手機&#xff0c;仿佛就有了全世界 可是&#xff0c;手機的電不夠用怎么辦&#xff1f; 不怕&#xff01; 今天小編為您送上 最強省電攻略和充電指南&#xff01; 省電攻略 iphone篇…

網絡知識:電腦無線網連接不上問題匯總

在使用電腦的時候&#xff0c;有時候電腦可能連接不上無線網絡。那么電腦無線網絡連接不上怎么辦呢?下面就讓小編來告訴大家吧&#xff0c;歡迎閱讀。 第一步&#xff1a;應檢查無線網卡的驅動是否安裝正確。 右鍵點擊“我的電腦”-屬性-硬件-設備管理器&#xff0c;查看是否存…

小W計樹

排列組合思想. 先跑一遍最短路, 再從1節點開始搜索, 假如搜到一個點的路徑長度等于最短路, 則記錄到達該點的路徑數 1. 最后遍歷一遍, ans * rec[i] 輸出答案即可. 關鍵在于想到這個排列組合的思想. #include<cstdio> #include<cstring> #include<algorith…

java jsonp 接口_jsonp使用,spring4.x對jsonp的支持

1.java中接口RequestMapping("/token/{token}")ResponseBodypublic Object getUserByToken(PathVariable String token,String callback) {Person per null;try {per userService.getPerson(token);} catch (Exception e) {e.printStackTrace();per ExceptionUtil…

CPU知識:主頻、核心、線程、緩存、架構

我們都說CPU相當于人類的大腦&#xff0c;在日常生活中&#xff0c;人腦是術業有專攻&#xff0c;有人天生適合搞藝術&#xff0c;有人天生適合搞科學。CPU作為計算機的大腦&#xff0c;其實也是這樣的。下面就帶大家了解一下CPU知識以及怎么選擇合適的CPU。 CPU有幾個重要的參…

@SpringBootTest注解進行單元測試無法運行

1&#xff1a;用idea新建一個項目 2:在測試類下建一個方法&#xff0c;發現方法沒法運行 查看資料之后發現是需要在對應的方面名稱前面和類名前面加上public修飾符即可&#xff0c;需要測試那個方法執行哪個方法就行 3:加了 public發現可以運行了

java如何改注釋_關于Java:更改字符串值的注釋

在spring或java中是否有注釋可以轉換給定的字符串&#xff1f;例如&#xff0c;Spring具有注釋Value(" some string")。 如果我想為該字符串分配一個轉換后的值&#xff0c;而不是向參數/實例變量分配"某些字符串"怎么辦&#xff1f; 假設字符串為" f…

視頻接口:DP接口和HDMI接口介紹,看完你就懂了

目錄 一、DP接口 二、HDMI接口 三、總結 1、技術支持的不同 2、帶寬支持的不同 3、廠商制作成本的不同 電腦顯示器高清傳輸通過會用到兩個接口&#xff0c;就是DP接口和HDMI接口&#xff0c;今天電腦學習小編帶大家對比一下這兩個接口。 一、DP接口 DisplayPort縮寫DP&#xff…

區間型DP

區間型DP是一類經典的動態規劃問題&#xff0c;主要特征是可以先將大區間拆分成小區間求解最后由小區間的解得到大區間的解。 有三道例題 一、石子合并 在一個圓形操場的四周擺放N堆石子,現要將石子有次序地合并成一堆.規定每次只能選相鄰的2堆合并成新的一堆&#xff0c;并將新…

后端:MyBatis緩存知識介紹

今天給大家分享一下MyBatis緩存知識介紹&#xff0c;希望對大家日常的開發當中能有所幫助&#xff01;一、MyBatis一級緩存1、一級緩存介紹當我們的程序MyBatis開啟一次和數據庫的會話&#xff0c;MyBatis會自動創建出一個SqlSession對象表示這一次數據庫的會話。在同一個數據庫…

軟件:10款免費無廣告的看圖軟件,總有一款適合你

目錄 一、專業型看圖軟件 1.Windows照片 2.Honeyview 3.EzViewer 4.XnView MP 5.JPEGView 6.Irfan View 二、綜合型文件查看 1.Quicklook 2.愛奇藝萬能聯播 3.WPS圖片 4.谷歌瀏覽器 一、專業型看圖軟件 1.Windows照片 Windows自帶的照片應用就是一款比較強大的看圖軟件&#xf…

機器學習的簡單邏輯回歸的Advanced Optimization

Learning Course: One variable logistic regression optimization 單變量&#xff08;只有一個特征&#xff09;的用于分類的邏輯回歸的cost function的最小值求解, here: x[x1;x2]; y{0,1}; theta[theta(1);theta(2)] 由于分類中的y值需為0-1之間的數值&#xff0c;因此這里的…