一文秒懂廠商推送
廠商推送
顧名思義,廠商推送指的就是手機硬體廠商提供的系統級別的推送服務。因為她是系統服務,隨手機開機後她就一直存在著,有效地保證了推送通道的高可用性。在網路暢通和推送訊息內容合法的情況下,通過廠商通道推送訊息給該型號手機,不論應用是否存活,都保證訊息推送到位,所以為了拉活、促新、留存,我們絕對不能錯過她們------廠商推送,訊息高效觸達的保障。另外文末有捷徑哦
推送服務
為開發者提供的訊息推送服務,建立了從雲端到手機端的訊息推送通道,為開發者提供想客戶端應用實時推送訊息的服務,使應用可以將最新資訊及時通知使用者,從而構築良好的使用者關係,提升使用者的感知和活躍度。
關於應用推送,相信作為開發者都知道有很多方式進行實現(各大推送SDK)。不同的推送SDK,產生了多種多樣的推送支援服務,實現方式也有差異。隨著Google對推送的規範,手機廠商也提供了一套推送服務,通過系統推送服務,讓推送更安全可靠。
有了這麼多推送SDK,到底要選哪一種?
A:我一直在用某某推送SDK,用習慣了,繼續用吧,效果挺好的。
B:手機廠商既然提供了系統推送服務,推送達到了更高,更安全可靠,我選手機廠商的。
……
選擇哪一種,適合自己最重要,蘿蔔白菜各有所愛嘛~
廠商推送服務平臺
華為推送 |
小米推送 |
魅族推送 |
OPPO推送 |
FCM推送 |
第三方推送… |
這裡列舉了手機廠商通道推送服務和第三方推送,關於第三方推送就不過多介紹了,主要分析對比手機廠商推送。
支援平臺
|
Android |
iOS |
其他平臺 |
華為推送 |
支援(華為手機和非華為手機) |
不支援 |
不支援 |
小米推送 |
支援(小米手機和非小米手機) |
支援 |
Unity |
魅族推送 |
支援(僅魅族手機flyme系統) |
不支援 |
不支援 |
OPPO推送 |
支援(僅OPPO手機系統(ColorOS)) |
不支援 |
不支援 |
FCM推送 |
支援(google服務的手機) |
支援 |
網頁、Unity |
推送型別
|
通知欄訊息 |
透傳訊息 |
華為推送 |
支援(統一系統管理,點選拉起應用) |
支援 |
小米推送 |
支援(統一系統管理,點選拉起應用) |
支援 |
魅族推送 |
支援(統一系統管理推送服務,應用自己管理訊息) |
支援 |
OPPO推送 |
支援(統一系統管理,點選拉起應用) |
不支援 |
FCM推送 |
支援(統一google服務管理,點選拉起應用) |
支援 |
推送目標
|
全量推送 |
單一裝置 |
別名 |
標籤 |
華為推送 |
不支援 |
支援 |
不支援 |
不支援 |
小米推送 |
支援 |
支援 |
支援 |
支援 |
魅族推送 |
支援 |
支援 |
支援 |
支援 |
OPPO推送 |
支援 |
支援 |
不支援 |
不支援 |
FCM推送 |
支援 |
支援 |
不支援 |
支援 |
異同:
小米:
1.同一應用前提下,設定別名是唯一的,同一個別名不能對應多個RegID,alias對應的裝置以最後一次setalias對應的裝置為準。(使用場景:單點登入)
2.支援useraccout進行推送,一個user account可對應20臺以內的裝置。(使用場景:單賬號多點登入同時接收訊息)
3.訂閱標籤無上限,別名長度不要求
魅族:
1.同一個別名可以對應多個裝置
2.別名不能超過20個字元
3.標籤限額100個
OPPO:
1.全量推送範圍是前一天以及更早的註冊裝置
2.單一裝置推送是註冊成功的裝置,不受是否是前一天的註冊限制
FCM推送:
1.訂閱標籤無上限
推送落地方式
|
開啟應用 |
開啟指定介面 |
開啟網頁 |
華為推送 |
支援 |
不支援 |
支援 |
小米推送 |
支援 |
支援 |
支援 |
魅族推送 |
支援 |
支援 |
支援 |
OPPO推送 |
支援 |
支援 |
支援 |
FCM推送 |
支援 |
不支援 |
不支援 |
推送通知提示型別
|
聲音 |
震動 |
呼吸燈 |
華為推送 |
預設系統提示音 |
預設系統提醒方式 |
預設系統提醒方式 |
小米推送 |
支援自定義 |
支援是否震動 |
支援是否點亮呼吸燈 |
魅族推送 |
預設系統提示音 |
支援是否震動 |
支援是否點亮呼吸燈 |
OPPO推送 |
預設系統提醒方式 |
預設系統提醒方式 |
預設系統提醒方式 |
FCM推送 |
預設系統提示音 |
支援是否震動 |
支援是否點亮呼吸燈 |
推送多樣性
|
定時推送 |
離線推送 |
定時展示 |
可網路設定推送 |
定速推送 |
華為推送 |
支援 |
未說明 |
支援 |
不支援 |
不支援 |
小米推送 |
支援(未來30天內任意時間作為訊息下發時間) |
支援(最大有效時長14天) |
支援 |
支援 |
不支援 |
魅族推送 |
支援 |
支援 |
支援 |
不支援 |
支援 |
OPPO推送 |
支援 |
支援(最大有效時長72小時) |
支援 |
支援(可選僅在WiFi網路下推送) |
支援 |
FCM推送 |
支援 |
支援(最大有效時長28天) |
不支援 |
不支援 |
不支援 |
推送國際化
|
國內 |
國外 |
華為推送 |
支援 |
部分國家 |
小米推送 |
支援 |
支援 |
魅族推送 |
支援 |
幾個國家 |
OPPO推送 |
支援 |
不支援 |
FCM推送 |
不太友好 |
支援 |
推送富媒體
|
富媒體 |
華為推送 |
支援表格、圖片、音訊、連線地址等 |
小米推送 |
支援長文字和大圖 |
魅族推送 |
支援長文字和大圖 |
OPPO推送 |
不支援 |
FCM推送 |
不支援 |
推送頻率限制
|
推送頻率限制 |
華為推送 |
預設3000條/秒,如需調整,聯絡華為客服 |
小米推送 |
預設每秒3000條,支援平緩推送(每秒1000~ 100000條訊息),對推送頻率目前無限制 |
魅族推送 |
1.單個業務在平臺或 API 進行推送有速率限制,預設應用是 500 條/秒,如果超過此速率 可以聯絡魅族進行調整 2.單個業務每天在平臺或 API 進行任務推送有次數限制,預設是 1000 條/天 3.單個裝置單個業務 1 分鐘內推送超過 5 條會被摺疊(只儲存最新的訊息,可配置) 4.一個 IP 地址每小時請求 API 介面有次數限制(可配置) 5.單個業務每天累計請求 API 介面有次數限制(可配置) 6.單個業務每天推送的訊息總量有限制(可配置) 7. |
OPPO推送 |
對新接入的APP,有最低保護閾值,即當天最低可推送量為10000 |
FCM推送 |
官方未說明 |
推送客戶端感知
|
接收到通知時 |
點選通知欄通知時 |
華為推送 |
客戶端無感知 |
回撥客戶端 |
小米推送 |
回撥客戶端 |
回撥客戶端 |
魅族推送 |
回撥客戶端 |
回撥客戶端 |
OPPO推送 |
客戶端無感知 |
客戶端無感知 |
FCM推送 |
應用前臺時回撥客戶端,後臺時客戶端無感知 |
客戶端無感知,可在應用首頁通過Intent獲取相關資訊 |
其他:
華為推送:
1.目前呼叫一次介面,最多支援1000個deviceToken
2.接入新版push,需更新華為移動服務
3.非華為手機可以使用華為Push服務,但需要安裝華為移動服務,並且不通過系統PUSH,效果沒有華為手機上好
小米推送:
1.支援通知分類,相同通知分類訊息會存在替換(新的訊息會覆蓋之前的),不同類通知可以在通知欄並存。最多可以有10001類通知並存
2.支援應用版本推送
3.支援機型推送
4.開啟/關閉app在前臺時的通知顯示可以服務端來設定
魅族推送:
1.單個裝置 1 個月內不活躍,將取消訂閱
2.可切換推送訊息開關(app可自由選擇是否開啟此功能)
3.通知欄和透傳訊息開關互不影響
4.關閉開關不會取消 PushId 訂閱,只是對應的訊息無法推送
5.可自定義通知圖示
6.在Flyme系統(4.0,4.5,5)上,會直接使用系統長連線通道,所有app會和系統共享一個長連線
OPPO推送:
1.每天僅可推送前一天累計使用者數同等數量的訊息數(不限制推送的使用者及單個使用者接收數,僅限制當天推送總量)
2.全量推送時,全量使用者不包含當天新註冊的,當太難新註冊有T+1限制,需註冊第二天包含在全量中,單個使用者推送不受註冊T+1限制
3.在最新ColorOS系統上,會直接使用系統長連線通道,所有app會和系統共享一個長連線
4.OPPO推送不是完全對外開放,只對在OPPO應用市場上架,並等級達到A級的應用才有資格申請Push服務
5.OPPO通道目前不太穩定,時好時壞,反饋客服,內部已在做優化,靜候更新~
FCM推送:
1.支援摺疊和不折疊訊息展示在通知欄(不折疊訊息展示時,FCM不保證傳遞順序,例如聊天訊息或者關鍵訊息)
2.對於Android,不折疊情況下,最多可儲存100條訊息。達到此限值後,所有儲存的訊息都將被捨棄。裝置在重新聯網後將受到一條特殊訊息,提示已達到此上限。之後,應用可以正常處理該狀況,一般情況下回請求與應用伺服器完全同步。
3. FCM允許應用伺服器在任意指定時間內為每臺Android裝置使用最多4個不同的摺疊鍵
4.如果裝置已有一個月未連線到 FCM,FCM 仍然會接受訊息,但會立即將其捨棄
技術支援
|
技術支援 |
華為推送 |
技術QQ群 |
小米推送 |
通過官網的問題工單反饋,小米通過郵件回覆 |
魅族推送 |
技術QQ群 |
OPPO推送 |
官網客服 |
FCM推送 |
Github提issue |
上述就是一些廠商推送通用整合總結。
小結
看到有這麼多的廠商推送,想要達到最佳效果,是不是想把廠商推送都整合到應用中,達到最佳效果,以提高推送到達率和穩定性,但是一一整合的成本高效率慢:整合方式不統一,各家API介面也不盡相同等。那麼是否有捷徑呢?MobPush就是聚合了各家廠商(華為、魅族、小米、OPPO、FCM、APNS等)推送,同時也實現了自己的推送通道,在都不滿足各大廠商通道推送時使用自身通道推送,有效保證訊息正常被使用者接收。
而開發者在整合第三方時經常會碰到一些問題,畢竟是別人的東西出錯很不好排查,雖然廠商大大們也有提供相關技術支援下,但是並不是一直、及時的能幫忙解決問題,而MobPush則提供了24小時技術支援服務,完全負責的協助開發者解決問題。
MobPush更好的支援了國外推送,因FCM在國內支援不友好,但是MobPush使FCM的國內推送與國外推送一樣好用。並且提供Android、iOS、Unity、coco2d、js等平臺,滿足不同平臺推送的需求,後續也會更多的支援其他平臺。