2017-01-05 3 views
0

Я пытаюсь добавить действие к удаленному уведомлению iOS.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"}}' 

Когда приложение запускается из толкающего уведомления и я вхожу launchOptions от метода didFinishWithOptions я получаю следующее

{ 
    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 для добавления действия в уведомлении.

+0

Нажмите на уведомление, чтобы получить кнопки, он не отображается напрямую. – iphonic

+0

Я нажал на уведомление или нажал влево, чтобы нажать кнопку просмотра, но никаких других кнопок – user1898829

ответ

1

И, наконец, нашел его. В моей полезной нагрузке я отправлял категорию как строку «actionable». Он должен быть «ОБЩИМ»

+0

Это было решением для меня –