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. 找到本应用,打开右侧开关;
  • 其他手机可以参考上述手机的设置

进入手机设置或安全中心,找到自启动管理,找到本应用并授权。

你可能感兴趣的:(AppCan消息推送服务使用常见问题)