如何在以下用例的通知扩展和应用程序之间进行通信?

Posted

技术标签:

【中文标题】如何在以下用例的通知扩展和应用程序之间进行通信?【英文标题】:How to communicate between Notification Extension and app for below use case? 【发布时间】:2019-12-02 19:13:57 【问题描述】:

我有一个特定的用例:

客户端应用程序具有电影数据以及在应用程序中播放电影的功能。

现在我想向用户发送通知,在通知负载中我只想提及电影 ID 和电影海报 url。 通过通知服务扩展,我可以下载电影海报 url,然后在 iPhone 屏幕上出现通知时显示它。 加号通知也有自定义按钮(播放电影)。

现在,我想添加一些功能,例如,每当用户点击“播放电影”按钮时,通知扩展程序应该与我的应用交互并且我的应用应该开始播放电影。

如何在应用扩展程序和应用程序之间进行通信,以便在扩展程序上点击自定义操作,在应用程序上播放电影?

我能想到的一种可能方式是在两个目标上共享处理程序类。然后打电话给他们。

还有其他更好的方法吗?

【问题讨论】:

你是想从扩展中的点击按钮转到应用程序还是在通知中播放视频 在应用内播放视频。 你有通知服务和内容吗? 是的,我都有。 【参考方案1】:

与我的想法相比,这非常容易。

所以只是在这里发布一个答案,它可以帮助其他人。

您可以处理来自共享 UNUserNotificationCenter 对象的委托对象的选定操作。

当用户选择一个动作时,系统会在后台启动你的应用程序并调用代理的 userNotificationCenter(_:didReceive:withCompletionHandler:) 方法。

将响应对象的 actionIdentifier 属性中的值与您的应用的一项操作相匹配。

【讨论】:

以上是关于如何在以下用例的通知扩展和应用程序之间进行通信?的主要内容,如果未能解决你的问题,请参考以下文章

用于失败测试用例的 J Meter 电子邮件配置

用例之间的可视化关系

如果有一个项目我们怎么进行前期准备工作及测试用例的选取,在编写自动化测试用例过程中应该遵守以下几点原则?--web用例的稳定性和效率如何提高:

执行测试用例应注意啥?

七分钟教会你如何编写一个合格的测试用例

以下题目均在bookstore项目上完成(请先运行数据库文件): 1编写单元测试用例,对用户注册功能的Action层进行测试。(注意:测试用例应考虑成功和失败的情况)