顧名思義,廠商推送指的就是手機硬件廠商提供的系統級別的推送服務。由於她是系統服務,隨手機開機後她就一直存在着,有效地保證了推送通道的高可用性。在網絡暢通和推送消息內容合法的狀況下,經過廠商通道推送消息給該型號手機,不論應用是否存活,都保證消息推送到位,因此爲了拉活、促新、留存,咱們絕對不能錯過她們------廠商推送,消息高效觸達的保障。另外文末有捷徑哦安全
爲開發者提供的消息推送服務,創建了從雲端到手機端的消息推送通道,爲開發者提供想客戶端應用實時推送消息的服務,使應用能夠將最新信息及時通知用戶,從而構築良好的用戶關係,提高用戶的感知和活躍度。服務器
關於應用推送,相信做爲開發者都知道有不少方式進行實現(各大推送SDK)。不一樣的推送SDK,產生了多種多樣的推送支持服務,實現方式也有差別。隨着Google對推送的規範,手機廠商也提供了一套推送服務,經過系統推送服務,讓推送更安全可靠。網絡
有了這麼多推送SDK,到底要選哪種?app
A:我一直在用某某推送SDK,用習慣了,繼續用吧,效果挺好的。優化
B:手機廠商既然提供了系統推送服務,推送達到了更高,更安全可靠,我選手機廠商的。google
……spa
選擇哪種,適合本身最重要,蘿蔔白菜各有所愛嘛~接口
華爲推送圖片 |
小米推送ci |
魅族推送 |
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等平臺,知足不一樣平臺推送的需求,後續也會更多的支持其餘平臺。