AppCan消息推送服務使用常見問題

[TOC]

1. 如何使用消息推送功能?

  • 打包時開關設置中勾選推送功能,填寫推送綁定接口(Android還需要另外填寫Android推送接口,這個接口應只包含[ip地址]:[端口號]的形式);

  • app前端代碼中,在需要進行綁定用戶開始接收推送的時候,調用uexWidget.setPushInfo接口進行綁定(** 注意:特殊情況見常見問題3**);

  • 如果代碼中調用了uexWidget.setPushState(0); 推送開關將會關閉,無法使用推送功能,重新調用uexWidget.setPushState(1); 即可打開推送功能。詳見文檔

  • 接收到推送后,如果要處理推送內容,需要在頁面中調用,uexWidget.setPushNotifyCallback(要注意3.x和4.x引擎的調用方式是不同的,4.x兼容3.x,3.x引擎不兼容新方法),回調方法執行時表示到達了一個推送消息,此時調用uexWidget.getPushInfo接口獲取推送消息內容即可;

  • 特殊情況,如果需要將推送token上報給業務系統中,然后由業務系統調用AppCan推送服務的API來進行向設備發送推送消息。則從客戶端獲取推送token的方式為:uexDevice.getInfo,傳參為11(傳參參考文檔),獲取到的就是推送token了,Android和iOS通用。

2. 推送收不到原因排查?

  • 先看看問題1,了解消息推送功能的基本使用方法

  • 檢查手機網絡是否連通

  • 檢查推送后端服務是否正常

  • 檢查應用是否在后臺,或者是否在js代碼中添加了監聽推送消息送達的代碼
    應用在前臺時,不會自動提示在通知欄中,而是會通過js回調通知給前端代碼自行處理推送邏輯,比如談個alert或者跳轉頁面之類的操作;

  • 新版推送服務v4一般與EMM聯用,只需要進行uexEMM的啟動上報即可(打包選擇uexEMM插件),不需要uexWidget.setPushInfo接口調用

  • 按照EMM用戶或者組織機構進行推送需要uexEMM登錄

Android專有問題

  • 檢查打包時的Android推送接口是否配置正確
    這個接口的形式是[ip]:[port],如:192.168.1.1:1883,不要添加http:// 或者tcp:// 之類的協議頭;

  • 檢查是否已經為該應用開啟了通知欄的提示

Android系統可以針對每個應用關閉消息提醒功能,需要開啟才可以看到通知欄推送提示,要勾選“顯示通知”;

iOS專有問題

  • 如果已經升級了支持iOS10的打包服務,則需要在config.xml文件中配置推送相關的權限,否則打包后不僅iOS10無法收到推送,iOS10以下的也會收不到,具體配置方式參考:iOS10適配指南

  • 打包使用的證書一定要支持推送功能,需要確認檢查一下;

  • 推送后端的推送證書要配置正確;

  • 每個應用的系統設置中也有對應的推送通知開關,首次啟動是也會彈出是否允許通知的提示,關閉后則無法使用推送功能了,必須重新開啟之;

3. 推送一條會收到兩條重復消息(或者收到一條消息但是打開數為雙倍)

當后臺的推送服務版本為4.0,EMM服務為3.3.3之后的版本時,如果調用過uexEMM.login(),則無需調用uexWidget.setPushInfo()接口,防止后臺重復綁定。

4.【Android】推送后臺進程經常被殺導致推送收不到?

應當引導用戶對自己的手機進行設置,把本應用加入后臺白名單中,具體方法如下:

  • 終極辦法,針對所有手機:

  • 進入任務管理界面時,通過長按或下滑等操作(不同系統各不相同,但操作簡單),將本應用加鎖,防止清理所有程序時,把本應用殺死。

  • 華為手機有以下方式解決:

EMUI4.0

  • 打開系統設置--開機自動啟動,把本應用設置為可開機自動啟動(在其應用列表中找到本應用名稱,打開開關);
  • 打開系統設置--受保護的后臺應用,把本應用設置為受保護應用(在其應用列表中找到本應用名稱,打開開關);
  • (可選操作)打開系統設置--省電管理中修改省電模式為“普通省電”(智能省電也不行,智能省電會在鎖屏后殺死后臺進程);

