欢迎来到生活网

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

编辑:生活网      来源:生活网      ios通知   ios   极光   软件   苹果

2023-08-06 11:09:08 

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

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

1. 通知

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

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

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

ios8极光推送 推送不提示消息_ios极光推送无法收到消息_推送极光消息提示ios8

注:如果测试过程中没有收到消息,极光社区总结了完整的排查步骤,基本可以解决问题; 如果自己无法排除故障,可以直接向官方寻求帮助。 这里和消息的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. 本地通知

ios8极光推送 推送不提示消息_ios极光推送无法收到消息_推送极光消息提示ios8

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

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

题外话

本网站转载其他媒体之作品,意在为公众提供免费服务。如权利所有人拒绝在本网站发布其作品,可与本网站联系,本网站将视情况予以撤除。

发表我的评论 共有条评论
    名字:
全部评论