推送数据问题
[推送暂停]
全量推送每小时最多只能创建30次推送,超过30次会推送失败。
相同内容的全量推送每小时只能推送一次,超过一次推送会推送失败。
同一应用每小时最多只能创建30次标签推送,超过30次会推送失败。
同一标签相同内容的推送每小时只能推送一次,超过一次推送会推送失败。
[效果统计]
实时:推送完马上可以看到推送数据。目前每周仅支持14次的实时数据统计
[实发量]
在消息离线保存时间内,有成功连接到信鸽服务器,并且有正常下发的量。(如:消息离线保存时间为3天,实发数据会在第四天稳定,数据会随着设备不断开启连接到信鸽服务器的数量而增加)
[历史明细]
历史明细只展示:全量推送、tag推送、单个设备推送、单个账号推送和官网的号码包推送。(批量账号和批量设备暂不展示推送详情)
[数据概览]
展示的是当天的数据,某天的数据是在那一天中各种推送行为的推送总量。(分为单推,广播也就是批量和全量推送,通知栏消息和应用内消息四类)
常见问题
问: 账号推送收不到/服务端返回错误码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没有初始化
问: 注册厂商通道日志打印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
相关内容