Android之集成友盟推送功能
友盟是中國最大的移動(dòng)開發(fā)者服務(wù)平臺(tái),為移動(dòng)開發(fā)者提供免費(fèi)的應(yīng)用統(tǒng)計(jì)分析、社交分享、消息推送、自動(dòng)更新、在線參數(shù)、移動(dòng)推廣效果分析、微社區(qū)等app開發(fā)和運(yùn)營(yíng)解決方案。
如何快速集成友盟推送功能:
1. 注冊(cè)友盟賬號(hào)
 友盟開發(fā)者賬號(hào)的注冊(cè)地址:http://www.umeng.com/users/sign_up
 
2. 創(chuàng)建推送應(yīng)用
首先進(jìn)入友盟消息推送的應(yīng)用中心,創(chuàng)建一個(gè)應(yīng)用,鏈接地址為:http://message.umeng.com/appList。
應(yīng)用創(chuàng)建完成后,點(diǎn)擊應(yīng)用名稱進(jìn)入應(yīng)用詳情頁面,進(jìn)入“應(yīng)用信息”頁面,可以看到應(yīng)用的AppKey和AppMasterSecret。
 
 
3. 下載Android SDK
 友盟消息推送android SDK下載地址:
 
 http://dev.umeng.com/push/ios/sdk-download
 
4. 集成開發(fā)
參考http://dev.umeng.com/push/android/integration進(jìn)行集成開發(fā)。
4.1 導(dǎo)入SDK所需的jar包
導(dǎo)入jar包的過程中,如果是ADT 17或者以上的版本,只需要將com.umeng.message.lib.jar直接復(fù)制到項(xiàng)目的libs下面,這樣做之后,ADT能自動(dòng)找到所有在libs文件夾下的JAR包,把他們加到工程的依賴路徑中,并直接顯示在Android Dependecies分類下。
切記,右鍵Properties -> Java Build Path -> Libraries,然后點(diǎn)擊Add External JARs...?選擇指向jar的路徑,點(diǎn)擊OK,這種方式導(dǎo)入后,會(huì)出現(xiàn)異常,具體原因請(qǐng)參考http://blog.csdn.net/luckily01/article/details/8566956
4.2 配置AndroidManifest.xml,添加相應(yīng)的權(quán)限
 
 
4.3 添加組件
在application標(biāo)簽下,注意將[應(yīng)用包名]換成自己的應(yīng)用的包名:
<receiverandroid: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> <receiver android:name="com.umeng.message.BootBroadcastReceiver" ><intent-filter><action android:name="android.intent.action.BOOT_COMPLETED" /></intent-filter> </receiver> 可以根據(jù)需要自行設(shè)置 android:label 中的服務(wù)名 :<serviceandroid:name="com.umeng.message.UmengService"android:label="PushService" android:exported="true" android:process=":pushService_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> <serviceandroid:name="org.android.agoo.service.ElectionService"android:exported="true"android:process=":pushService_v1" ><intent-filter><action android:name="org.agoo.android.intent.action.ELECTION_V2" /></intent-filter> </service> <service android:name="com.umeng.message.UmengIntentService" /> <!-- V1.3.0添加的service,負(fù)責(zé)下載通知的資源 --> <service android:name="com.umeng.message.UmengDownloadResourceService" />
4.4 添加AppKey和Umeng Message Secret
在<application>標(biāo)簽下:
<meta-dataandroid:name="UMENG_APPKEY"android:value="你的APPKEY" > </meta-data> <meta-dataandroid:name="UMENG_MESSAGE_SECRET"android:value="你的Umeng Message Secret" > </meta-data>5. 添加代碼,編譯測(cè)試5.1 在應(yīng)用的主Activity onCreate() 函數(shù)中開啟推送服務(wù)
PushAgent mPushAgent = PushAgent.getInstance(context); mPushAgent.enable();
5.2 獲取設(shè)備的Device Token(可選)如果在測(cè)試或其他使用場(chǎng)景中,需要獲取設(shè)備的Device Token,可以使用下面的方法。
String device_token = UmengRegistrar.getRegistrationId(context)
說明
- 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。
- 如果返回值為空, 說明設(shè)備還沒有注冊(cè)成功, 需要等待幾秒鐘,同時(shí)請(qǐng)確保測(cè)試手機(jī)網(wǎng)絡(luò)暢通。
 
 
Device Token可以通過5.2的步驟獲取
5.4 發(fā)送測(cè)試消息
在測(cè)試消息下新建測(cè)試消息:
 
 
 確保測(cè)試設(shè)備網(wǎng)絡(luò)暢通后,消息推送成功:
 
 
 
 測(cè)試成功!
 
總結(jié)
以上是生活随笔為你收集整理的Android之集成友盟推送功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Android之RxJava(一)
- 下一篇: Android之screenOrient
