プッシュメッセージのカスタマイズ
プッシュメッセージを送信する際、APNs では制御用フィールドを使ってプッシュ通知の詳細動作をカスタマイズすることができます。
Kii Cloud でプッシュメッセージを送信する際は、ユーザープッシュ通知 (Push to User) と 管理者メッセージのプッシュ通知(Direct Push) で、ここに示す制御用フィールドを設定できます。サーバー上変更のプッシュ通知(Push to App) では Kii Cloud でのデフォルトの設定が使用され、設定できません。
APNs の通知メッセージに含まれるデータのうち、特に重要なものを以下に示します。これらの詳細な解説や、その他のタグは 公式ドキュメント をご覧ください。
下記の制御用フィールド以外にも、プッシュメッセージの内部にモバイルアプリで使用するカスタムデータを含めることができます。APNs では、プッシュメッセージのペイロード全体で 4096 バイトしかサポートしないため、カスタムデータを設計する際には上限サイズを超えないようにご注意ください。
通知センターのメッセージ:aps/alert/body
プッシュメッセージの alert
キーに含まれる body
キーまたは alert
キー自体によって、通知センターに表示するメッセージの文字列を指定できます。指定がない場合、通知センターへの通知は行われません。
モバイルアプリがフォアグラウンドにある場合は通知センターへの表示なしでプッシュ通知を処理できますが、それ以外の状態では通知センターにメッセージが表示されます。ユーザーがその通知を選択すると、モバイルアプリが起動してプッシュメッセージが処理されます。
以下は、KiiTestApp アプリで、alert
キーに「Hello」を指定した場合の画面です。
バッジ:aps/badge
バッジはホーム画面のアイコン右上に表示される数値です。プッシュメッセージの badge
キーで指定します。モバイルアプリがフォアグラウンドで動作していない状態でプッシュ通知を受信すると、新しい値が反映されます。0 以下の値を指定すると表示を消去できます。
バッジの数値は指定した値そのものが出力されるため、インクリメントしたい場合は、送信前に計算する必要があります。
サウンド:aps/sound
通知センターにプッシュ通知を受けたときに鳴らすサウンドを指定できます。プッシュメッセージの sound
キーで指定します。モバイルアプリがフォアグラウンドで動作していて、直接メッセージを受け取った場合、サウンドは鳴りません。
サウンドは、対象となるモバイルアプリ内で、メインのアプリケーションバンドルに含まれている必要があります。
サイレント通知:aps/content-available
content-available
キー(値は常に 1)によって、サイレント通知を行うかどうかを指定できます。サイレント通知を行うと、モバイルアプリがバックグラウンドで動作している場合でもプッシュメッセージをプログラムで直接受け取ることができます。ただし、モバイルアプリが停止している場合はプッシュメッセージを受け取ることができません。
サイレント通知を有効にするには、プッシュメッセージの content-available
キーに値 1
を設定する一方で、alert
、sound
、badge
の各キーを除外する必要があります。これらのキーが含まれると通知センターなどでユーザーがメッセージを受け取るため、サイレント通知になりません。また、Xcode で サイレント通知を設定 しておく必要があります。
なお、content-available
キーと、alert
キーなどを同時に設定することもできますが、この場合、特に iOS ネイティブアプリの実装では通知の際に呼び出されるメソッドやそのタイミングにご注意ください。詳細は、受信メソッドの組み合わせ を参照してください。
カテゴリー:aps/category
通知アクションの種類を指定するカテゴリーを指定できます。
通知アクションはプッシュ通知の初期化処理で定義し、通知アクションで使用するカテゴリーをプッシュメッセージで指定する必要があります。実装方法は、アクション付きプッシュ通知の初期化 を参照してください。