【问题标题】:iOS - Adding actions to remote notifications. What am I missing?iOS - 向远程通知添加操作。我错过了什么?
【发布时间】:2017-01-05 12:15:21
【问题描述】:

我正在尝试向 iOS 远程通知添加操作。

这是我发送给休斯顿 (https://github.com/nomad/houston) 的命令

apn push "APNS_TOKEN_HERE" -c /Users/johannwerner/Desktop/apple_push_notification.pem -P '{"aps":{"alert":{"action-loc-key":"OK","title":"hello","body":"Hello"},"category":"ACTIONABLE"}}' 

当应用程序从推送通知启动并且我从 didFinishWithOptions 方法记录 launchOptions 时,我得到以下信息

{
    UIApplicationLaunchOptionsRemoteNotificationKey =     {
        aps =         {
            alert =             {
                "action-loc-key" = OK;
                body = Hello;
                title = hello;
            };
            category = ACTIONABLE;
        };
    };
}

当我在代码中注册通知时,我正在使用以下代码。

if (NSClassFromString(@"UNUserNotificationCenter")) {

    UNNotificationAction* snoozeAction = [UNNotificationAction
                                          actionWithIdentifier:@"SNOOZE_ACTION"
                                          title:@"Snooze"
                                          options:UNNotificationActionOptionNone];

    UNNotificationCategory* generalCategory = [UNNotificationCategory
                                               categoryWithIdentifier:@"GENERAL"
                                               actions:@[snoozeAction]
                                               intentIdentifiers:@[@"ACTIONABLE"]
                                               options:UNNotificationCategoryOptionCustomDismissAction];



    UNAuthorizationOptions options = (UNAuthorizationOptionBadge | UNAuthorizationOptionSound |UNAuthorizationOptionAlert);
    UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];

    [center setNotificationCategories:[NSSet setWithObjects:generalCategory, nil]];

    center.delegate = self;
    [center requestAuthorizationWithOptions:options completionHandler:^(BOOL granted, NSError * _Nullable error)
     {
         if( !error ){
             [Localytics didRequestUserNotificationAuthorizationWithOptions:options
                                                                    granted:granted];
             [[UIApplication sharedApplication] registerForRemoteNotifications];
         }

         [[NSNotificationCenter defaultCenter] postNotificationName:PUSH_DELEGATE_AFTER_REGISTERED  object: nil];
     }];
}

我收到一个标题和正文为“你好”的推送,但推送通知上没有按钮或操作。

我已经通过这个指南https://nrj.io/simple-interactive-notifications-in-ios-8/

以及苹果文档 https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH10-SW1 用于有效载荷

https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/SupportingNotificationsinYourApp.html 用于向通知添加操作。

【问题讨论】:

  • 按通知获取按钮,不直接显示。
  • 我已推送通知或向左滑动以按视图但没有其他按钮

标签: ios notifications apple-push-notifications ios10


【解决方案1】:

终于找到了。在我的有效负载中,我将类别作为字符串“可操作”发送。应该是“一般”

【讨论】:

    猜你喜欢
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    相关资源
    最近更新 更多