2015-03-31 15 views
5

chcę dodać wartości do zawiadomienia Apple Obserwować (aktualny ekran używa twardych zakodowanych danych):Apple Obserwować Ładowność Powiadomienie

enter image description here

Wartości chcę dodać to do tych pól: „ilość” "At" i "When". Jak mogę dodać te wartości z pliku PushNotificationPayload.apns i pokazać je w powiadomieniu?

Jest to plik PushNotificationPayload.apns:

{ 
"aps": { 
    "alert": { 
     "body": "New Transaction\n\n", 
     "title": "Optional title" 
    }, 
    "category": "newTransactionCategory" 
}, 

"WatchKit Simulator Actions": [ 
           { 
           "title": "Details", 
           "identifier": "transactionDetailsButtonAction" 
           } 
           ], 

"customKey": "Use this file to define a testing payload for your notifications. The aps dictionary specifies the category, alert text and title. The WatchKit Simulator Actions array can provide info for one or more action buttons in addition to the standard Dismiss button. Any other top level keys are custom payload. If you have multiple such JSON files in your project, you'll be able to select them when choosing to debug the notification interface of your Watch App." 
} 

Odpowiedz

4

Są to kroki,

  • Tworzenie nowej klasy, która jest podklasą WKUserNotificationInterfaceController.

  • z serii ujęć, wybierz scenę dla dynamicznego interfejsu zgłoszenia (jeśli nie zostało to stworzone, włącz „Has dynamiczny interfejs” w atrybucie inspektora statycznej sceny) oraz Identity Inspector ustawić niestandardową klasę jako stworzony powyżej.

  • Teraz zmodyfikować zawartość pliku twoi PushNotificationPayload.apns jak poniżej,

    { 
        "aps": { 
         "alert": { 
          "body": "New Transaction\n\n", 
          "title": "Optional title" 
         }, 
         "category": "newTransactionCategory" 
        }, 
    
        "WatchKit Simulator Actions": [ 
                { 
                "title": "Details", 
                "identifier": "transactionDetailsButtonAction" 
                } 
                ], 
    
        "Amount": "USD 20", 
        "At": "Mc Donalds", 
        "When": "Today", 
    } 
    
  • Po otrzymaniu zdalnego powiadamiania, ta metoda zostanie wywołana w niestandardowej klasy interfejsu zgłoszenie, a otrzymasz klucze niestandardowe słownik "remoteNotification", którego należy użyć do ustawienia tekstu etykiet tutaj.

    -(void)didReceiveRemoteNotification:(NSDictionary *)remoteNotification withCompletion:(void (^)(WKUserNotificationInterfaceType))completionHandler { 
        NSLog(@"remoteNotification Dictionary %@",remoteNotification); 
    
        completionHandler(WKUserNotificationInterfaceTypeCustom); 
    } 
    
  • Ostatni jest debugowanie:

    1. Wybierz swoje cele na górze i wybierz Edycja Programu

    2. Kliknij duplikatu programu na dole i nadać własną nazwę jak „NOTIFICATION- Mywatchkitapp 'etc ...

    3. Następnie wybierz interfejs WatchKit do dynamicznego powiadamiania, powiadomienie ładunek do swojego PushNo tificationPayload.apns i uruchom dla tego celu.

+0

Hi @ DH14-S L, chciałbym wypróbować swoje rozwiązanie. Jednak obecnie mam problem z uruchomieniem niestandardowego powiadomienia o długim wyglądzie. Wysłałem błąd tutaj: http://stackoverflow.com/questions/29341051/how-to-avoid-this-error-took-too-long-to-show-custom-notification-falling-bac/29345228# 29345228 – user1872384

+0

Upewnij się, że klucz "category" jest poprawny w Storyboard i Payload. Następnie sprawdź, czy nie napisałeś długiego kodu "willActivate". – Dhawal

+0

Niestety, to nadal nie rozwiązuje błędu. :(Nawet tworzenie nowego projektu i konfiguracja nowego celu watchkit z włączonym powiadomieniem niestandardowym również da ten błąd ... To jest tak frustrujące ... – user1872384

Powiązane problemy