0Pricing
Android Academy · レッスン

通知チャンネル

重要度ごとに通知をまとめます

「通知チャンネル」はCoddyKit上の無料Android Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAndroid Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Android Academyコースには全4レッスンが含まれています。

通知チャンネル

Android 8.0(API 26)以降では、すべての通知をチャンネルに所属させる必要があります。チャンネルを使うと関連する通知をまとめ、システム設定でユーザーが個別に管理できます。

チャンネルが存在する理由

チャンネルを使うと、ユーザーは通知を細かく管理できます。アプリ全体を一括でオンまたはオフにする代わりに、「Promotions」をミュートしながら「Messages」は音が鳴るようにできます。これにより、通知疲れを軽減できます。

チャンネルは必須

API 26以降では、有効なチャンネルなしで通知を投稿しても何も起こりません。そのチャンネルに最初の通知を投稿する前に、チャンネルを作成する必要があります。

重要度レベル

各チャンネルには、デフォルトの動作を決める重要度があります。

  • IMPORTANCE_HIGH:音が鳴り、ヘッドアップ通知として表示される
  • IMPORTANCE_DEFAULT:音が鳴る
  • IMPORTANCE_LOW:音が鳴らない
  • IMPORTANCE_MIN:音が鳴らず、最小化される

チャンネルの作成

id、ユーザーに表示する名前、重要度を指定してNotificationChannelを作成します。

val channel = NotificationChannel(
    "messages",
    "Messages",
    NotificationManager.IMPORTANCE_HIGH
).apply {
    description = "Chat messages from your contacts"
}

システムへの登録

createNotificationChannelを使い、NotificationManagerにチャンネルを一度登録します。同じidで再度作成しても安全で、問題はありません。

val manager = context.getSystemService(NotificationManager::class.java)
manager.createNotificationChannel(channel)

早い段階でチャンネルを作成する

チャンネルはApplication.onCreateで作成するのが適しています。そうすれば、どのコードパスから通知を投稿しても、その前にチャンネルが存在します。

class MyApp : Application() {
    override fun onCreate() {
        super.onCreate()
        createNotificationChannels()
    }
}

チャンネルIDは変更しない

通知を投稿するときに参照するのがチャンネルのidです。idは変更せず、定数として保持してください。そうすれば、ビルダーとチャンネルで常に同じidを使えます。

object Channels {
    const val MESSAGES = "messages"
    const val PROMOTIONS = "promotions"
}

設定を管理するのはユーザー

作成後は、ユーザーがチャンネルを管理します。ユーザーが重要度を下げたりミュートしたりしても、コードで上書きすることはできません。作成時に設定できるのは初期重要度だけです。

チャンネルグループ

チャンネルが多いアプリでは、NotificationChannelGroupを使って設定画面内のセクションに整理できます。たとえば、「Team A」と「Team B」のチャンネルを別々にまとめられます。

API 26未満との互換性

API 26未満のデバイスにはチャンネルがなく、チャンネルIDは単に無視されます。NotificationCompatを使うと、同じコードを各バージョンで安全に動作させられます。

確認テスト

通知チャンネルについて理解度を確認しましょう。

まとめ

通知チャンネルについて学びました。

  • API 26以降では、すべての通知にチャンネルが必要
  • 重要度レベルで、デフォルトの音やヘッドアップ通知の動作を設定する
  • NotificationChannelで作成し、createNotificationChannelで登録する
  • 早い段階でチャンネルを作成し、最終的な設定はユーザーに委ねる

次は、通知の作成です。

よくある質問

「通知チャンネル」レッスンは無料ですか?

はい。「通知チャンネル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Android Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Android Academyコースには全4レッスンが含まれています。

「通知チャンネル」で何を学びますか?

重要度ごとに通知をまとめます ブラウザで直接実行するハンズオンコードでAndroid Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Android Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAndroid Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「通知チャンネル」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAndroid Academyレッスンでコードを書いて実行できますか?

はい。すべてのAndroid Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 通知チャンネル
  2. 通知を作成する
  3. アクションとディープリンク
  4. 通知の実行時権限
← Android Academyに戻る