APNsの認証情報の設定は、iOSネイティブの設定と同じです。iOSの「APNs認証情報の設定」を参照して設定を行ってください。
Facebookの PushNotificationiOS がインストールされていることを確認してください。インストールされていない場合は、react-native-push-notification リポジトリを参考にインストールを行い、以下の手順に進んでください。
プッシュ通知を使用するための権限を要求します。
デバイス用のプッシュトークンを取得し、PushTokenが変更されたことをチャネルトークに通知します。
ユーザーがプッシュ通知を受信したことをチャネルトークに通知します。
プッシュ通知を処理するために、以下のガイドをiOSプロジェクトに追加してください。
以下のガイドは、React Native公式ガイドに準拠しています。
AppDelegate.swift
1. AppDelegate.h
UNUserNotificationCenterを採用します。実装例は以下の通りです。
2. AppDelegate.m
以下の内容を参考に、AppDelegateの実装を修正してください。
以下の例は、アプリがバックグラウンドにある場合や終了している状態でのチャネルトークプッシュ通知を処理する方法です。AppDelegate.m に追加してください。
ユーザーがプッシュ通知をタップしてアプリを起動した際に、該当のメッセージ画面を自動的に開きたい場合は、以下の例をApp.jsのcomponentDidMount()メソッドに追加してください。
この拡張機能を追加することで、アプリがバックグラウンドや終了状態にあるときでも、チャネルトークのリモートプッシュ通知に適切に反応できるようになります。
チャネルトークはこの拡張機能の追加を強く推奨しています。これを設定しない場合、フォローアップメッセージとリモート通知の両方が重複して届いてしまう可能性があります。設定の詳細については、iOS通知拡張機能に関するドキュメントを参照してプロジェクトに組み込んでください。
このセクションでは、Android でシステムプッシュ通知をサポートする方法について説明します。
Android API レベル 33(Tiramisu)以降でシステムプッシュ通知を使用するには、POST_NOTIFICATIONS 権限が必要です
チャネルトーク Android SDK は、この権限を自動でリクエストしません。アプリケーション側で手動でリクエストする必要があります。詳細は、通知に関するAndroid公式ドキュメントをご参照ください。
「Firebase 設定ガイド」に従ってAndroidプロジェクトを構成します。
google-service.jsonファイルをダウンロードし、アプリ階層のモジュールのルートディレクトリに配置します。
プロジェクトの概要 > プロジェクトの設定に移動します。

Cloud Messagingタブに移動し、サービスアカウントの管理をクリックします。

サービスアカウントを作成する前に、ロールを作成します。ロールに移動してください。

ロールを作成をクリックします。

詳細を入力し、権限を追加をクリックします。

cloudmessaging.messages.create 権限を持つロールを作成します。フィルタを使用してキーワードで検索できます。「ロールで権限をフィルタ」フィールドではなく、「プロパティ名または値を入力」フィールドにキーワードを入力していることを確認してください。


サービスアカウントのページに戻り、サービスアカウントを作成をクリックします。

詳細を入力し、作成して続行をクリックします。

ロールを選択をクリックします。

ステップ6で作成したロールを選択します。

サービスアカウントの鍵を管理に移動します。


[鍵を追加] - [新しい鍵を作成] からJSON形式で鍵を作成します。


チャネルデスクの [チャネル設定] - [セキュリティ・開発] - [モバイルSDK通知] - [Android] に、その鍵ファイルをアップロードします。

バックグラウンドおよび終了(Quit)状態のメッセージ
アプリがバックグラウンドや終了状態にあるときにメッセージを正常に受信するためには、FCMハンドラーの登録順序に注意する必要があります。詳細については Firebase公式ガイドドキュメントをご確認ください。
プロジェクトですでにFirebaseを導入しているかどうかに応じて、以下のいずれかの手順に従ってください。
これまでプロジェクトでFirebaseを使用していなかった場合は、アプリレベルの plugin-android-fcmへの依存関係を追加するだけで完了です。このモジュールがFirebase Serviceを自動的に登録し、Firebaseメッセージを処理するため、追加の実装作業は必要ありません。
すでに他の用途で Firebase を使用している場合は、既存の FirebaseMessagingService 内で、受信したプッシュ通知の情報をSDKに転送する必要があります。これには ChannelIO.receivePushNotification()メソッドを使用します。
次に、Firebaseメッセージが届いたことをSDKに通知するように設定します。
ユーザーがプッシュ通知をクリックした際にチャット画面へ遷移させるには、App.jsの componentDidMountの最後に以下の行を追加してください。