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