> uniPush可為IOS和安卓APP用戶推送離線消息;推送消息配置過程比較繁瑣,請耐心多翻閱文檔,建議開發者進行配置
##### 第一步、開通uniPush
1. 請查看[uniPush官方開通指南](https://ask.dcloud.net.cn/article/35716)
2. 其中的`iOS推送證書`,若未配置,則IOS系統用戶,無法收到離線推送消息,申請IOS推送證書的流程在上面的`開通指南`中有介紹,需要注冊`蘋果開發者網站`費用99美元(688人民幣),該費全部由蘋果官方收取
3. 其中的`廠商推送參數設置`,表示向`魅族、OPPO、華為、小米、VIVO等`廠商申請離線推送消息后配置到uniPush后臺,不申請,則對應品牌用戶無法收到離線推送消息
4. 配置過程中出現的`應用包名/應用標識`是隨便取的,比如`addon.fastim`,需和`廠商`推送后臺的包名保持同步
##### 第二步、配置后臺
1. 成功注冊uniPush、建立應用后,打開應用,獲取應用`Uni Push`的`AppID`、`AppKey`、`MasterSecret`、`Android應用標識`全部填入后臺的Im配置->消息推送配置中,并開啟消息推送功能->保存設置
##### 第三步、編譯自定義調試基座
1. `HBuilder X`編輯器上,登錄與`uniPush`相同的賬戶(編輯器左下角可切換賬戶)
2. `HBuilder X`內打開Im`uniapp`項目后,運行->運行到手機或模擬器->制作自定義調試基座,在打開的窗口中`Android包名`和IOS的`BundleID(AppID)`請與`后臺推送配置設置的包名`、`uni Push配置`、`廠商的推送后臺配置的包名`保持一致
3. 完成基座打包后:運行->運行到手機或模擬器->運行基座選擇->自定義調試基座
4. 接下來,運行到設備即可接收到推送消息,若收不到,請檢查通知權限、廠商推送配置、包名是否統一、以及本文檔下方的各廠商奇怪規定
##### 第四部、問題排查
* Im系統已測試`IOS`、`華為`、`小米`、`OPPO`、`魅族`的離線消息推送可以送達,若您仔細檢查了自己的各項配置,并更換其他設備后任然無法接受到推送消息,請不要氣餒并[與我們取得聯系](https://doc.fastadmin.net/fastim/1034.html)
* [uniPush官方常見問題](https://ask.dcloud.net.cn/article/id-36611__page-4)
* [uniPush官方使用指南](https://ask.dcloud.net.cn/article/35622)
##### 各廠商推送的一些奇怪規定
###### 華為
1. 必須安裝“華為移動服務`HMS Core`”
2. 通知太多會自動折疊
3. 可能被歸類到`靜默通知`(只推送到通知欄,不響鈴,不震動,不提醒),好像是根據APP歷史推送的消息來分類的,`建議打開APP的營銷通知和關閉靜默通知`
###### VIVO
1. vivo部分機型默認關閉APP的通知
2. vivo\[運營消息\],一個設備一天只能收到5條離線消息,非運營消息需要于VIVO官網申請
3. 1個自然日內相同文案的運營消息給同個設備發,vivo會在客戶端做去重處理
4. 通知文案中不能包含`測試、test`、`純數字`、`純表情`、`符號`或者`符號+數
字`、`表情+數字`、`表情+符號`
zKS0o09ZySZRo1PiP4DowQ==
##### 小米
* 推送消息可能被歸類到`不重要通知`,可通過修改APP權限規避
##### OPPO
* OPPO部分機型默認關閉APP通知權限
* 需要將通知權限下的`Default`通道權限也打開。
##### 魅族
* 消息可能被歸類到魅族手機右上角`魅族消息盒子`
* 收不到推送時,請嘗試清除緩存:手機->系統設置->應用管理->所有應用->點擊右上角->顯示系統服務應用->找到`推送服務`和`您自己的App`,分別進行`清除數據`,然后重啟手機。
##### 各廠商推送申請地址
* 華為[https://developer.huawei.com/consumer/cn/](https://developer.huawei.com/consumer/cn/)
* 小米[https://dev.mi.com/console/](https://dev.mi.com/console/)
* 魅族[http://open.flyme.cn/](http://open.flyme.cn/)
* oppo[https://open.oppomobile.com/](https://open.oppomobile.com/)
* vivo[https://id.vivo.com.cn/](https://id.vivo.com.cn/)
* `安卓`注冊/申請推送賬戶中若有疑問,[請參考](https://docs.getui.com/getui/mobile/vendor/vendor_open/)
* `IOS`申請推送證書,[請參考](https://docs.getui.com/getui/mobile/ios/apns/)
##### 常見問題
###### 1\. 什么是離線、在線消息推送
* 在線消息推送指用戶的`WebSocket`已經斷開,但手機APP任在前臺或后臺運行,任然可以向用戶推送新的消息
* 離線消息推送指用戶`WebSocket`已經斷開且手機APP未在后臺運行,任然可以向用戶推送新的消息,用戶手機必須開啟APP的推送權限
###### 2\. 為什么又要申請uniPush還要申請各大廠商的推送賬戶
* uniPush可以將各大廠商的推送Api聚合在一起,只需向對應廠商申請推送功能后,簡單配置即可,而實際進行離線消息推送還是各大廠商實現的,uniPush實現了在線推送