企业宣传,产品推广,广告招商,广告投放联系seowdb

iOS10代理Apple官方的APNsAPNs服务器的排查步骤

极光 推送是为App提供第三方推送服务的平台之一。 它提供四种消息形式:通知、自定义消息、富媒体和本地通知。

笔者将根据官方的解释和个人的理解来谈谈这四种消息。 本文是一篇iOS文章,本文的入口。

1. 通知

推送是指在手机通知栏(状态栏)上显示的通知消息。

** iOS:JPush 代理 Apple 的官方 APNs 通知。**

具体来说,APNs通知的流程是我们可以调用极光API发起推送请求,或者通过极光官网控制台推送。 请求从参数要求来看基本正确——如果请求成功,返回msgid(这条消息的ID),返回200(成功)或者极光判断推送失败(一般是1011目标未找到错误); 参数错误,返回错误码。 极光处理请求并将请求发送到Apple APNs服务器,通常在几秒钟内处理完毕(非VIP通道偶尔可能被阻塞)。APNs 服务器将此消息推送到 iOS 设备。 在此期间,可能会有延误; 由于证书问题、卸载、token失效、推送环境与设备环境不一致等原因,可能会被 苹果 判断为错误; 如果没有问题,那么它将被设备接收并在iOS系统的控制下显示。

注:如果测试过程中没有收到消息,极光社区总结了完整的排查步骤,基本可以解决问题; 如果自己无法排除故障,可以直接向官方寻求帮助。 这里和消息的msgid是必须提供的信息。

APNs通知的几个特点 通知栏的显示完全由iOS系统控制。 左图是自动获取的App图标,无法动态更改。iOS 10以下系统: iOS 10系统:获取通知内容 手机断开连接后,按照苹果的逻辑,只保存一条离线消息。 与证书和环境有关: JPush 无法控制 APNs 通知的显示,但如果想实现关闭 APNs 通知有以下方法: 推送时,如果通知内容(alert)为空,则收到推送时默认不会显示。

"alert" : {"title" : "JPush Title","subtitle" : "JPush Subtitle" ,"body" : "JPush Body"},
completionHandler(UNNotificationPresentationOptionBadge|UNNotificationPresentationOptionSound|UNNotificationPresentationOptionAlert);

2. 自定义消息

JPush iOS SDK 提供的应用内消息功能不经过 APNs 服务器,JPush 完全支持。

有几个功能只接收,不显示,需要我们自己做接收处理,并通过自己的代码实现消息的显示,或者变成显示。 它需要依赖App与极光服务器之间建立的长期连接,因此iOS必须在App处于前台时接收。iOS需要在类中注册通知并实现回调方法sage。 推送自定义消息到iOS不需要考虑环境和证书问题。 什么时候使用它? 保证不丢失的推送消息。 当iOS需要在前台显示消息时(iOS 10中的新界面之前)。App 项目内的通知。 有条件的消息提醒(例如只允许某个页面的用户看到该消息)。3.富媒体

除了普通文本之外,它还可以推送网页、图片、声音等更丰富的内容。

仅支持生活网资讯,需要 JPush SDK 1.8.0 及以上版本。4. 本地通知

适用于特定时间发送的通知,例如一些待办事项、闹钟应用,会提醒用户每周或每月的固定时间返回应用查看任务。

不依赖网络,无网络也可触发。 计时从发送时间开始计算,不受中途断电等操作影响。 与远程APNs通知一样,在不同的状态、不同的系统下,有多种方式获取消息,也可以在App被杀死时触发。 如果本地通知中的body没有写入,则不会有显示。 官方中的这句话.body = @"This is a test code";

题外话

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender