1. 程式人生 > >一文秒懂廠商推送

一文秒懂廠商推送

廠商推送

顧名思義,廠商推送指的就是手機硬體廠商提供的系統級別的推送服務。因為她是系統服務,隨手機開機後她就一直存在著,有效地保證了推送通道的高可用性。在網路暢通和推送訊息內容合法的情況下,通過廠商通道推送訊息給該型號手機,不論應用是否存活,都保證訊息推送到位,所以為了拉活、促新、留存,我們絕對不能錯過她們------廠商推送,訊息高效觸達的保障。另外文末有捷徑哦

推送服務

為開發者提供的訊息推送服務,建立了從雲端到手機端的訊息推送通道,為開發者提供想客戶端應用實時推送訊息的服務,使應用可以將最新資訊及時通知使用者,從而構築良好的使用者關係,提升使用者的感知和活躍度。

 

關於應用推送,相信作為開發者都知道有很多方式進行實現(各大推送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.同一應用前提下,設定別名是唯一的,同一個別名不能對應多個RegIDalias對應的裝置以最後一次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.目前呼叫一次介面,最多支援1000deviceToken

2.接入新版push,需更新華為移動服務

3.非華為手機可以使用華為Push服務,但需要安裝華為移動服務,並且不通過系統PUSH,效果沒有華為手機上好

小米推送:

1.支援通知分類,相同通知分類訊息會存在替換(新的訊息會覆蓋之前的),不同類通知可以在通知欄並存。最多可以有10001類通知並存

2.支援應用版本推送

3.支援機型推送

4.開啟/關閉app在前臺時的通知顯示可以服務端來設定

魅族推送:

1.單個裝置 1 個月內不活躍,將取消訂閱

2.可切換推送訊息開關(app可自由選擇是否開啟此功能)

3.通知欄和透傳訊息開關互不影響

4.關閉開關不會取消 PushId 訂閱,只是對應的訊息無法推送

5.可自定義通知圖示

6.Flyme系統(4.04.55)上,會直接使用系統長連線通道,所有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.如果裝置已有一個月未連線到 FCMFCM 仍然會接受訊息,但會立即將其捨棄

 

技術支援

 

技術支援

華為推送

技術QQ群

小米推送

通過官網的問題工單反饋,小米通過郵件回覆

魅族推送

技術QQ群

OPPO推送

官網客服

FCM推送

Github提issue

 

上述就是一些廠商推送通用整合總結。

 

小結

看到有這麼多的廠商推送,想要達到最佳效果,是不是想把廠商推送都整合到應用中,達到最佳效果,以提高推送到達率和穩定性,但是一一整合的成本高效率慢:整合方式不統一,各家API介面也不盡相同等。那麼是否有捷徑呢?MobPush就是聚合了各家廠商(華為、魅族、小米、OPPO、FCM、APNS等)推送,同時也實現了自己的推送通道,在都不滿足各大廠商通道推送時使用自身通道推送,有效保證訊息正常被使用者接收。

 

而開發者在整合第三方時經常會碰到一些問題,畢竟是別人的東西出錯很不好排查,雖然廠商大大們也有提供相關技術支援下,但是並不是一直、及時的能幫忙解決問題,而MobPush則提供了24小時技術支援服務,完全負責的協助開發者解決問題。

 

MobPush更好的支援了國外推送,因FCM在國內支援不友好,但是MobPush使FCM的國內推送與國外推送一樣好用。並且提供Android、iOS、Unity、coco2d、js等平臺,滿足不同平臺推送的需求,後續也會更多的支援其他平臺。