Android推送的現狀
消息推送功能如今已經成為了app的必備功能,主要是通過推送(push)的方式將app相關的資訊和活動等消息發送給用戶,能夠有效的在app自身的生態內發揮推廣營銷的作用,也是維護用戶關系、增強用戶的重要工具。
因為Google的push服務器被牆,國內Android的Push是一個混亂的世界。
android 目前主流的第三方推送服務商主要有以下幾家:極光推送,個推推送,Mobpush,友盟推送,騰訊信鴿,百度推送,雲巴推送等等。目前極光和個推這這兩家已經是占據了大部分到市場份額、產品穩定性,但價格較貴,Mobpush價格是全免費的(包括離線推送)。
如果只使用三方push,會在很多國產手機上因為節電設置而無法保活push進程,導致無法推送。一些國內的安卓手機廠商各自做了自己的推送,比如華為、小米、OPPO、VIVO、魅族等,還有很多國產手機廠商沒有提供官方推送方案。而如果每個安卓手機的官方Push SDK都集成開發一遍,這么多平台,工作量會非常巨大,管理維護也很麻煩。
UniPush使用心得
公司使用Hbuilder開發App的原因,一直使用的是個推。但只有app啟動的時候能收到推送,卻無法收到離線通知,但個推對廠商通道要另外收費,增加小公司集成成本。
UniPush是DCloud聯合個推公司推出的集成型統一推送服務。相當於個推vip push產品,免費提供給了DCloud的開發者。
消息類型:
1、推送消息類型:通知消息、透傳消息。
透傳消息只負責消息傳遞,不顯示通知,需要客戶端創建通知。
2、UniPush通過服務端接口下發推送消息使用廠商通道必須通過“透傳消息”類型下發推送消息。
3、UniPush推送服務對透傳消息的數據符合以下格式時做了特殊處理,會將透傳消息顯示到系統通知欄。
{"title": "xxx","content": "xxx","payload": "xxx"}
4、個推 IOS 通知消息,在離線均走APNs通道(蘋果官方推送通知服務)。透傳消息,在線走透傳消息,離線走APNs通道。
個推Android 透傳消息在線走個推通道,離線走廠商通道。
Intent格式如下:其中component第一項是app包名。
intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=com.haopan.app.xdfh/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=測試標題;S.content=測試內容;S.payload=test;end
華為廠商通道:
1、客戶端調試。其中的token可在華為官網進行消息推送。adb命令請自行查閱
執行命令查token:adb logcat | findstr "Assist_"
執行命令查cid:adb logcat | findstr "clientid"
華為客戶端常用錯誤碼。https://developer.huawei.com/consumer/cn/doc/help/100604
附錄:
A、華為開發者聯盟https://developer.huawei.com/consumer/cn/appgallery/
1、 登錄后,進入管理中心,選擇應用市場--我的應用,創建應用。
注:需上傳應用包,但可不通過審核。
2、開通push功能。開發—概述—API管理,打開pushkit設置
3、開通推送數據存儲服務
4、推送測試
運營—活動運營—推送服務,可對推送服務進行測試,需提供設備token。
常見問題:
部分華為手機需要清理應用緩存,在設置—應用信息—華為移動服務—存儲,清理應用緩存,再重試。
B、小米https://dev.mi.com/console/
創建應用(無需上架應用)
在管理控制台--消息推送中選擇應用,開通推送服務
注意:部分小米手機需要在設置—通知管理—希地豐華應用中設置懸浮通知和鎖屏通知。
魅族https://open.flyme.cn/ 無需上架,集成推送
集成推送—配置管理中
ViVo https://dev.vivo.com.cn/home
需要上架應用。在App中沒有隱私政策,或者隱私政策中沒有收集使用個人信息規則會導致審核失敗。
OPPO https://open.oppomobile.com/
需申請開通推送服務,無需上架應用
Unipush使用指南:https://ask.dcloud.net.cn/article/35622