JavaBuildPath->Libraries,然后點(diǎn)擊AddExternalJARs...選擇指向jar' />
App消息推送
下載最新版SDK的zip包,將其中的libs 文件夾合并到本地工程libs
子目錄下,再在Eclipse里面刷新一下工程。
注意
Eclipse ADT 17 以下版本用戶,可以使用老方式添加工程引用。
Eclipse
用戶鼠標(biāo)右鍵工程根目錄,選擇Properties -> Java Build Path -> Libraries
,然后點(diǎn)擊Add External JARs...
選擇指向jar的路徑,點(diǎn)擊OK
,即導(dǎo)入成功。 如果引用過(guò)程中出現(xiàn)問(wèn)題, 可以參考Dealing with dependencies in Android projects.Android Studio 以及Gradle 用戶請(qǐng)參考如何引用第三方類庫(kù)說(shuō)明, 暫不提供 maven 支持。
本SDK需要最新版本的
android-support-v4.jar
支持包。請(qǐng)?jiān)诠こ讨刑砑?nbsp;android-support-v4.jar
支持包。 關(guān)于v4 支持包說(shuō)明, 請(qǐng)參考 http://developer.android.com/tools/support-library/features.html#v4 .
標(biāo)簽下與消息推送相關(guān)的組件包名。
在
標(biāo)簽下:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
說(shuō)明
- 下面兩個(gè)權(quán)限為消息推送SDK V1.2.3版本中添加的權(quán)限,新版中已經(jīng)不需要這兩個(gè)權(quán)限。
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.REORDER_TASKS" />
在
標(biāo)簽下:
注意
添加組件時(shí)需要將【應(yīng)用包名】替換為你自己應(yīng)用的包名。
<receiver
android:name="com.umeng.message.NotificationProxyBroadcastReceiver"
android:exported="false" >
receiver>
<receiver android:name="com.umeng.message.RegistrationReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
intent-filter>
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
intent-filter>
receiver>
<receiver android:name="com.umeng.message.UmengBroadcastReceiver" >
<intent-filter>
<action android:name="org.agoo.android.intent.action.RECEIVE" />
intent-filter>
<intent-filter>
<action android:name="【應(yīng)用包名】.intent.action.COMMAND" />
intent-filter>
<intent-filter>
<action android:name="org.agoo.android.intent.action.RE_ELECTION_V2" />
intent-filter>
receiver>
<service
android:name="com.umeng.message.UmengService"
android:exported="true"
android:process=":umengService_v1" >
<intent-filter>
<action android:name="【應(yīng)用包名】.intent.action.START" />
intent-filter>
<intent-filter>
<action android:name="【應(yīng)用包名】.intent.action.COCKROACH" />
intent-filter>
<intent-filter>
<action android:name="org.agoo.android.intent.action.PING" />
intent-filter>
service>
<service
android:name="org.android.agoo.service.ElectionService"
android:exported="true"
android:process=":umengService_v1" >
<intent-filter>
<action android:name="org.agoo.android.intent.action.ELECTION_V2" />
intent-filter>
service>
<service android:name="com.umeng.message.UmengIntentService" />
<service android:name="com.umeng.message.UmengDownloadResourceService" />
在
標(biāo)簽下:
<meta-data
android:name="UMENG_APPKEY"
android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx" >
meta-data>
<meta-data
android:name="UMENG_MESSAGE_SECRET"
android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx" >
meta-data>
說(shuō)明
請(qǐng)?jiān)?nbsp;http://message.umeng.com 創(chuàng)建應(yīng)用,獲取應(yīng)用對(duì)應(yīng)的AppKey和Umeng Message Secret。
你可以用Channel ID來(lái)標(biāo)識(shí)APP的推廣渠道,作為推送消息時(shí)給用戶分組的一個(gè)維度。設(shè)置方法如下:
在
標(biāo)簽下:
<meta-data
android:name="UMENG_CHANNEL"
android:value="Channel ID" >
meta-data>
將"android:value"中的"Channel ID"替換為APP的推廣渠道。
或者,通過(guò)調(diào)用以下代碼來(lái)設(shè)置推廣渠道。
mPushAgent.setMessageChannel();
說(shuō)明
- 若同時(shí)在AndroidManifest.xml和代碼設(shè)置了MessageChannel,則以代碼設(shè)置的為準(zhǔn)。
- 若在AndroidManifest.xml和代碼里均沒(méi)有設(shè)置,則使用Unknown作為Channel ID。
- 你可以使用20位以內(nèi)的英文和數(shù)字為渠道定名(不要使用純數(shù)字)。
- 友盟消息推送可以和友盟統(tǒng)計(jì)分析共用一個(gè)"Channel ID"字段。
- 你可以使用友盟渠道打包工具,一次生成多個(gè)渠道包。
在應(yīng)用的主Activity onCreate()
函數(shù)中開(kāi)啟推送服務(wù)
PushAgent mPushAgent = PushAgent.getInstance(context);
mPushAgent.enable();
mPushAgent.disable();
來(lái)關(guān)閉客戶端的通知服務(wù)。mPushAgent.isEnabled()
來(lái)查詢狀態(tài)。 狀態(tài)表示有沒(méi)有啟用/關(guān)閉推送功能, 不表示推送后臺(tái)服務(wù)的運(yùn)行狀態(tài)。注意
如果你的應(yīng)用繼承了Application, 不要在Application
onCreate()
中調(diào)用mPushAgent.enable();
. 由于SDK 設(shè)計(jì)的邏輯, 這會(huì)造成循環(huán)。
在所有的Activity 的onCreate
函數(shù)添加
PushAgent.getInstance(context).onAppStart();
注意: 如果不調(diào)用此方法,將會(huì)導(dǎo)致按照"幾天不活躍"條件來(lái)推送失效。
如果在測(cè)試或其他使用場(chǎng)景中,需要獲取設(shè)備的Device Token,可以使用下面的方法。
String device_token = UmengRegistrar.getRegistrationId(context)
說(shuō)明
- Device Token為友盟生成的用于標(biāo)識(shí)設(shè)備的id,長(zhǎng)度為44位,不能定制和修改。同一臺(tái)設(shè)備上每個(gè)應(yīng)用對(duì)應(yīng)的Device Token不一樣。
- 獲取Device Token的代碼需要放在
mPushAgent.enable();
后面,注冊(cè)成功以后調(diào)用才能獲得Device Token。- 如果返回值為空, 說(shuō)明設(shè)備還沒(méi)有注冊(cè)成功, 需要等待幾秒鐘,同時(shí)請(qǐng)確保測(cè)試手機(jī)網(wǎng)絡(luò)暢通。
添加代碼完畢后,編譯apk包。然后將apk包安裝到聯(lián)網(wǎng)的測(cè)試設(shè)備上并打開(kāi)。
說(shuō)明
如果在編譯和調(diào)試過(guò)程中遇到問(wèn)題(例如混淆或無(wú)法編譯),請(qǐng)參考步驟7中常見(jiàn)問(wèn)題的處理方法。
可以在Debug模式下輸出的logcat中看到Device Token,也可以使用下面的方法來(lái)獲取Device Token。
String device_token = UmengRegistrar.getRegistrationId(context)
說(shuō)明
- Device Token為友盟生成的用于標(biāo)識(shí)設(shè)備的id,長(zhǎng)度為44位,不能定制和修改。同一臺(tái)設(shè)備上每個(gè)應(yīng)用對(duì)應(yīng)的Device Token不一樣。
- 獲取Device Token的代碼需要放在
mPushAgent.enable();
后面,注冊(cè)成功以后調(diào)用才能獲得Device Token。- 如果返回值為空, 說(shuō)明設(shè)備還沒(méi)有注冊(cè)成功, 需要等待幾秒鐘,同時(shí)請(qǐng)確保測(cè)試手機(jī)網(wǎng)絡(luò)暢通。
在友盟消息推送服務(wù)后臺(tái)( http://message.umeng.com )的“測(cè)試模式”中填寫該設(shè)備的Device Token,將該設(shè)備添加為測(cè)試設(shè)備,
在“測(cè)試模式”中發(fā)送測(cè)試消息。在測(cè)試設(shè)備上收到消息,表明SDK集成成功。
說(shuō)明
SDK 默認(rèn)使用通知欄展示通知消息,開(kāi)發(fā)者可以在友盟后臺(tái)指定用戶點(diǎn)擊通知欄時(shí)的操作,包括“打開(kāi)應(yīng)用”、“打開(kāi)指定頁(yè)面(Activity)”、或“打開(kāi)指定網(wǎng)頁(yè)”。 如果沒(méi)有收到消息,請(qǐng)參考FAQ中的處理方法。
如果要使用API對(duì)接友盟服務(wù)器來(lái)發(fā)送消息,需要在友盟消息推送服務(wù)后臺(tái)( http://message.umeng.com )填寫服務(wù)器地址,進(jìn)行白名單登記。 參考API文檔中的格式發(fā)送測(cè)試消息。需要填寫正確的App Master Secret。
在友盟后臺(tái),消息分為兩類:
1. 通知消息
該消息包含Notification所需的參數(shù),如Notification的標(biāo)題、內(nèi)容、是否振動(dòng)、點(diǎn)擊后的相應(yīng)動(dòng)作等信息。如下圖所示:
推薦文章
2024-11-28
2024-06-25
2024-01-04
2023-11-06
2023-10-30
2023-10-13
2023-10-10
穩(wěn)定
產(chǎn)品高可用性高并發(fā)貼心
項(xiàng)目群及時(shí)溝通專業(yè)
產(chǎn)品經(jīng)理1v1支持快速
MVP模式小步快跑承諾
我們選擇聲譽(yù)堅(jiān)持
10年專注高端品質(zhì)開(kāi)發(fā)聯(lián)系我們
友情鏈接: