要件
- アプリは最新バージョンのOneSignal SDKを使用する必要があります。
- Androidユーザーはプッシュ通知権限を有効にする必要があります。
Live notificationsと標準プッシュの比較
通常のプッシュ通知は毎回新しい通知を送信しますが、Live Notificationsは時間の経過とともに更新される単一の通知を使用します。更新は、同じcollapse_idを使用してCreate Message APIを介して送信されます。
設定
1. Notification Service Extensionを実装する
INotificationServiceExtensionを実装するNotificationServiceExtensionクラスを作成します。このクラスは受信通知を傍受し、変更またはオーバーライドできます。
詳細については、Android Notification Service Extensionを参照してください。
NotificationServiceExtention.kt
2. 拡張機能をAndroid Manifestに追加する
3. Live Notificationタイプを作成する
Live Notification Typeは、どのLive Notificationを開始するかを示します。キーを定義する
Live Notificationsはkeyによって参照され、更新がどのようにルーティングされるかを決定します。
NotificationServiceExtention.kt
通知チャネルを作成する
チャネルは通知の動作(サウンド、バイブレーション、外観)を定義します。Live Notificationタイプ用のチャネルを作成する必要があります。推奨事項:- 進行状況通知には低重要度
- バッジを無効にする
- サウンドとバイブレーションを最小限に抑える
Live Notificationをデザインする
Live Notificationをデザインする際、各更新タイプに対して通知デザインを作成する柔軟性があります。作成する各デザインには特定のタイプを割り当てる必要があり、Live Notificationのさまざまなプレゼンテーションが可能になります。NotificationServiceExtention.kt
- 小さいアイコンとアクセントカラー
- 大きいアイコン
- 大きい画像
- アクションボタン
高度なデザインオプションについては、Android custom notification layoutを参照してください。
4. Live Notificationペイロードを抽出する
Live Notificationsは、構造化されたコンテンツを渡すためにadditional_dataフィールドを使用します。
NotificationServiceExtention.kt
Live Notificationスキーマ
| Property | Required | Description |
|---|---|---|
key | Yes | 正しい通知UIを読み込むために使用されます。 |
event | Yes | Live Notificationに対して実行するアクション。 |
event_attributes | No | Live Notificationを初期化するために使用される静的データ。通知に必要なデータを定義する自己定義スキーマ。 |
event_updates | No | Live Notificationの動的コンテンツ。アプリのLive Notification内で定義されたContentStateインターフェースに準拠する必要があります。 |
Example Live Notification Payload
5. Live Notificationイベントを処理する
各Live Notificationは、以下のイベントに応答する必要があります:| Event | Description | Required fields |
|---|---|---|
start | 静的データと動的データでLive Notificationを開始します。 | event_attributes, event_updates |
update | 新しい動的データでLive Notificationを更新します。 | event_updates |
end | Live Notificationを終了して削除します。 | なし |
NotificationServiceExtention.kt
Live Notificationを開始する
Live Notificationを開始する準備ができたら:event_attributesを設定して、Live Notificationの静的データを初期化します。このデータは、Live Notificationの存続期間中は変更されません。event_updatesデータを設定して、Live Notificationの動的データを初期化します。これは、Live Notificationの存続期間中に変更される可能性があり、実際に変更されるデータです。collapse_idを使用して、各更新が前の更新を上書きすることを確認します。このIDは、後続の更新が同じ通知に反映されるように、Live Notificationに固有である必要があります。
curl
Live Notificationを更新する
最初に開始されている限り、Live Notificationは何度でも更新できます。event_updatesデータを設定して、Live Notificationの動的データを初期化します。これは、Live Notificationの存続期間中に変更される可能性があり、実際に変更されるデータであり、Live Notificationのコンテンツを何で更新するかを通知します。
curl
Live Notificationを終了する
cURLリクエストの例curl
Live Notificationの作成に成功しました!関連ドキュメント: