このたび、プッシュAPIでプッシュ通知の配信時に使用するパラメータを追加しました。それに伴い、廃止されるパラメータがあります。
プッシュAPIの利用方法によってお客様側で対応が必要となる重要なお知らせのため、開発担当のエンジニア様と内容を確認してください。
変更内容
プッシュAPIでカスタム(JSON)形式のプッシュ通知配信リクエストに使用できるパラメータを2つ追加しました。
- カスタムペイロード(iOS向け):
custom_payload_ios
- カスタムペイロード(Android向け):
custom_payload_android
それに伴い、これまで利用されていたパラメータ custom_payload
を廃止します。
廃止予定日
2025 年 2 月 5 日 (予定)
実際に廃止されると、custom_payload
を利用したAPIリクエストは受領されません。
廃止前に問題がなかったAPIリクエストであっても、エラーとなりプッシュ通知は配信できません。ご注意ください。
お客様に対応いただくこと
プッシュAPIでカスタム(JSON)形式を利用している場合、APIへのリクエスト修正が必要です。
後述するプッシュAPI リクエスト形式と移行に伴って変わることを参考に対応してください。
プッシュAPI リクエスト形式
変更前
notification
フィールド内の custom_payload
を JSON 文字列で指定していました。
{
"audience": {
"user_ids": [
"iOS_user",
"Android_user"
]
},
"notification": {
"custom_payload":"{\"aps\": {\"alert\": {\"title\": \"iOSタイトル\", \"body\": \"iOS本文\"},\"badge\":1},\"rpr_url\": \"https://repro.io\",\"data\":{\"rpr_title\":\"Androidタイトル\",\"rpr_body\":\"Android本文\",\"rpr_url\":\"https://repro.io\"}}"
}
}
変更後
notification
フィールド内で custom_payload_ios
と custom_payload_android
で分割し、JSON 文字列で指定します。
{
"audience": {
"user_ids": [
"iOS_user",
"Android_user"
]
},
"notification": {
"custom_payload_ios":"{\"aps\": {\"alert\": {\"title\": \"iOSタイトル\", \"body\": \"iOS本文\"},\"badge\":1},\"rpr_url\": \"https://repro.io\"}",
"custom_payload_android": "{\"data\":{\"rpr_title\":\"Androidタイトル\",\"rpr_body\":\"Android本文\",\"rpr_url\":\"https://repro.io\"}}"
}
}
対応の背景
2023年10月23日に FCM HTTP v1 API の対応をリリースしました。
Repro App 機能アップデート | Androidへのプッシュ通知で FCM HTTP v1 API に対応しました
これに伴い、Android端末向けの配信に利用する data
キーの中に、数値・オブジェクトが含まれても、文字列のみを含むペイロードへ変換して配信する必要がありました。
現在は、Repro管理画面上でも文字列のみを含むペイロードしか保存できず、数値・オブジェクトが含まれるとエラーになります。
Repro App 仕様変更 | カスタム(JSON)形式のプッシュ通知でUIを改善します
今回の変更により、プッシュAPIでも data
キーの中が文字列であるペイロードのリクエストのみを受領できるようにします。
移行に伴って変わること
カスタムペイロード(Android向け)の登録時、data
キーの中身には、数値・オブジェクトを含めることができません。
文字列のみを指定する必要があります。
利用できないペイロード形式
{
"audience": {
"user_ids": [
"Android_user"
]
},
"notification": {
"custom_payload_ios": "{}",
"custom_payload_android": "{\"data\":{\"name\":\"Alice\",\"age\":30,\"isStudent\":false,\"address\":{\"street\":\"123 Main St\",\"city\":\"Wonderland\"}}}"
}
}
今後も利用できるペイロード形式
{
"audience": {
"user_ids": [
"Android_user"
]
},
"notification": {
"custom_payload_ios": "{}",
"custom_payload_android": "{\"data\":{\"name\":\"Alice\",\"age\":\"30\",\"isStudent\":\"false\",\"address\":\"{\\\"street\\\":\\\"123 Main St\\\",\\\"city\\\":\\\"Wonderland\\\"}\"}}"
}
}
利用できないペイロード形式を、利用できるペイロード形式へ変換を行っても、アプリへの通知影響はありません。
参考:カスタム(JSON)のAndroid向けプッシュ通知でペイロードを一部自動変換し配信するようになります
なお、この制限はカスタムペイロード(Android向け) custom_payload_android
のみの適用です。カスタムペイロード(iOS向け)custom_payload_ios
は影響を受けません。
よくある質問
Q.現在、プッシュAPIを利用しているか判断できますか?
管理画面にアクセスし、APIと記載されているキャンペーンが公開中だと、プッシュAPIを利用しています。
しかし、管理画面上ではカスタム(JSON)形式が利用されているかは判断できません。
Q.プッシュAPIでどのようなリクエストを行っているかわかりません。教えてもらえますか?
恐れ入りますが、弊社担当ではお答えできません。
プッシュAPIを利用したプッシュ通知の配信で、カスタム(JSON)形式である custom_payload
をHTTPリクエスト内で利用しているか、エンジニア様にご確認ください。custom_payload
を利用されている場合、2025 年 2 月 5 日までに改修が必要です。
Q.iOS向けのみ、Android向けのみのプッシュ通知は配信できますか?
アプリ実装によっては実現できます。
配信しないOS向けのペイロードに {}
のみを指定することで、プッシュ通知の配信処理が発生しても、アプリ側で表示させないプッシュ通知として実現します。(この場合、配信数には計上されます)
本アップデートに関するお問い合わせ
カスタマーサクセス担当、もしくは管理画面のチャットよりお問い合わせください。
今後も安定したサービスを提供するため、機能の改善を行っていきますので引き続きReproをよろしくお願いします。