popup_itemsによるプッシュ通知ペイロード指定
概要
popup
パラメータではなく、popup_items
を利用すると、プッシュ通知で送られるペイロードを詳細に指定することが可能です。
popup_items
はマップ形式で入力します。以下は入力の例になります。
{
"body": "ポップアップフリーワード",
"title": "ポップアップタイトル",
"iphone": {
"thread-id": "thread-sample",
"custom_keys": {
"_ios_custom1": "sample",
"_ios_custom2": 20
}
},
"android": {
"custom_keys": {
"_android_custom1": true
}
}
}
ペイロードキーリファレンス
現在、以下のキーを指定することが可能です。
各キーの詳細について
対応するiOS, androidの公式ペイロードキーリファレンスをご参照ください。
非対応のキーについて
各キーは端末のOSのバージョンによっては対応していない場合がございます。対応していない場合、そのパラメータについては無視されます。ご理解の上、ご利用ください。
パラメータ名 | 必須 | 型 | 対応するiOSペイロードキー | 対応するandroidペイロードキー | 詳細 |
---|---|---|---|---|---|
body | 必須 | 文字列 | aps.alert.loc-key |
data.message |
ポップアップフリーワード。256文字以下であること。androidについては、UTF8でbase64encodeされた文字列がセットされる。 |
title | 任意 | 文字列 | aps.alert.title |
未対応 | ポップアップに表示されるタイトル。30文字以下であること。 |
iphone | 任意 | オブジェクト | - | - | 後述のiOSキーリファレンスを参照。 |
android | 任意 | オブジェクト | - | - | 後述のandroidキーリファレンスを参照。 |
iOSキーリファレンス
パラメータ名 | 必須 | 型 | 対応するiOSペイロードキー | 詳細 |
---|---|---|---|---|
thread-id | 任意 | 文字列 | aps.thread-id |
ロック画面でプッシュ通知がグルーピングされる際のグループID。 |
badge | 任意 | 整数 | aps.badge |
アプリの左上に表示されるバッジの数。デフォルトは配信未読数。 |
sound | 任意 | 文字列 | aps.sound |
プッシュ通知が送られた際の通知音。音声ファイルの格納パスを指定する。 |
custom_keys | 任意 | object | 右記参照 | マップ形式で指定。指定されたキーがペイロード直下に展開される。詳細は下記参照。 |
soundパラメータについて
こちらは現在、ベータ版です。音声ファイルは、各アプリで用意したものを指定する必要があります。
custom_keys
custom_keys
はペイロードにお客様がご自由にキーと値をセットできるものです。
以下のルールに従う必要があります。
- キー名は
_
から始まり、半角英数字と-
,_
のみ利用可。(_[A-Za-z0-9_\-]
) - 値は、文字列、数字、およびbool値のいずれかであること。
androidキーリファレンス
パラメータ名 | 必須 | 型 | 対応するandroidペイロードキー | 詳細 |
---|---|---|---|---|
collapse_key | 任意 | 文字列 | collapse_key |
後述 |
priority | 任意 | 文字列 | priority |
配信の優先度を指定。 設定可能値: normal or high デフォルト値: normal ※ Android SDK ver. 7.3.1 以降のみ対応。 |
custom_keys | 任意 | object | 右記参照 | マップ形式で指定。指定されたキーがdata キー内に展開される。その他はiOSのcustom_keys と同様 |
collapse_key
- 文字列 or nullを設定可能。
- 文字列の場合、半角英数字と
-
,_
のみ利用可。(^[A-Za-z0-9_\-]$
) - 指定しない場合、androidペイロードの
collapse_key
には、デフォルト値として、popinfoiridge
がセットされる。 - nullを設定すると、androidペイロードから、
collapse_key
のキーが削除される、もしくはnullがセットされる。 - プログラムで利用する場合は、「キーなし」、「nullがセットされる」のどちらの場合でも対応できるようお願いします。
その他制約事項
- popup_itemsは、JSON文字列に変換(UTF-8)した際、2KB以下である必要があります。
サンプル
popup_itemsの指定
{
"body": "ポップアップフリーワード",
"title": "ポップアップタイトル",
"iphone": {
"thread-id": "thread-sample",
"custom_keys": {
"_ios_custom1": "sample",
"_ios_custom2": 20
}
},
"android": {
"custom_keys": {
"_android_custom1": true
},
"priority": "high"
}
}
作成されるiOSペイロードの例
{
"aps": {
"alert": {
"loc-key": "ポップアップフリーワード",
"title": "ポップアップタイトル"
},
"thread-id": "thread-sample",
"sound": "default",
"mutable-content": 1, // 固定値
"badge": 1
},
"mid": 12345, // 配信ID
"category": "popinfoNotificationCategory", // 固定値(配信で設定したcategoryの値とは異なるので注意)
"popinfo_category": "", // 配信で設定したcategoryの値
"push-provider": "popinfo", // 固定値
"icon": "https://example.com/example.png", // 配信でセットしたicon
"url": "https://example.com/example.html", // 配信でセットしたurl
"has_detail": true, // お知らせのみ配信の場合、falseとなる
"_ios_custom1": "sample",
"_ios_custom2": 20
}
作成されるandroidペイロードの例(Legacy)
{
"data": {
"id": "12345", // 配信ID
"message": "44Od44OD44OX44Ki44OD44OX44OV44Oq44O844Ov44O844OJ", // base64encodeされた文字列
"icon": "https://example.com/example.png", // 配信でセットしたicon
"link_url": "https://example.com/example.html", // 配信でセットしたurl
"has_detail": "true", // お知らせのみ配信の場合、"false"となる
"push-provider": "popinfo", // 固定値
"category": "", // 配信で設定したcategoryの値
"_android_custom1": "true"
},
"collapse_key": "popinfoiridge",
"priority": "high",
"dry_run": false
}
作成されるandroidペイロードの例(V1)
{
"message": {
"data": {
"id": "12345", // 配信ID
"message": "44Od44OD44OX44Ki44OD44OX44OV44Oq44O844Ov44O844OJ", // base64encodeされた文字列
"icon": "https://example.com/example.png", // 配信でセットしたicon
"link_url": "https://example.com/example.html", // 配信でセットしたurl
"has_detail": "true", // お知らせのみ配信の場合、"false"となる
"push-provider": "popinfo", // 固定値
"category": "", // 配信で設定したcategoryの値
"_android_custom1": "true"
},
"android": {
"collapse_key": "popinfoiridge",
"priority": "high"
}
}
}
Warning
上記ペイロードの項目は互換性の対象に含まれません。予告なく変更される可能性がございます。 互換性を保証する項目については、お問い合わせください。