我正在构建一个Apple watch os 2 app扩展程序,我需要实现通知。当我阅读苹果文档时,我播下了我需要的是一个自定义通知,所以为它构建了UI,但问题是我必须处理多个通知案例而不是所有的都有一个操作按钮,所以我的问题是如何更改操作按钮的名称以及是否可以隐藏它。
我知道可以使用PushNotificationPayload.apns文件创建操作按钮,也可以在设置操作按钮和功能的apns文件中创建操作按钮,但是也可以在代码中执行此操作(隐藏/显示按钮操作和还要调整它的名字。
我在想我可以在didReceiveRemoteNotification中执行一些实现:withCompletion:?
以下是一些背景信息:
再次阅读这个苹果doc后,我做了下一步的修改:
管理以测试在使用"类别"来通知到达时加载了正确的分类。键和每个自定义类别的正确值,在我的情况下" Cat1"和" Cat2"。
现在唯一的问题是:
如何在本地管理自定义通知按钮?(显示多少个按钮,按钮的标题,以便我不依赖于.apns测试通知中的服务器)
如果无法做到这一点,我的问题就变成了:
服务器的通知应该如何显示(格式)有关显示的操作?我是否仍应将操作发送为:
"WatchKit Simulator Actions": [
{
"title": "First Button",
"identifier": "firstButtonAction"
}
]
或者我应该在aps
密钥中传递它们:
"alert" : {
"body" : "Test message",
"title" : "Optional title",
"action" : [
{
"title" : "First Button",
"identifier" : "firstButtonAction"
}
]
}
阅读Adding Action Buttons to Notifications的文档后,我认为这是我需要做的,也请阅读tutorial。 但主要区别在于,这样做也会影响我的iOS应用程序,我只希望操作按钮用于我在手表上检索的通知,这是否可以在IOS应用程序的app委托中添加操作并且只影响我手表应用程序上的通知外观?