EMUI5.0

  • 打開系統設置--權限管理,進入應用標簽,點擊進入本應用,選擇“設置單項權限”,打開“應用自動啟動”開關;

  • 打開系統設置--電池--鎖屏清理應用,在應用列表中找到本應用,把開關設置為關閉(即不清理);

  • (可選操作)打開系統設置--電池,關閉省電模式(省電模式可能會在鎖屏后殺死后臺進程);

  • HTC手機:

  • 打開系統設置--應用程序--列表中找到本應用進入詳情--點擊權限--允許保持喚醒狀態;

  • 小米手機:

  • 自啟動管理
    打開安全中心--授權管理--自啟動管理--列表中找到本應用,打開開關;

  • MIUI神隱模式

  1. 打開系統設置,選擇其他高級設置;
  2. 選擇電量和性能;
  3. 選擇神隱模式;
  4. 選擇應用配置;
  5. 找到本應用,點擊進入;
  6. 后臺配置選擇“無限制”,后臺網絡配置選擇保持聯網;
  • OPPO手機
  1. 打開安全中心;
  2. 點擊權限隱私;
  3. 找到本應用,打開開關;
  • 魅族手機
  • 自啟動權限
  1. 打開手機管家,點擊權限管理;
  2. 選擇自啟動管理;
  3. 找到本應用,打開開關;
  • 手機加速白名單
  1. 打開手機管家,點擊手機加速;
  2. 點擊屏幕右上角設置;
  3. 點擊手機加速白名單;
  4. 點擊添加白名單;
  5. 找到本應用,勾選之;
  • 三星手機
  1. 打開系統設定;
  2. 選擇安全;
  3. 點擊應用程序許可;
  4. 找到并點擊本應用;
  5. 打開自動運行開關;
  • VIVO手機
  • 自啟動管理
  1. 打開i管家,點擊軟件管理;
  2. 選擇自啟動管理;
  3. 找到本應用,打開開關;
  • 手機清理白名單
  1. 打開i管家,點擊右上角設置按鈕;
  2. 選擇加速白名單;
  3. 找到本應用,打開右側開關;
  • 后臺耗電保護管理
  1. 打開i管家,點擊省電管理;
  2. 點擊最下方的后臺高耗電;
  3. 找到本應用,打開開關;
  • 樂視手機
  • 省電管理
  1. 打開管家,點擊省電管理;
  2. 選擇高級省電;
  3. 打開應用保護;
  4. 將本應用加入禁止自動清理;
  • 自啟動管理
  1. 打開管家,點擊權限管理;
  2. 選擇自啟動管理;
  3. 找到本應用,打開開關;
  • 一加手機
  • 鎖屏運行權限
  1. 打開手機系統設置;
  2. 點擊應用與權限,選擇應用休眠;
  3. 如果應用休眠開關已經開啟,則點擊應用休眠管理;
  4. 列表中找到本應用,將本應用的開關開啟;
  • 自啟動管理
  1. 打開手機系統設置;
  2. 點擊應用與權限,選擇自啟動;
  3. 找到本應用,打開右側開關;
  • 其他手機可以參考上述手機的設置

進入手機設置或安全中心,找到自啟動管理,找到本應用并授權。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 推送技術產生場景: --服務器端主動性: 客戶端與服務器交互都是客戶端主動的, 服務器一般不能主動與客戶端進行數據...
    原軍鋒閱讀 34,808評論 4 60
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,287評論 25 708
  • 中午回家,孩子迎上來和我說,他提前把客廳空調打開了,怕我熱著,隨后兒子摸了摸我的頭說,媽,你出這么多汗哪。我說,外...
    若蘭幽香閱讀 184評論 0 4
  • 今天晴,藍天,團云像極了棉花糖,老天爺爺,你的下午茶嗎? 在地鐵上看《皮囊》,文字中作者回憶其父親的殘疾與母親和生...
    當當F閱讀 389評論 0 1