歡迎大家前往騰訊雲+社區,獲取更多騰訊海量技術實踐干貨哦~
推送服務基本上是每個 App 的剛需,自己也用過許多家推送服務,最近騰訊雲上線了一個類似於 firebase 的移動開發平台,上面集成了很多的移動服務,包括推送(底層支持即為信鴿)、Crash 上報、第三方登錄等。這里單獨抽出其中的推送服務和市面上幾家常見的推送服務進行一個簡單的比較,整體使用上來感覺還是不錯的,很順利的就集成到了我現有的 Android 項目中去。
騰訊移動開發平台
目前的推送服務很多,主要包括極光、友盟、個推、百度、小米等,基本上這些產品都不止包含了推送服務,基本上都是一個具有多種服務的移動開發平台,比如:
- 極光不止推送,還包含了統計、IM、短信和分享功能。
- 友盟也是一個整合了多個服務的移動開發平台,除了推送,還包括統計、分享等。
- 個推同樣整合了多種服務,包括推送、統計、用戶畫像、短信等,但奇怪的是個推不同服務之間應用是割裂的,比如說在推送服務中創建的應用在其他服務中不可見。
騰訊雲上的移動開發平台目前的服務有:分析、推送、Crash 上報、存儲、托管、計費和第三方登錄,基本上已經形成了閉環開發,后續可能還會上線實時數據庫和分享等功能,這點我非常看好,騰訊產品的體驗一直都還是很有保障的。
這里我們不以整個開發平台進行討論,只單獨拿出騰訊移動開發平台和極光、友盟以及個推的推送功能來進行比較,比較的范圍主要包括推送功能、集成難度、開發文檔、控制台體驗、服務收費幾個方面進行比較。
推送功能
這幾家的推送服務的基本功能是相似的,下面主要說下騰訊移動開發平台推送的主要功能:
- 支持通過控制台和后台 API 來給終端推送通知消息和透傳消息;
- 支持通過賬戶和標簽來進行推送;
- 支持華為、小米和魅族廠商通道,在這些廠商下的手機推送更加可靠;
- 支持添加通知樣式,添加樣式后,只需要通過樣式 ID 即可使用對應的樣式來進行推送。
- 支持本地推送消息:本地通知消息同樣會觸發回調。
- 各種回調相對清晰全面:用戶通過注冊 Receiver 來獲取推送服務以及通知的狀態,通知包括了:注冊以及反注冊回調、透傳消息和通知消息到達、通知消息點擊和刪除以及標簽綁定和解綁。
其他的推送平台功能上也基本和騰訊開發平台一致,可能會有一些額外的特殊功能,如 A/B Test 等,這里就不詳細介紹了。
集成難度
極光、友盟、個推三家的集成步驟基本相同,主要是如下四步:
- 在控制台上創建應用;
- 在 Android 項目中引入 SDK 依賴;
- 並將應用信息配置在項目中(通過設置 manifestPlaceholder);
- 初始化或者啟動推送;
騰訊的移動開發平台這方面的體驗會更好(其實也是和 firebase 的交互更加一致):
- 在控制台上創建應用。
- 添加配置文件:通過 json 文件來配置參數,用戶不需要自己手動添加 mainfestPlaceHolder。
- 添加 SDK 依賴:推送服務是自啟動的,不再需要用戶手動初始化或者啟動推送。
其實不止推送服務,騰訊的移動開發平台上其他的服務也基本上實現了零代碼集成。
開發文檔
推送服務在具體可以參見這里
在功能介紹上,極光、友盟、個推基本上都是糅雜在一個文檔中,看起來稍微有點費力,這里騰訊移動開發平台上的推送文檔按照功能點對文檔進行了拆解,將如快速入門、推送消息等功能拆分到不同的文檔中,這樣看起來會更加清晰,並且文檔中對每個功能點是否成功都做了驗證,用起來也會比較放心。
控制台體驗
移動開發平台的控制台一眼看過去很清爽,進入應用后左邊是一系列服務的列表,紅框內是推送服務的控制台功能:
- 創建推送:用於發送通知欄消息和透傳消息;
- 效果統計:可以看到推送的歷史數據以及統計數據;
- 精准推送:這里可以管理標簽,然后通過標簽來推送消息;
- 配置管理:這里可以配置廠商推送通道、測試設備以及推送的應用信息,這里還提供了調試工具幫助開發;
- 信鴿實驗室:將你的應用和行業進行橫向對比,實時了解自己應用在行業中所處的位置。
當然,極光、友盟和個推各自的控制台也有自己的特點,風格也各不相同:
極光:
友盟:
個推:
奇怪的是個推不同服務之間應用是割裂的,比如說在推送服務中創建的應用在其他服務中不可見,這有體驗有點不太好,其他的基本上看個人的愛好了。
服務收費
- 極光包含了三種不同的推送服務模式:免費、VIP、私有雲;
- 友盟推送目前沒有收費版本;
- 個推目前也有免費版和收費版;
- 騰訊移動開發平台對用戶不做區分,所有的服務均免費;
總結
這里主要是分析了騰訊移動開發平台上的推送服務,整體來說
- 目前市面上的推送服務以免費為主,但也有一些收費版本,騰訊移動開發平台是完全免費的;
- 目前其他推送服務的接入方式基本一致,騰訊移動開發平台上會更加簡單,實現了無代碼集成;
- 騰訊推送的開發文檔通過功能划分,看起來很清晰,可以很容易找到自己想要的功能點;
- 控制台上創建一個應用后,不但包含了推送功能,還自己集成了分析、Crash 上報等基本功能;
- 推送的核心功能各個廠家基本大同小異,有些廠家會有自己獨特的功能點,當然推送服務最重要的還是穩定性,騰訊推送底層支持其實就是信鴿,也是一個很成熟的產品了,經過大量產品的驗證,穩定性還是有保障的。
**此文已由作者授權騰訊雲+社區發布,原文鏈接:https://cloud.tencent.com/developer/article/1151201?fromSource=waitui **
歡迎大家前往騰訊雲+社區或關注雲加社區微信公眾號(QcloudCommunity),第一時間獲取更多海量技術實踐干貨哦~