Androidの通知チャネルに対応する

ヘッドアップ通知

ヘッドアップ通知に対応させる場合、下記の設定が必要です。

1. Androidアプリ側の設定

ヘッドアップ通知はIMPORTANCE_HIGHの通知チャネルとして設定する必要があるため、アプリ側で適切な設定が必要です。
下記は通知チャネルの設定例です。

NotificationChannel channel = new NotificationChannel("headsup_channel", "ヘッドアップチャンネル", NotificationManager.IMPORTANCE_HIGH);
channel.setDescription("ヘッドアップ通知のテストです");
channel.setShowBadge(true);
notificationManager.createNotificationChannel(channel);

2. KARTE管理画面側の設定

接客サービス作成画面より、プッシュのアクションを選択。

アクション編集画面の「チャンネルID(Android)」に、1で設定したchannel_id(上記例では"headsup_channel")を設定します。


通知音や、ステータスバー表示を行わない通知

通知チャネルの設定

ヘッドアップ通知と同様の方法で、アプリ側でIMPORTANCE_NONEの通知チャネルを作成し、チャンネルIDに作成したIDを指定してください。

NotificationChannel channel = new NotificationChannel("silent_channel", "サイレントチャンネル", NotificationManager.IMPORTANCE_NONE);
...
notificationManager.createNotificationChannel(channel);

通知チャネルの仕様については公式ドキュメントをご確認下さい。

またドキュメントに記載があるように、バッジ等の設定について追加でバッジを無効にする 設定が必要な場合もあります。

すべての通知は、重要度に関係なく、システム UI の邪魔にならない場所(通知ドロワー内など)や、ランチャー アイコンにバッジとして表示されます。ただし、通知バッジの外観は変更できます。


受信時の処理

KARTE側から送信される通知についてはData Messageの形式で送信されるため、通常は受信した通知は自動表示されません。
ただし、アプリ側でKARTE SDKのMessageHandler.handleMessage 等の通知表示ロジックを実行している場合は通知が表示されるため、必要に応じて受信時の処理で表示を行わないような実装が必要になります。


参考: 通知の表示処理を実装する