1. 常见问题

1.1. 推送数据问题

[推送暂停]

  • 全量推送限制(V2、V3):
  • 全量推送每小时最多只能创建30次推送,超过30次会推送失败。
  • 相同内容的全量推送每小时只能推送一次,超过一次推送会推送失败。

  • 标签推送限制(V3):

  • 同一应用每小时最多只能创建30次标签推送,超过30次会推送失败。

  • 同一标签相同内容的推送每小时只能推送一次,超过一次推送会推送失败。

[效果统计]

  • 次日:推送完第二天才能看到推送数据
  • 实时:推送完马上可以看到推送数据。目前每周仅支持14次的实时数据统计

[实发量]

  • 在消息离线保存时间内,有成功连接到信鸽服务器,并且有正常下发的量。(如:消息离线保存时间为3天,实发数据会在第四天稳定,数据会随着设备不断开启连接到信鸽服务器的数量而增加)

[历史明细]

  • 历史明细只展示:全量推送、tag推送、单个设备推送、单个账号推送和官网的号码包推送。(批量账号和批量设备暂不展示推送详情)

[数据概览]

  • 展示的是当天的数据,某天的数据是在那一天中各种推送行为的推送总量。(分为单推,广播也就是批量和全量推送,通知栏消息和应用内消息四类)

1.2. 常见问题

问: 账号推送收不到/服务端返回错误码48、10302、10303?

答: 检查token与账号是否有绑定,查询接口参考文档 账号-设备绑定查询

问: 为什么发送推送后,历史明细没有记录?

答: 
1. 信鸽管理台中的推送历史明细支持展示:设备单推、全量推送、标签推送和官网的号码包推送,API推送的账号列表推送和设备群推不会显示在管理台上。
2. 管理台单推单天最多显示1000条推送。

问: 在华为应用市场发布应用时审核不通过,错误:28: 集成HMS需要将证书文件打包到APK中,请直接将assets目录拷贝到应用工程根目录

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

问: iOS 13无法获取token?iOS 13注册报145、133等错误

答:3.3.7版本兼容iOS 13,首次升级3.3.7版本后,如果还出现无法获取token的情况,在SDK启动之前,将信鸽SDK在沙箱中的缓存文件删掉,这个操作仅且只能做一次即可。

问: iOS 生产环境推送收不到?

答:
 1)生产环境的测试满足条件:App是ad-hoc打包/App Store版本(发布证书 Production),上传了发布证书并验证通过。
 2)生产环境和开发环境的token不能互用,生产环境打包后生成的token用生产证书进行推送,开发环境打包后生成的token用开发证书进行推送。
 3)请检查 Xcode 工程中配置的 bundle id 是否和设置的 Provision Profile 文件匹配,且对应 App 的 Provision Profile 文件是否已配置了消息推送能力。
 4)检查embedded.mobileprovision文件中的aps-environment字段对应的环境是否正确。

问: 在管理台上传号码包推送时提示号码包不合法

答:在Mac OS终端用zip命令压缩文件夹的时候,会把Mac自身的隐藏文件压缩进去,导致管理台无法识别,需去除隐藏文件后上传。
命令:zip -r 123.zip ./123/* -x "*/\.*" -x "\.*"

问: 努比亚机型为什么收不到推送?

答: 目前信鸽暂不支持2015年后发布的努比亚机型,因为努比亚新的系统版本增加超级省电的功能,会把后台进程很快杀死。信鸽的service起不来,所以一直无法注册成功。

问:Server response error code:404, error:{"ret":-1, "msg":"invalid appkey"}这个报错是什么意思?

答:这个是MTA SDK的日志,不影响信鸽注册使用,新版本已经去掉这个日志。

问: iOS token 失效的原因?

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

问: 如何生成信鸽可用的pem证书?

答: 使用工具生成pem证书,按以下三步操作:
(1)在iOS应用配置页面下载信鸽测试工具。
(2)上传p12证书,使用信鸽token成功推送一次apns。
(3)工具会在p12证书的目录下生成信鸽所需要的pem证书。

问: 目前是否适配Android P?

