1. 程式人生 > >教你一步步整合友盟+推送(UPUSH)

教你一步步整合友盟+推送(UPUSH)

因為安卓的開源的原因,很多廠商都自己定製了自己的系統,以至於安卓的碎片化特別嚴重。今天我們要講的是推送這個功能,訊息推送在Android開發中應用的場景是越來越多了,比如說電商產品進行活動宣傳、資訊類產品進行新聞推送等等,

1. 主流的第三方推送平臺分類

  • 手機廠商類:小米推送、華為推送。
  • 第三方平臺類:友盟推送、極光推送、雲巴(基於MQTT)
  • BAT大廠的平臺推送:阿里雲移動推送、騰訊信鴿推送、百度雲推送

2. 對比其他推送方式的特點

其他推送方式還有:C2DM、輪詢、SMS、MQTT協議、XMPP協議等等,相對於這些推送方式,第三方推送方式的特點分別是:

  • 優點:
    1. 成本低
      上述的推送大多數是免費的,假如自己實現則消耗過多資源(開發成本和後臺管理、統計成本)
    2. 訊息到達率高
      如果一個手機裡有多個App使用了同一家推送服務,那麼這些App將共用一條訊息通道,即使你家的App推送服務被殺死了,那麼只要使用者打開了其他整合該推送服務的App,你家的推送就能到達使用者
  • 缺點
    1. 安全性低
      使用別人的伺服器,所以你懂的。
    2. 服務會被殺死
      由於Android系統的機制,後臺推送 Service 會被各種主動的或是被動的行為給殺死,而服務一旦被殺死,意味著就接收不到推送訊息。

3.1 手機廠商推送

請記住一個潛規則:作業系統是不會殺死屬於自己品牌的推送服務。

  1. 手機廠商的推送服務在自家的手機上屬於系統級別的服務,這意味著系統不會殺死自家的推送服務
  2. 比如說,Android原生系統是不會殺死C2DM訊息推送服務,MIUI系統是不會殺死小米的推送服務。

3.2 第三方平臺類

請記住一個規則:推送系統會共享一條推送渠道

  1. 這意味著假設你接入了友盟推送,而恰好今日頭條也接入了友盟。
  2. 有一天你的App被殺死了,但這時使用者啟動了今日頭條,那麼推送系統也就會通過共享的推送通道順便把你推送訊息送達到手機上,然後還可能把你的程序也喚醒(被“保活”了)。

所以說,關於如何選擇第三方平臺類的推送,推送平臺的規模效應就很重要了。
那如何得知他們的規模和市場份額呢?

所以為了推送的高到達率,很多應用都集成了不同廠商的推送服務。但是這樣的開發時間太大了。友盟就基於這個需求,推出了最新的推送服務友盟聚合推送,其中同步集合和小米、華為、魅族的推送,下面我們就來講一下,怎麼整合友盟聚合推送。

一、準備工作

1、進入友盟官方網站點選開啟友盟官方連結,在友盟平臺註冊一個賬號

2、在友盟官網進入產品,選擇訊息推送(U-PUSH)


3、進入SDK下載頁面,下載對應的SDK

我這裡講解的是安卓的整合,下載的是安卓的SDK

4、解壓下載下來的壓縮包,檔案列表如下:

5、登入了使用者後開啟

點選開啟連結進入立即使用,建立一個應用,得到應用對應的資訊

二、AndroidStudio完整整合友盟聚合推送

1、新建一個Android工程專案

2、複製common資料夾下的umeng-common-1.5.1.jar和thirdparties資料夾下的utdid4all-1.1.5.3_proguard.jar這兩個jar包到專案app的libs資料夾下。

3、把push作為一個分支新增到專案中

4、點選專案源路徑下的settiongs.gradle把分支新增到專案中,include ':app',':push',開啟app路徑下的build.gradle,在檔案的dependencies{implementation project(':push')}新增分支的依賴。

5、新建一個類MyApplication繼承Application,同時在AndroidManifest.xml的application下新增程式碼:android:name=".MyApplication"配置使用我們自定義的Application。並且在application節點下加入如下程式碼:

<meta-data
            android:name="UMENG_APPKEY"
            android:value="填入你建立應用後,友盟給你的值"/>
        <meta-data
            android:name="UMENG_MESSAGE_SECRET"
            android:value="填入你建立應用後,友盟給你的值" />

