Apple Watch OS 2如何显示/隐藏自定义通知中的操作按钮

时间:2016-01-28 11:00:20

标签: ios push-notification watchkit apple-watch watch-os-2

我正在构建一个Apple watch os 2 app扩展程序,我需要实现通知。当我阅读苹果文档时,我播下了我需要的是一个自定义通知,所以为它构建了UI,但问题是我必须处理多个通知案例而不是所有的都有一个操作按钮,所以我的问题是如何更改操作按钮的名称以及是否可以隐藏它。

我知道可以使用PushNotificationPayload.apns文件创建操作按钮,也可以在设置操作按钮和功能的apns文件中创建操作按钮,但是也可以在代码中执行此操作(隐藏/显示按钮操作和还要调整它的名字。

我在想我可以在didReceiveRemoteNotification中执行一些实现:withCompletion:?

以下是一些背景信息:

enter image description here enter image description here

更新1

再次阅读这个苹果doc后,我做了下一步的修改:

  1. 实施了另一个通知接口控制器并检查了"具有动态接口"
  2. enter image description here

    1. 添加"通知类别名称"
    2. enter image description here

      1. 创建了" WKUserNotificationInterfaceController"的另一个子类。并将其与故事板中的新自定义通知相关联
      2. 管理以测试在使用"类别"来通知到达时加载了正确的分类。键和每个自定义类别的正确值,在我的情况下" 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"
                }
             ]
          }
        

        更新2

        阅读Adding Action Buttons to Notifications的文档后,我认为这是我需要做的,也请阅读tutorial。 但主要区别在于,这样做也会影响我的iOS应用程序,我只希望操作按钮用于我在手表上检索的通知,这是否可以在IOS应用程序的app委托中添加操作并且只影响我手表应用程序上的通知外观?

0 个答案:

没有答案