2016-08-30 13 views
3

TLためUNotificationContent threadIdentifierを設定する方法; DR:UNNotificationContentオブジェクトのthreadIdentifierプロパティに対応するAPNを通知ペイロードJSONに設定するキーは何のニーズ?例えば"category"キーはcategoryIdentifierプロパティに対応します。iOSの10リモート通知


iOS 10では、通知が展開されたときに表示コントローラを表示できるように、Notification Content Extensionを導入しました。

私たちが提供するビューコントローラは、メソッドを実装する必要があるUNNotificationContentExtensionプロトコルに準拠しています。あなたのビューコントローラが表示されている間、このメソッドを複数回呼び出すことができ

この方法の説明は次のパラグラフを含んでいます。具体的には、threadIdentifierの値がすでに表示されている通知のスレッド識別子と一致する新しい通知が到着したときに再び呼び出されます。

ローカル通知のコードには、プロパティが設定されている可能性がありますが、サーバーからAPNに送信されるリモート通知用に設定する方法はわかりません。

UNNotificationContentドキュメントは、ここでプロパティについて説明します。http://developer.apple.com/reference/usernotifications/unnotificationcontent

次JSONは("thread""thread-identifier")私が試したキーが含まれています

{ 
    "aps" : { 
     "alert" : "Hello World!", 
     "sound" : "default", 
     "category" : "example-category", 
     "thread" : "example-thread", 
     "thread-identifier" : "example-thread-identifier" 
    } 
    "custom-field" : "some value", 
} 

私はおよそアップルから任意のドキュメントを見つけることができませんこれを設定する方法。誰も助けることができますか?

答えて

9

私はこのプロパティを入力するための正しいキーが"thread-id"キーであることをAppleの連絡先から発見しました。次のように

だから、JSONはのAPNに送られたが、次のとおりです。

{ 
    "aps" : { 
     "alert" : "Hello World!", 
     "sound" : "default", 
     "category" : "example-category", 
     "thread-id" : "my conversation blah blah" 
    } 
    "custom-field" : "some value", 
} 

これはnotification.request.content.threadIdentifierを経由して、あなたの通知内容エクステンションのアクセスUNNotificationContentオブジェクトのプロパティthreadIdentifierに移入されます。

この値を"thread-id"に設定すると、コンテンツ拡張子のdidReceive(_:)メソッドが複数回使用されることを意味します。最初に通知を展開するときは最初に、新しい通知が同じ"thread-id"の値で到着するときはいつも再び通知を展開します。

iOS 10が正式にリリースされると、これが公式ドキュメントに追加されることを前提としています。

関連する問題