答: 4.X版本已经兼容了 Android P,默认支持HTTPS,如果要使用HTTP,需要自行配置(点击查看配置方法

问: 4.X版本日志中出现[TPush] channelId没有初始化

答: 信鸽SDK内部日志,不影响注册。

问: 注册厂商通道日志打印otherpushToken = null

答:
1. 信鸽4.X版本集成厂商通道采用动态加载的方式,初次启动app会下载手机机型对应的厂商dex配置包,下载完成后杀死app进程,再次启动app即可完成注册。
2. 若始终无法下载dex配置包可采用非动态加载方式集成,需使用信鸽4.x不包含厂商通道版本jar,再集成各个厂商通道的jar,集成配置可参考文档。

问: 集成小米通道,没有点击回调,怎么实现点击通知栏信息跳转到指定页面?

答: 集成厂商通道的必须使用「intent」方式来跳转

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

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

问: 设备通知栏展示消息的条数有没有限制,为什么消息抵达了设备却没有展示?

答: 手机接收并展示通知栏消息的条数没有限制,没有展示出来可能的原因是:
(1)小米手机的通知栏消息是展示最新的一条,如果每条都要展示 需要设置n_id。
(2)消息广播被手机管家屏蔽了。
(3)魅族手机有一个消息盒子,一些不常用的消息会直接进入到消息盒子中,可以在消息盒子中查看。

问: 如何设置自定义铃声?

答:
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限制,无法保证百分之百的成功率

问: 对单个设备,保存多少条离线信息?保存时间?

答: 信鸽仅保留2条离线消息:设备离线状态下若收到多条消息,信鸽仅保留最近2条,前面收到的会丢掉,当设备在线后,只能收到最近的2条消息。最长保留时长为72小时。

问:Android版本4.4.4编译报错,找不到XGPushProvider、MidProvider?

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

问: 标签方面限制?

答: 单个设备最多设置100个标签,单个app全局最多可以有10000个不同的标签

问: 当第一次注册成功后,没有反注册,以后使用还需要注册吗?

答: 不需要,只要没反注册,就不需要再次注册

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

答: 注册操作中,后台只可能有三种出错行为:

(1)不响应;

(2)返回错误格式的数据包;

(3)返回错误码。这三种行为终端应该都可以检测到并给出回调

问: Token与Account区别?

答: Token是APP接收推送消息(device)的标识,账号是一个用户(users)的标识

问: 账号在设备A上登录过,又在设备B上登录?给这个账号发信息会怎么样?

答: 帐号推送可以选择推送给帐号下最新绑定的设备和所有设备,控制台上默认推送给最新设备,API可以使用参数account_push_type进行控制。

问: 标签与账号的区别?

答: 标签是用于标识一个Token或用户的一些属性,如广东省、男性、游戏玩家等。帐号是用户的账号,请勿
用标签作为别名使用

问:指定打开某个activity页面,但经常不能正常跳转

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

问: 在应用列表中看到「覆盖设备数」,具体指的是什么?

答: 是指该应用下处于注册状态的设备数/终端数,同时也是该应用在推送时可以覆盖到的最大设备数。终端若调用了
反注册unregister的接口,覆盖设备数会减少

问:为什么libs目录下有很多平台的.so文件,如armabi、x86

答:信鸽针对android所有的平台开发了.so库
处理方法:可以将不需要的平台目录删除掉,如游戏一般只有armabi,可以删除其它目录

问: 为什么在web端推送出现服务器繁忙?

答: 请先检查Token以及所选推送环境是否正确,然后检查证书是否正确提交,若还出现相同错误可重新制作一份
不带密码的证书提交再试

问: 推送过程中,非定时推送(立即推送)能否撤销?

答: 不能,只有返回push_id的任务才可以做撤销操作。

问: 推送后查看推送列表,已经推送完成了,状态却显示推送中,怎么办?

答: 网页有延迟,刷新再试试

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

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

问: 我现在有安卓的用户和iOS的用户,那我php后台要写两个不同的接口分别推给安卓用户和ios用户吗?

答: 需要调用两次推送接口 也可以把两个封装为一个

问: 如果定时push选择的是过去的时间,是不是不会push出去?

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

问: 为什么会出现推送通知时,只有声音却没有文字信息的情况?

答: 该问题与系统有很大关系,需要拿设备的logcat来进行特定分析

问:信鸽推送是否支持海外

答:只要能ping通信鸽服务器域名 openapi.xg.qq.com 就能够收到推送消息,信鸽海外服务器部署在香港,由于
在海外地区网络延时较高,信鸽在海外的推送效果会略低于在国内的推送效果

问: 信鸽与腾讯开放平台的APPID数据是否相通?

答:当你在开放平台注册应用并使用信鸽后,应用的信息会自动从开放平台同步至信鸽平台,单独使用信鸽时不用重
新接入应用。但是在信鸽接入的应用不会同步至开放平台

问:没有sd卡就不能用信鸽了么?

答:不会,只是日志写的地方不同

问:注册方法能不能放到线程里创建,能不能在APPLICATON onCreate里就创建?

答:注册方法可以在任何地方调用,但注意要传递applicationContext

问:如何删除注册成功的Toast提示?

答:demo里面的CustomPushReceiver自带Toast提示处理方法:删除CustomPushReceiver里面的Toast
相关内容

results matching ""

    No results matching ""