其他问题

最近更新时间:2019-08-16 16:11:19

为什么在华为应用市场发布应用,审核不通过?

请下载华为官方 HMS SDK,将 assets 目录下的所有文件及子目录,拷贝到开发者 App 工程的同名 assets 目录下。(如果目录不存在,请先创建)

努比亚机型无法收到推送?

不支持2015年后发布的努比亚机型,因为努比亚新的系统版本增加了超级省电的功能(会迅速将后台进程停止),腾讯移动推送 Service 无法启动,所以努比亚机型无法注册成功。

iOS 打包生产环境无法收到推送?

检查打包后是否缺少文件“ archived-expanded-entitlements.xcent”,此时可能还会报错:
No valid 'aps-environment' entitlement string found for application 'com.xxx.xxx': (null).

解决方法:选择 【TARGET】 > 【Build Setting】 > 【Code Signing Identity】 > 【Code Signing Entitlements】,查看是否有 aps-environment 字段,如没有,请手动添加。

<plist version="1.0">
<dict>
    <key>aps-environment</key>
    <string>development</string>
</dict>
</plist>

生产环境推送收不到?

生产环境的测试满足条件:App 是 ad-hoc 证书打包或者发布证书(Production)打包,上传到 App Store 的版本。

iOS Token 失效的原因?

  • 系统注销或者是应用被卸载。
  • 用户在新的设备上安装 App。
  • 用户从 backup 中恢复设备。
  • 用户重新安装 OS。
  • 其他系统定义的事件。(调用 unregisterNotification 接口之后再注册通知,清除 device data and settings)

集成小米通道的设备,为什么只能显示一条推送消息?

小米官网文档指明:默认情况下,通知栏只显示一条推送消息。如果通知栏要显示多条推送消息,需要针对不同的消息设置不同的 notify_id(相同 notify_id 的通知栏消息会覆盖之前的消息)。腾讯移动推送官网的参数为:n_id。

通知栏展示消息的条数有限制吗?

手机接收并展示通知栏消息的条数没有限制,没有展示出来可能的原因是:

  • 小米手机的通知栏消息是展示最新的一条,如果每条都要展示,需要设置 n_id。
  • 消息广播被手机管家屏蔽。
  • 魅族手机有一个消息盒子,一些不常用的消息会直接进入到消息盒子中,请在消息盒子中查看。

如何设置自定义铃声?

  1. 管理台设置方法:选择【推送通知】 > 【高级设置】 > 【提醒方式】 > 【声音】 > 【自定义】(Android 选择位于 raw 目录下的铃声文件,铃声文件不需要后缀名,例如 xg_ring。iOS 选择 bundle 目录下的铃声文件,需要后缀名,例如 xg_ring.wav)
  2. Rest API V3 设置方法: Android 在推送的消息体中设置 ring=1,同时设置 ring_raw 为指定 Android 工程里 raw 目录中的铃声文件名,不需要后缀名。iOS 在推送的消息体中设置 sound 为指定工程里 bundle 目录中的铃声文件名,需要后缀。
注意:

如客户端集成厂商通道,由于华为和魅族的厂商的限制,厂商手机无法使用自定义声音文件,默认使用系统音效;小米目前已经适配自定义铃声。

如何自定义状态栏小图标?

  • 原生 Android 5.0 以上的 ROM 都会对 target sdk 大于等于21的 App 的小图标进行处理,增加一层颜色,导致图标变灰。
  • 如果需要显示成有颜色的,需要把 target sdk 设成低于21,如果不想 target sdk 设成低于21,可以将一张背景透明的的 png 格式小图片名字改成 notification_icon.png,放在 drawable 里,这样显示的小图标即可为灰色的(但是有形状的)。

应用关闭或结束进程后,还能收到推送消息吗?

  • 腾讯移动推送通道推送主要依赖腾讯移动推送的 Service 进行消息的收发,停止进程后,腾讯移动推送 Service 也被停止,只能等待 Service 被拉活或重启 App 才可以收到推送。若手机中有其他接入腾讯移动推送的 App 被打开,则可以利用其他 App 的 Service 接收消息,但共享 Service 通道也受手机 ROM 限制,无法保证百分之百的成功率。
  • 厂商通道支持结束进程后收到推送消息。

Android 版本4.4.4编译报错,怎么办?

由于工程加载方法数超过65K,请对工程做分包处理。

设备注册为什么收不到回调信息?

  • 厂商通道的回调是厂商服务器返回的。
    检查是否有安全软件拦截广播。

账号切换绑定设备,给这个账号发信息会怎么样?

设备 B 上能够收到推送,设备 A 无法收到推送。只有最后一个绑定该账号的设备可以收到推送。

指定打开某个 Activity 页面,但经常不能正常跳转?

在部分手机,通知栏跳转到某个页面可能会出现权限问题。
处理方法:在 androidManifest.xml 中,需要打开的 Activity 加上 android:exported="true"。

用户重连上线后收到多条 Push 的顺序是怎样?

按照消息 ID 递增。客户端也是按照此规则收取消息,因此,收消息的顺序就是发消息的顺序。

定时 Push 选择过去的时间,会 Push 出去吗?

不是,选择过去的时间系统则会立刻发送。

注册方法能在线程中创建吗?

注册方法可以在任何地方调用,但注意要传递 ApplicationContext。