JavaBuildPath->Libraries,然后點(diǎn)擊AddExternalJARs...選擇指向jar' />
  • <kbd id="qyk40"></kbd>
  • <strike id="qyk40"></strike><samp id="qyk40"><pre id="qyk40"></pre></samp>

    1. 導(dǎo)入SDK所需jar包

    下載最新版SDK的zip包,將其中的libs 文件夾合并到本地工程libs子目錄下,再在Eclipse里面刷新一下工程。

    注意

    • Eclipse ADT 17 以下版本用戶(hù),可以使用老方式添加工程引用。 Eclipse用戶(hù)鼠標(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 用戶(hù)請(qǐng)參考如何引用第三方類(lèi)庫(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 .

    2. 使用SDK包中的Demo進(jìn)行調(diào)試(可選)

    1. 導(dǎo)入SDK包中Demo的代碼到Eclipse。
    2. 用添加應(yīng)用時(shí)獲得的AppKey和Umeng Message Secret替換掉Demo中默認(rèn)的AppKey和Umeng Message Secret。
    3. 用添加應(yīng)用時(shí)填寫(xiě)的包名(多包名時(shí)根據(jù)需要填寫(xiě)其中一個(gè))替換Demo的包名(com.umeng.message.example)。包括:
      • AndroidManifest.xml文件中的"package"字段。
      • AndroidManifest.xml文件中的標(biāo)簽下與消息推送相關(guān)的組件包名。
      • Eclipse里的包名。
    4. 重新打包Demo。將Demo的apk包安裝到測(cè)試設(shè)備上并打開(kāi)。
    5. 參照步驟4.3的說(shuō)明,給該設(shè)備發(fā)送測(cè)試消息。

    3. 配置AndroidManifest.xml

    3.1 添加權(quá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" />
    

    3.2 添加組件

    標(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" />
    

    3.3 添加 AppKey 和 Umeng Message Secret

    標(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。

    3.4 添加Channel ID

    你可以用Channel ID來(lái)標(biāo)識(shí)APP的推廣渠道,作為推送消息時(shí)給用戶(hù)分組的一個(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位以?xún)?nèi)的英文和數(shù)字為渠道定名(不要使用純數(shù)字)。
    • 友盟消息推送可以和友盟統(tǒng)計(jì)分析共用一個(gè)"Channel ID"字段。
    • 你可以使用友盟渠道打包工具,一次生成多個(gè)渠道包。

    4. 添加代碼,編譯測(cè)試

    4.1 添加代碼

    4.1.1 開(kāi)啟推送服務(wù)

    在應(yīng)用的主Activity onCreate() 函數(shù)中開(kāi)啟推送服務(wù)

    PushAgent mPushAgent = PushAgent.getInstance(context);
    mPushAgent.enable();
    
    • 可以通過(guò)接口 mPushAgent.disable(); 來(lái)關(guān)閉客戶(hù)端的通知服務(wù)。
    • 通過(guò)mPushAgent.isEnabled() 來(lái)查詢(xún)狀態(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)。

    4.1.2 統(tǒng)計(jì)應(yīng)用啟動(dòng)數(shù)據(jù)

    在所有的Activity 的onCreate 函數(shù)添加

    PushAgent.getInstance(context).onAppStart();
    

    注意: 如果不調(diào)用此方法,將會(huì)導(dǎo)致按照"幾天不活躍"條件來(lái)推送失效。

    4.1.3 獲取設(shè)備的Device Token(可選)

    如果在測(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ò)暢通。

    4.2 編譯

    添加代碼完畢后,編譯apk包。然后將apk包安裝到聯(lián)網(wǎng)的測(cè)試設(shè)備上并打開(kāi)。

    說(shuō)明

    如果在編譯和調(diào)試過(guò)程中遇到問(wèn)題(例如混淆或無(wú)法編譯),請(qǐng)參考步驟7中常見(jiàn)問(wèn)題的處理方法。

    4.3 在測(cè)試模式中發(fā)送測(cè)試消息

    4.3.1 獲取測(cè)試設(shè)備的Device Token。

    可以在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ò)暢通。

    4.3.2 添加測(cè)試設(shè)備

    在友盟消息推送服務(wù)后臺(tái)( http://message.umeng.com )的“測(cè)試模式”中填寫(xiě)該設(shè)備的Device Token,將該設(shè)備添加為測(cè)試設(shè)備,

    4.3.3 發(fā)送測(cè)試消息

    在“測(cè)試模式”中發(fā)送測(cè)試消息。在測(cè)試設(shè)備上收到消息,表明SDK集成成功。

    說(shuō)明

    SDK 默認(rèn)使用通知欄展示通知消息,開(kāi)發(fā)者可以在友盟后臺(tái)指定用戶(hù)點(diǎn)擊通知欄時(shí)的操作,包括“打開(kāi)應(yīng)用”、“打開(kāi)指定頁(yè)面(Activity)”、或“打開(kāi)指定網(wǎng)頁(yè)”。 如果沒(méi)有收到消息,請(qǐng)參考FAQ中的處理方法。

    4.4 API對(duì)接(可選)

    如果要使用API對(duì)接友盟服務(wù)器來(lái)發(fā)送消息,需要在友盟消息推送服務(wù)后臺(tái)( http://message.umeng.com )填寫(xiě)服務(wù)器地址,進(jìn)行白名單登記。 參考API文檔中的格式發(fā)送測(cè)試消息。需要填寫(xiě)正確的App Master Secret。

    5. 自定義消息的打開(kāi)動(dòng)作和處理方式

    5.1 消息的分類(lèi)

    在友盟后臺(tái),消息分為兩類(lèi):

    1. 通知消息

    該消息包含Notification所需的參數(shù),如Notification的標(biāo)題、內(nèi)容、是否振動(dòng)、點(diǎn)擊后的相應(yīng)動(dòng)作等信息。如下圖所示:

    穩(wěn)定

    產(chǎn)品高可用性高并發(fā)

    貼心

    項(xiàng)目群及時(shí)溝通

    專(zhuān)業(yè)

    產(chǎn)品經(jīng)理1v1支持

    快速

    MVP模式小步快跑

    承諾

    我們選擇聲譽(yù)

    堅(jiān)持

    10年專(zhuān)注高端品質(zhì)開(kāi)發(fā)
    • 返回頂部
    精品久久洲久久久久护士| 精品欧洲av无码一区二区14| 一本大道无码日韩精品影视_| 国内精品久久人妻无码不卡| 国产 精品 自在 线| 国产精品毛片久久久久久久 | 人妻少妇精品无码专区| 中文字幕日韩精品麻豆系列| 99久久er热在这里只有精品99| 国产成人精品电影在线观看| 国产伦精品免编号公布| 一本一本久久aa综合精品| 久久精品国产清自在天天线| 精品国产不卡一区二区三区| 国产福利电影一区二区三区久久久久成人精品综合 | 日韩免费观看的一级毛片| 国产日韩久久免费影院| 国产福利vr专区精品| 国产成人麻豆精品午夜福利在线| 日韩精品一区二区三区国语自制| 成人无码精品一区二区三区| 国产精品无码亚洲精品2021| 国产精品无码2021在线观看| 日本精品无码一区二区三区久久久| 国产精品高清视亚洲一区二区 | 成人国产精品一区二区网站| 日韩制服丝袜在线观看| 国产成人综合日韩精品无码| 精品一区二区三区四区电影| 污污网站国产精品白丝袜| 日韩精品一区二区三区中文字幕| 日韩三级电影视频| 午夜成人精品福利网站在线观看| 亚洲?V乱码久久精品蜜桃 | 亚洲精品视频在线看| 国产精品玖玖美女张开腿让男人桶爽免费看 | 精品成人免费自拍视频| 国产成人精品视频一区二区不卡| 亚洲AV无码精品色午夜果冻不卡 | 久久国产精品无码HDAV| **毛片免费观看久久精品|