質問: iOS(10以上、Swift 4.1)でUserNotificationsを利用したリモートプッシュ通知を実装しているのですが、通知をタップしてアプリが開いたあとに通知によって処理を変えたいと思っています。 タップしてからアプリが開いたあとの処理は `didReceive` 内に記述すれば良いというのは分かりましたが、ペイロードのどの部分に判断するための識別子を記述すれば良いのか分かりません。 公式ドキュメントを見ると `identifier` やカテゴリという概念こそあるものの、これらは別の用途で使うような気がしています。以下のように `aps` と同じ階層にカスタムデータを載せて送信するのが一般的なのでしょうか? ``` { "aps": { "alert" : "Message received from Bob" }, "custom-data": { "open": "profile" } } ```
回答: shiroyuさんと同じように、 同じ階層に書く場合と、 apsの中にカスタムフィールドを入れる場合を見たことがあります。 ``` { "aps": { "alert": "Breaking News!", "sound": "default", "link_url": "https://raywenderlich.com" // カスタムフィールド } } ``` 個人的にはapsはAppleで決まった情報が入っていると考え、apsと同じ階層に書くようにしています。