问题标签 [unnotificationserviceextension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
528 浏览

swift - 通知服务扩展不在应用安装时运行

我已经成功地为我的应用程序实现了推送通知。我还激活了通知服务扩展以满足我的需要。当我卸载应用程序并再次从 Xcode 运行应用程序时出现问题,服务扩展不起作用。只有当我从 Xcode 显式运行它以使其工作时,它才有效。如何通过仅安装应用程序而无需从 Xcode 运行扩展程序来使其工作?

0 投票
1 回答
377 浏览

ios - APNS 仅显示一个待处理通知

我已经成功地为我的 ios 应用程序实现了推送通知服务。我已经生成了所需的证书并且代码有效。当设备与互联网断开连接并接收到一些通知(待处理且未显示)时,就会出现问题,然后当设备再次连接到互联网时......仅显示一个待处理的apns推送通知。我将php用于我的后端,将 NotificationServiceExtension 用于附件等。

这是我的php代码

我的服务扩展如下:-

解决方案
根据@Li Sim 的链接,这就是我所做的......我从我的服务器发送的每个通知不仅包含最新通知,还包含由“\n”分隔的每个未读通知。然后 ios 通知会正确显示它们。为了跟踪已读和未读通知,我在后端保留了一个 read_status 键,一旦在 NotificationContentExtension中收到通知,该键就会更新 (https://developer.apple.com/documentation/usernotifications/unnotificatio nserviceextension )。它用于在收到 apns 推送时修改内容并执行一些代码。希望这对将来的某人有所帮助:)

0 投票
1 回答
1038 浏览

ios - 如何处理通知服务扩展崩溃导致的崩溃?

从通知服务扩展变得奇怪我认为这可能是由于从 receivedNotification 方法发送 AWS 事件可能需要更多时间导致操作系统杀死它。如果这是这种情况,那么我应该如何处理崩溃并防止它发生。请检查崩溃日志,

0 投票
2 回答
948 浏览

ios - iOS中临时目录的文件大小限制是多少?

我正在尝试保存从此处下载的大小为 7.9MB 的图像。但是在'try data.write ...'行,扩展程序崩溃了,我在控制台中得到了这个。

内核 EXC_RESOURCE -> 通知扩展 [3137] 超出内存限制:ActiveHard 12 MB(致命)

内核 46710.034 内存状态:killing_specific_process pid 3137 [通知扩展](每个进程限制 3)-memorystatus_available_pages:73906

ReportCrash 开始延长事务计时器默认 18:39:53.104640 +0530

ReportCrash 进程通知扩展 [3137] 被 jetsam 杀死,原因是每个进程限制

是不是因为 7.9MB 的大小太大而无法处理。如果是,那么它没有意义,因为有必要在创建 UNNotificationAttachment 对象之前将媒体保存在临时存储中。在官方文档中,png 文件的限制为 10 MB,视频为 50 MB。我该如何解决这个问题?

0 投票
1 回答
1934 浏览

ios - 为什么不使用 removeDeliveredNotifications 删除通知?

直到最近(我相信在 iOS 12 发布之前),从通知中心删除远程推送通知按预期工作,使用removeDeliveredNotifications.

突然之间,通知服务扩展中没有任何代码更改,通知不再被删除。

该功能刚刚完成而不删除通知。在真实设备上调试时,它显示matchingNotifications包含通知并且正确提供了要删除的通知 ID。

对于测试,调用removeAllDeliveredNotifications()工作并删除所有通知。

上面的函数被调用override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void)

这里有什么问题?

0 投票
1 回答
875 浏览

ios - iOS 推送通知横幅清除操作按钮

当用户从主屏幕清除通知时,我想做一些事情,当用户点击推送通知横幅上的清除按钮时,是否有可能触发,我最终在视图上添加了自定义按钮,但这是不可行的。

在此处输入图像描述

附加图像我想在用户点击这个明确的动作时触发任何想法???

我已经这样做了,但它在视图上添加按钮,如弹出窗口

0 投票
2 回答
221 浏览

ios - 修改 UNNotificationService 扩展中推送通知有效负载中的“声音”属性

我正在使用 UNNotificationService 扩展来更新收到的推送通知的有效负载内容。我能够更改显示的警报文本并且正确显示更新的文本。然而变化

“声音”:“默认” => “声音”:“something.caf”

不播放修改后的声音。播放默认提示音。

音频文件“something.caf”随App打包,当后端服务器接收到的Payload中包含“sound”:“something.caf”时,可以正常播放。

对我应该看什么有什么建议吗?(缺少配置等)

谢谢

0 投票
1 回答
201 浏览

ios - 通知内容扩展设置

我已经为我的应用程序设置了通知内容扩展,但它没有在远程推送中调用。我已经阅读了下面的苹果开发指南,我已经按照上面的说明设置了所有内容。

https://developer.apple.com/documentation/usernotificationsui/customizing_the_appearance_of_notifications?language=objc

我已经查看了常见问题(设置正确的部署目标并从后端和 .plist 中设置类别标识符)。我还尝试设置应用程序传输安全设置以允许任意加载。

信息列表

实际发生的是通知服务扩展被调用。

我是否需要做一些路由以便不调用服务扩展,还是需要从服务扩展重定向到内容扩展?甚至可以同时使用两者吗?

0 投票
2 回答
1997 浏览

ios - UNNotificationServiceExtension - 应用程序处于活动状态时隐藏

我正在使用UNNotificationServiceExtension将图像添加到 iOS APNS 通知。它运行良好,只是即使应用程序处于活动状态(在前台)也会显示通知。当应用程序处于活动状态时,我想使用 toast 处理通知,而不是在活动应用程序的顶部显示标准 iOS 通知。

问:有没有办法从通知服务扩展中检测应用程序的状态,并在应用程序处于活动状态时阻止通知显示?

0 投票
1 回答
548 浏览

ios - 如何删除 iOS 通知服务扩展中的文件?

我有一个UNNotificationServiceExtension将视频和图像下载到Documents目录以供采用UNNotificationContentExtension. 我想删除不再被任何通知使用的媒体文件。我不知道该怎么做。

  • 我试图删除我的 AppDelegate 中的文件,但我相信根据本文档的“与包含的应用程序共享数据”部分,UNNotificationServiceExtension它有自己的目录: https ://developer.apple.com/library/archive/documentation/General /Conceptual/ExtensibilityPG/ExtensionScenarios.html,所以我无法从我的主应用程序访问这些文件。它们在不同的容器中。Documents
  • 我不想创建一个应用组来在应用和扩展程序之间共享数据,这样我就可以删除未使用的文件。
  • 我不想删除 中未使用的文件UNNotificationServiceExtension,因为扩展程序完成工作的时间有限,如果我尝试下载文件并删除其他文件,它可能会超时。

我认为最好的选择是检查任何传递的通知需要哪些文件,并删除通知服务扩展Documents目录中不需要的文件。我对此的担忧是,UNNotificationServiceExtension它只给了很短的时间,在此期间它必须完成所有工作,之后它将超时。

所以,我的问题是,“这是从通知服务扩展中清理未使用文件的正确方法,还是有更好的方法?”