並且在AndroidManifest.xml清單檔案下新增需要用到的許可權如下:

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.GET_TASKS" />

6、在MyApplication的onCreate()方法下初始化和註冊友盟聚合推送

UMConfigure.init(this,UMConfigure.DEVICE_TYPE_PHONE, "你在友盟申請的UMENG_MESSAGE_SECRET");
        PushAgent mPushAgent = PushAgent.getInstance(this);
        mPushAgent.setResourcePackageName("你應用的applicationId");
        mPushAgent.register(new IUmengRegisterCallback() {
            @Override
            public void onSuccess(String s) {
                Log.e("獲取token成功:",s);
            }

            @Override
            public void onFailure(String s, String s1) {
                Log.e("獲取token失敗:",s+"且s1="+s1);
            }
        });

7、使用一個可以聯網的手機或模擬器執行專案。檢視log列印臺的訊息,看是否獲取token成功,如果是獲取token失敗:-11 accs bindapp error! 那麼檢測填寫的包名是否和你在友盟平臺建立的應用包名一致,如果一致,那麼檢視填寫的appKey和message_sectet是否正確。

8、如果是獲取token成功:AnEsKx52L4rULIYSjLkF7qU55_rv2qPTZsgbifcrxvcq 後面的這串字元是當前接入的裝置號。把這段裝置號複製下來。在U-PUSH的管理平臺裡新增一個裝置用於測試


點選進入對應的專案選中測試模式

新增測試裝置。裝置號就是剛剛複製的那一串。

9、編輯推送資訊進行推送功能測試。正常到這裡就整合完成了。

相關推薦

步步整合+UPUSH

因為安卓的開源的原因,很多廠商都自己定製了自己的系統,以至於安卓的碎片化特別嚴重。今天我們要講的是推送這個功能,訊息推送在Android開發中應用的場景是越來越多了,比如說電商產品進行活動宣傳、資訊類產品進行新聞推送等等,1. 主流的第三方推送平臺分類手機廠商類:小米推送、華

步步整合UPUSH

本文來教你一步步整合Android的友盟推送功能: 1.首先將UPush的SDK下載下來(開發文件有對應的下載位置)。 2.解壓後的目錄: 3.將  PushSDK 作為 Moudle匯入你的專案:

整合android

這幾天專案要整合友盟推送,官網雖然有很全文件 ,但是不夠詳細,寫個部落格記錄一下。 使用感受 *文件不那麼詳細,不那麼通熟易懂。 *推送訊息傳送,延遲好高! *訊息狀態即使顯示為傳送成功了,到達客戶端也許還是要等。 *沒有說清楚各個方法會在什麼時候呼叫。 *首先去官網 開

概率論與數理統計步步貝葉斯公式

參考資料:《概率論與數理統計》 陳希孺  2000.3/2016.8 1,概率是什麼?      概率是表示某種情況出現的可能性大小的一種數量指標,它介於0和1之間。 概

前端仔步步實現人人對戰五子棋小遊戲【canvas詳細版】

線上地址--gobang online pc上使用谷歌瀏覽器比較友好@~@ 程式碼倉庫--gobang tutorial 歡迎對此倉庫進行擴充套件或star啦 @~@ 前置知識點: 阮生的es6教程和MDN的canvas教程 以上,兵馬未動,糧草先行。看官可以先體驗下小遊戲並且粗略瞭解

嵌入式Linux USB驅動開發之步步編寫USB驅動程式

編寫與一個USB裝置驅動程式的方法和其他匯流排驅動方式類似,驅動程式把驅動程式物件註冊到USB子系統中,稍後再使用製造商和裝置標識來判斷是否安裝了硬體。當然,這些製造商和裝置標識需要我們編寫進USB 驅動程式中。 USB 驅動程式依然遵循裝置模型 —— 匯流排、裝置、驅動

步步搞定win7環境下RobotFramework的環境搭建

一、安裝Python 因為Robot Framework框架是基於Python語言開發的,所以這個是前提 注意事項: 1、  需要選擇Python2; 2、  安裝Python2.7.9/Python3.X時,選中最後一項(我安裝的時候沒有仔細看,所以沒有選)可以自動新增

整合小米華為魅族系統通道

