iOS push过程中常见的问题

2 篇文章 0 订阅
2 篇文章 0 订阅

iOS中消息推送走的是苹果的APNS,关于其工作原理网上一搜一大把,大家可自行从网上搜索.

DeviceToken在使用过程中的注意点:在iOS7之前单一环境下(Develop/Distribution)每一个设备一个DeviceToken;iOS7及以上单一环境下(Develop/Distribution),一个bundleId对应一个DeviceToken.

 

iOS收不到push的情况归纳:

1).appID是否把push开关打开了
2).系统设置里面是否把相应app的通知开关关闭了
3).appID是否是带“*”的
4).前后端证书appID和后端推送证书appID是否是同一个
5).前端环境和后端环境是否相同(同为developer或同为distribution)
6).后端推送证书是否过期(有效期一般为一年)
7).如果是拿不到deviceToken,并且IOS系统设置中通知开关部分打开,这时手动切换一下其它开关的状态,使其可接受到deviceToken(苹果的bug,一般是由于用户打开部分推送开关的情况下,把整个接受推送的开关关闭掉,然后卸载再重装app所致)
8).app在系统设置通知里关闭接受消息通知,这时如果再重新安装app,开关状态依旧关闭(ios8以上一个系统版本有这个问题)
9).看看手机是否设置了代理,测试人员经常设置代理进行测试。
10).后端推送数据包过大,IOS8之前推送支持256个字节,IOS8之后支持2K,这时候需要上报deviceToken时,把系统版本号也上报上去,便于推送时根据不同版本号进行不同长度的数据推送。

iOS收到不该收的push怎么办?

iOS后台需要定期去苹果后台调用feedback接口,删除不必要的deviceToken,而且如果我们帐号退出登录某一台设备之后,一定要进行解绑,确保物流和订单之类的消息不会推错设备。

苹果通知中心消息点击之后不消失怎么办?

如果推送到 APNs 时,Badge number 被指定为0 ,则可能出现 push消息在通知中心被点击后,尽管调用了   [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 但 APNs 消息在通知中心不会被删除的情况。 这种情况可以按如下代码调用以清除通知中心的 push通知。
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 1 ];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0]; 

iOS push消息可以定制吗?

App客户端可以进行一些定制,比如接收消息的时间段(或者静音时间段)、对某类消息设置定制与否,后台在消息推送时可根据相应的定制参数进行相应过滤。
iOS push消息可以做那些方面的扩展?
1).可以对一些实时性较强消息推送过来之后,运用today扩展进行展示,比如一些热销或促销商品。(可参考淘宝app的展示)
2).push 消息到达之后,如果app没有启动,则可以让其在后台运行,并下载相应的消息详情,保存到本地,待app应用打开之后再从本地加载相应消息。
3).可结合Apple Watch做相应的展示,一些物流消息的展示如果与Apple Watch配对的iphone处于黑屏状态下,则可在Watch上进行展示。(Watch上只有界面展示,处理逻辑在iphone上)

iOS push推送测试和调试

可以用PushMeBaby或php脚本来从Mac系统上进行推送。
Distribution环境的调试由于无法联机调试,可以通过查看真机log以及崩溃日志来进行调试

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值