大家好,关于系统推送集成指南:本地与远程通知编程技巧详解很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
Modifying the Payload of a Remote Notification - 修改远程通知的Payload
使用通知服务应用程序扩展在将远程通知传递给用户之前修改其负载。远程通知源自服务器,该服务器控制通知的配置和内容。服务扩展允许您的应用程序在将数据呈现给用户之前更改服务器提供的有效负载数据。您可以使用服务扩展来实现以下类型的行为:
解密以加密格式传输的数据。下载图像或其他媒体文件并将其作为通知的附件添加。更改通知的正文或标题文本。向通知添加线程标识符或修改通知的userInfo 字典的内容。To add a notification service app extension to your iOS app - 向您的iOS应用添加通知服务应用扩展程序在Xcode 中,选择NewTarget 将新目标添加到项目中。
在iOSApplication Extension 部分中,选择通知服务扩展目标。单击“下一步”。指定应用扩展的名称和其他详细信息。单击“完成”。 Xcode 为您的应用程序项目添加预配置的目标。
Xcode 提供的默认通知服务扩展目标包含UNNotificationServiceExtension 类的子类供您修改。使用didReceiveNotificationRequest:withContentHandler: 方法创建和配置新的UNMutableNotificationContent 对象。您可以对新内容对象进行任何更改,替换部分或全部原始内容值。完成后,使用新的内容对象调用提供的完成处理程序。您的新内容将集成到通知中并提供给用户。
系统为您提供了有限的时间来修改通知并调用提供的完成处理程序,因此您应该快速执行任何任务。如果您的didReceiveNotificationRequest:withContentHandler: 方法需要很长时间才能调用完成处理程序,系统将调用serviceExtensionTimeWillExpire 方法给您最后一次完成修改的机会。如果没有及时调用完成处理程序,将显示通知的原始内容。
服务器发送的远程通知必须明确制作以支持对通知服务应用程序扩展的修改。不包含适当修改的通知将不经修改直接发送给用户。当为远程通知创建有效负载时,服务器应执行以下操作:
包含值为1 的可变内容键。包含警报字典,其中包含警报标题和正文的子键。有关实现通知服务应用程序扩展的方法的更多信息,请参阅UNNotificationServiceExtension 类参考。有关为远程通知配置负载的信息,请参阅创建远程通知负载。
Presenting Notifications Using a Custom Interface on iOS - 在iOS上使用自定义界面显示通知
使用通知内容应用程序扩展来显示应用程序通知的自定义用户界面。您可以使用此类扩展来合并自定义内容或使用与默认界面不同的布局。例如,您可以使用此类扩展来显示与通知内联的图像或媒体文件。
通知内容应用程序扩展支持呈现与特定类别关联的本地和远程通知。您可以使用UNNotificationContent 对象的categoryIdentifier 指定本地通知的类别。对于远程通知,您的服务器包含一个类别键,该类别键在负载的aps 字典中具有适当的值。当该类别的通知到达时,系统从您的扩展加载视图控制器,并将您的内容合并到系统界面中。您可以使用通知内容在屏幕上显示之前配置视图控制器。
To add a notification content app extension to your iOS app - 向您的iOS应用添加通知内容应用扩展程序在Xcode 中,选择NewTarget 将新目标添加到项目中。在iOSApplication Extension 部分中,选择通知内容扩展目标。单击“下一步”。指定应用扩展的名称和其他详细信息。单击“完成”。 Xcode 为您的应用程序项目添加预配置的目标。
初始通知内容应用程序扩展目标配置为呈现与单个类别关联的通知。您必须修改目标以指定每个扩展支持的通知类别。您可以使用目标的Info.plist 文件中的UNNotificationExtensionCategory 键指定类别。将键的值设置为应用程序在启动时注册的UNNotificationCategory 对象的标识符属性中的同一字符串。
To support multiple notification categories with your app extension - 使用您的应用扩展程序支持多个通知类别选择通知内容扩展项目的Info.plist文件。展开NSExtension 字典以查看与扩展相关的键。展开NSExtensionAttributes 字典。将UNNotificationExtensionCategory 键的类型更改为Array。添加由扩展处理的通知类别的条目。您可以将多个通知内容应用程序扩展添加到您的iOS 应用程序包中。系统只需要一个扩展来支持给定类别,因此您必须使用一组不同的值配置每个扩展的UNNotificationExtensionCategory 键。
有关实现通知内容应用程序扩展的更多信息,请参阅UNNotificationContentExtension 协议参考。
Presenting Notifications Using a Custom Interface on watchOS - 在watchOS上使用自定义界面显示通知
WatchKit 框架提供对使用自定义界面显示通知的直接支持。 WatchKit 扩展可能包含一个或多个通知界面控制器来显示来自应用程序的通知。您可以使用这些界面控制器来显示通知内容。有关如何实现通知界面控制器的信息,请参阅watchOS 应用程序编程指南。
【系统推送集成指南:本地与远程通知编程技巧详解】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
终于来了!一直期待着这篇关于本地和远程通知的指南,希望能详细了解如何实现。
有12位网友表示赞同!
这篇文章对我的App开发很有帮助,我还在为手机提醒困扰呢
有19位网友表示赞同!
系统推送的集成系列文章都写的不错,这次的文章应该是最关心的了!
有8位网友表示赞同!
希望这个指南能涵盖不同平台和开发框架的通知实现方案。
有18位网友表示赞同!
我对如何设计有效的通知非常感兴趣,期待作者分享一些经验。
有7位网友表示赞同!
学习一下这方面知识,可以提升我的App的用户体验。
有5位网友表示赞同!
做个推送提醒APP,现在就开始看这个指南了!
有20位网友表示赞同!
如果可以提供一些代码示例,就更棒啦!
有6位网友表示赞同!
我一直觉得通知功能很重要,能够让App更贴近用户需求。
有15位网友表示赞同!
远程通知确实很强大,能实现多种个性化提醒设置。
有15位网友表示赞同!
本地通知的处理速度肯定更快吧,适合一些重要的信息推送。
有6位网友表示赞同!
看来要学习一下Android和iOS的区别了,两种平台的通知机制应该不同吧?
有20位网友表示赞同!
希望能详细解释如何进行通知的个性化定制,比如不同的提醒声音、图标等等。
有16位网友表示赞同!
希望这个指南能涵盖最新的技术和方法,而不是过时的方案
有6位网友表示赞同!
系统推送的集成系列文章一直很受欢迎,期待这次也不例外!
有19位网友表示赞同!
看来要加把劲学习一下Android开发了,想让我自己开发一个App来使用远程通知的功能!
有16位网友表示赞同!
如果能够提供一些常见的错误解决方法,就更好了。
有6位网友表示赞同!
我有一个APP的想法,需要用到远程通知功能,正好有机会学习一下。
有19位网友表示赞同!