前言 大家做過安卓推送服務的都知道,如果安卓裝置想要收到推送,就要與伺服器建立一個長連線通道(莫非你想輪詢??)。一旦app被殺掉,維持長連線通道的pushservice服務也會被幹掉,所以裝置就處於離線狀態,也就收不到任何推送。 說到安卓,不得不提蘋果,為

SDK整合測試、常見問題以及注意事項總結

      最近為了解決公司APP在一些手機出現的推送問題重新集成了最新版的友盟推送SDK,花費了幾天時間終於把整合和測試工作完成,最終在華為,Nexus,三星,小米,HTC,魅族等10多部手機上測試並達到了預想效果,這裡把期間遇到的問題和整合注意事項記錄下來方便自己總結和

Android 步步搭建MVP+Retrofit+RxJava網路請求框架

之前公司的專案用到了MVP+Retrofit+RxJava的框架進行網路請求,所以今天特此寫一篇文章以做總結。相信很多人都聽說過MVP、Retrofit、以及RxJava,有的人已經開始用了,有的人可能還不知道這是什麼,以及到底怎麼用。不過沒關係,接下來我將為你一一揭開他們的神祕面紗,然後利用這三個傢伙搭建

AppDelegate減負之常用三方封裝 -

uia 臃腫 ant mic span 接收 常用 epo nil 之前分享過集成友盟推送的方法, 需要的朋友可以查看一下鏈接: http://www.cnblogs.com/zhouxihi/p/6533058.html 一般開發中我們比較多使用的三方有友盟推送, 友

Android

tegra mod agent pro message gpu 消息 alert 返回 當前版本號:v3.0.5 1.下載SDK解壓並導入(import module,compile project(‘:PushSDK‘)),裏面有demo,用demo的包名去官網添加一個應

遇到的問題

1、整合友盟推送,獲取不到token 解決:引入友盟pushSDk庫時,發現sdk庫Manifest.xml檔案中的許可權沒有引入到專案中,通過apktool反編譯,發現Manifest.xml中的許可權沒有合併到專案中 2、友盟推送訊息,後臺顯示傳送已送達,但是手機沒有顯示 通過日誌排

android進階4step3:Android常用框架——簡單使用(官翻)

友盟官方:快速整合文件 還有之前寫的極光推送的簡單使用:Android常用框架——極光推送的簡單使用 使用步驟: 第一步:.登入註冊友盟的賬號,並繫結郵箱   官網 第二步:以下拷貝自友盟官方文件 前言 【友盟+】訊息推送SDK 5.0.2 整合文件。

炒現飯之的簡單實現

萬能的第三方第一步:註冊賬號並建立應用拿到app_key和app_secret 第二步:下載SDK 第三步:將下載的檔案解壓,裡面有一個PushSDK,將其作為module匯入專案中 第四步:配置manifast <meta-d

iOS 播放自定義提示音(小白必讀)

越來越多的APP開始使用自己的推送提示音,下面咱就來試試。侷限型:說到推送提示音,挺多的人都會想,在收到推送的時候播放一個音訊檔案不就OK啦。這種方法有個弊端,而且可以分為兩種情況1.APP處於前臺活躍狀態:系統推送預設的提示音和自己播放的音訊檔案都會響起2.APP處於後臺或

實現訊息的完全自定義處理

1,下面的前提是必須申請了友盟且有app key 3,若開發者需要實現對訊息的完全自定義處理,則可以繼承 UmengBaseIntentService, 實現自己的Service來完全控制達到訊息的處理。     1,實現一個類,繼承 UmengBaseIntentSe

android 無法獲取token -----無法接受到訊息---

用著好好的友盟推送服務,突然間接受不到推送訊息。 首先排查了是否獲取到 token。如果獲取不到token,肯定是無法獲取到推送訊息的,因為推送訊息是一句token。增加了列印,發現沒有獲取到token。 然後回退版本,發現是可以獲取token,能收到推送。  接下來,就是

用Cocosdx匯出安卓安裝檔案.apk

我也是剛弄出來,過程可能有點混亂和不詳細,我盡我所能寫完整。各位看官多多包涵 裝置環境: 我所用的是mac 10.8.5    64位 Cocosdx-3.0rc2 xcode 5.0 一、準備

php android程式碼

部分文件參閱友盟   記得在友盟後臺新增你的 ip ,否則無法推送成功 public function index() { $body = array( 'tic