umeng友盟消息推送功能集成

umeng友盟消息推送功能集成(本人使用的是eclipse開發)android

1.首先請自行觀看友盟消息推送集成的API文檔。

  觀看地址以下:app

2.集成步驟以下

  •    下載sdk

        注意:有兩種sdk若是用戶已經集成支付寶的就下載no-uid版本的sdkeclipse

        下載地址:http://download.csdn.net/detail/lr393993507/9634730工具

  •    解壓下載好的文件,而且把 PushSDK 和 eclipselibs 兩文件夾下的libs包拷貝到android的lib目錄下  

             如圖 測試

            

  • 修改android下的AndroidManifest.xml文件

     增長以下內容:ui

  1 <?xml version="1.0" encoding="utf-8"?>
  2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3     package="com.umeng.message.lib"
  4     android:versionCode="1"
  5     android:versionName="1.0" >
  6 
  7     <!-- 必選 -->
  8     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
  9     <uses-permission android:name="android.permission.INTERNET" />
 10     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 11     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 12     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 13     <uses-permission android:name="android.permission.WAKE_LOCK" />
 14     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
 15     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
 16     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
 17     <uses-permission android:name="android.permission.GET_TASKS" />
 18     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
 19 
 20     <!-- 可選 -->
 21     <uses-permission android:name="android.permission.BROADCAST_PACKAGE_ADDED" />
 22     <uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED" />
 23     <uses-permission android:name="android.permission.BROADCAST_PACKAGE_INSTALL" />
 24     <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED" />
 25     <uses-permission android:name="android.permission.RESTART_PACKAGES" />
 26     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
 27     <uses-permission android:name="android.permission.VIBRATE" />
 28     <uses-permission android:name="android.permission.SEND_SMS" />
 29     <uses-permission android:name="android.permission.RECEIVE_SMS" />
 30     <uses-permission android:name="android.permission.READ_SMS" />
 31 
 32     <application android:allowBackup="true" >
 33         <receiver
 34             android:name="com.umeng.message.NotificationProxyBroadcastReceiver"
 35             android:exported="false" >
 36         </receiver>
 37         <receiver
 38             android:name="com.umeng.message.SystemReceiver"
 39             android:process=":push" >
 40             <intent-filter>
 41                 <action android:name="android.intent.action.BOOT_COMPLETED" />
 42             </intent-filter>
 43             <intent-filter>
 44                 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
 45             </intent-filter>
 46             <intent-filter>
 47                 <action android:name="android.intent.action.PACKAGE_REMOVED" />
 48 
 49                 <data android:scheme="package" />
 50             </intent-filter>
 51         </receiver>
 52         <receiver
 53             android:name="com.umeng.message.MessageReceiver"
 54             android:exported="false"
 55             android:process=":push" >
 56             <intent-filter>
 57                 <action android:name="org.agoo.android.intent.action.RECEIVE" />
 58             </intent-filter>
 59         </receiver>
 60         <receiver
 61             android:name="com.umeng.message.ElectionReceiver"
 62             android:process=":push" >
 63             <intent-filter>
 64                 <action android:name="org.agoo.android.intent.action.ELECTION_RESULT_V4" />
 65 
 66                 <category android:name="umeng" />
 67             </intent-filter>
 68         </receiver>
 69         <receiver
 70             android:name="com.umeng.message.RegistrationReceiver"
 71             android:exported="false" >
 72             <intent-filter>
 73                 <action android:name="${applicationId}.intent.action.COMMAND" />
 74             </intent-filter>
 75         </receiver>
 76         <receiver android:name="com.umeng.message.UmengMessageBootReceiver" >
 77             <intent-filter>
 78                 <action android:name="android.intent.action.BOOT_COMPLETED" />
 79             </intent-filter>
 80         </receiver>
 81 
 82         <service
 83             android:name="com.umeng.message.UmengService"
 84             android:exported="true"
 85             android:label="PushService"
 86             android:process=":push" >
 87             <intent-filter>
 88                 <action android:name="${applicationId}.intent.action.START" />
 89             </intent-filter>
 90             <intent-filter>
 91                 <action android:name="${applicationId}.intent.action.COCKROACH" />
 92             </intent-filter>
 93             <intent-filter>
 94                 <action android:name="org.agoo.android.intent.action.PING_V4" />
 95 
 96                 <category android:name="umeng" />
 97             </intent-filter>
 98         </service>
 99         <service
100             android:name="com.umeng.message.UmengIntentService"
101             android:process=":push" />
102         <service
103             android:name="com.umeng.message.UmengMessageIntentReceiverService"
104             android:exported="true"
105             android:process=":push" >
106             <intent-filter>
107                 <action android:name="org.android.agoo.client.MessageReceiverService" />
108             </intent-filter>
109             <intent-filter>
110                 <action android:name="org.android.agoo.client.ElectionReceiverService" />
111             </intent-filter>
112         </service>
113         <service
114             android:name="com.umeng.message.UmengMessageCallbackHandlerService"
115             android:exported="false" >
116             <intent-filter>
117                 <action android:name="com.umeng.messge.registercallback.action" />
118             </intent-filter>
119             <intent-filter>
120                 <action android:name="com.umeng.message.unregistercallback.action" />
121             </intent-filter>
122             <intent-filter>
123                 <action android:name="com.umeng.message.message.handler.action" />
124             </intent-filter>
125             <intent-filter>
126                 <action android:name="com.umeng.message.autoupdate.handler.action" />
127             </intent-filter>
128         </service>
129         <!-- If you donot want to use the standard notification bar in SDK, you can define IntentService instead to handle message. -->
130 
131         <service
132             android:name="com.umeng.message.UmengDownloadResourceService"
133             android:exported="false" />
134         <service
135             android:name="com.umeng.message.local.UmengLocalNotificationService"
136             android:exported="false" />
137     </application>
138 
139 </manifest>

注意:this

  1. 把PushSDK目錄下的AndroidManifest.xml中的${applicationId}替換成爲本身項目的包名。
  2. 右鍵單擊PushSDK的libs目錄下的jar文件,選擇add to build path(若使用最新版本的ADT工具,則會自動將libs目錄下的jar包添加到build path,無需執行此步驟)。
  3. 在本身工程目錄下找到project.properties,在裏面加入manifestmerger.enabled=true,同時使主工程的minSdkVersion、targetSdkVersion與PushSDK的minSdkVersion、targetSdkVersion保持一致。
  • 配置Appkey和Secret

在工程的Application Module裏的AndroidManifest.xml中的<Application>標籤下添加:spa

<meta-data
    android:name="UMENG_APPKEY"
    android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
</meta-data>
<meta-data
    android:name="UMENG_MESSAGE_SECRET"
    android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
</meta-data>

把上述的UMENG_APPKEYUMENG_MESSAGE_SECRET的值修改成和本身應用對應的值。.net

  • 初始化PushSDK

務必在工程的Application類的 onCreate() 方法中開啓推送服務,不管推送是否開啓都須要調用此方法:code

mPushAgent = PushAgent.getInstance(this);  
mPushAgent.onAppStart();
mPushAgent.enable();  
String device_token = UmengRegistrar.getRegistrationId(this);//獲取手機device token 惟一的 

 

而後打包生成app,開始消息推送功能測試!

相關文章
相關標籤/搜索