カスタム(JSON)形式を利用したカスタムペイロードを使用してプッシュ通知を配信する場合に利用できるキーは、OSごとに異なります。
iOS
Appleで事前に定義されたキーがあります。
事前に定義されているaps dictionaryの各キーについてはiOSが自動で処理するため、アプリ側で実装しなくてもずともバッジを表示させたり、プッシュ通知受信音を変更したりすることが可能です。
Appleが定義しているキー以外の処理を行う場合は、アプリ側で別途実装する必要があります。
「Apple公式で定義されているペイロードキーのリファレンス」をあわせてご確認ください。
下記に、iOS端末に向けてサイレントプッシュを配信し、「1」のバッジを表示させるカスタム(JSON)の例を示します。
{
"audience": {
"user_ids": [
"user-1234"
]
},
"notification": {
"custom_payload_ios": "{\"aps\":{\"content-available\":1,\"badge\":1}}",
"custom_payload_android": "{}"
}
}
Android
Androidではdataキーを利用してカスタム(JSON)形式でプッシュ通知を配信します。
dataキー内には事前に定義されているキーはなく、全てお客様独自のキーとなり、それらをアプリ側で処理します。
詳細は「FCMのデータメッセージの仕様 」をご確認ください。
下記に、Android端末に向けて配信する、具体的なカスタム(JSON)の例を示します。
{
"audience": {
"user_ids": [
"user-1234"
]
},
"notification": {
"custom_payload_ios": "{}",
"custom_payload_android": "{\"data\":{\"custom-title\":\"YOUR_NOTIFICATION_TITLE\",\"custom-message\":\"YOUR_NOTIFICATION_BODY\", \"custom-deeplink\":\"https://docs.repro.io\"}}"
}
}
独自に定義したキーのアプリ側でハンドリング処理は、「プッシュ通知受信時の動作をカスタマイズする」を参考にご対応ください。