We have made updates to the parameters used during push notification delivery using the Push API. Consequently, some parameters are being deprecated.
As this is a critical announcement requiring action on the customer's end depending on how they utilize the Push API, please review the details with your development team.
Changes
Two new parameters have been added for delivering custom (JSON) format push notifications via the Push API:
- Custom Payload (for iOS):
custom_payload_ios
- Custom Payload (for Android):
custom_payload_android
As a result, the previously used parameter,custom_payload
, will be deprecated.
Scheduled Deprecation Date
February 5, 2025 (Scheduled)
Once deprecated, API requests utilizing custom_payload
will not be accepted. Even previously functional API requests will result in errors and push notifications will not be delivered. Please take note.
Customer Action Required
If you are using custom (JSON) format with the Push API, adjustments to API requests are necessary. Please refer to the following for guidance on how to adapt to the changes accompanying the Push API request format:
Push API Request Format
Before
The custom_payload
was specified as a JSON string within the notification
field.
{
"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\"}}"
}
}
After
Split custom_payload_ios
and custom_payload_android
within the notification
field and specify them as JSON strings.
{
"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\"}}"
}
}
Background
We released support for FCM HTTP v1 API on October 23, 2023.
Repro App Feature Update | Now Supports FCM HTTP v1 API for Android Push Notifications
With this update, it became necessary to convert payloads containing numbers or objects within the data
key used for delivery to Android devices into payloads containing only strings.
Currently, only payloads containing strings can be stored in the Repro dashboard. Any payloads containing numbers or objects will result in errors.
Repro App 仕様変更 | カスタム(JSON)形式のプッシュ通知でUIを改善します
With this change, push notifications sent via the Push API will now only accept payloads within the data
key that consist of strings.
Changes with Migration
When registering custom_payload_android
for custom payload, it is no longer possible to include numbers or objects within the data
key. Only strings should be specified.
Unavailable Payload Formats
Payload formats that cannot be used:
{
"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\"}}}"
}
}
Payload Formats Still Available
{
"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\\\"}\"}}"
}
}
Even if you convert payload formats from unavailable to available, there will be no impact on notifications delivered to the app.
Reference: カスタム(JSON)のAndroid向けプッシュ通知でペイロードを一部自動変換し配信するようになります
Please note that this restriction applies only to custom_payload_android
. custom_payload_ios
remains unaffected.
FAQs
Q: How can I determine if I'm currently using the Push API?
Access the dashboard, and if there are campaigns labeled "API" that are currently active, then you are using the Push API.
However, it's not possible to determine if the custom (JSON) format is being used from the dashboard.
Q: How can I find out what requests I'm making with the Push API?
Unfortunately, we are unable to provide this information.
Please consult with your engineers to confirm if custom_payload
is being used within HTTP requests for push notifications sent via the Push API.
If custom_payload
is being used, adjustments will be necessary by February 5, 2025.
Q: Is it possible to send push notifications for only iOS or only Android?
Depending on the app implementation, this can be achieved.
By specifying {}
for payloads targeted to OSes where notifications are not intended to be displayed, push notifications can still be delivered but not displayed by the app (in this case, they will still be counted in the delivery count).
For inquiries regarding this update
Please contact our Customer Success team or reach out through the chat feature in the dashboard.
We will continue to improve our features to ensure stable service delivery.
Thank you for your continued support in Repro.