このチュートリアルに沿っていくには、Expoプロジェクトが必要になります。 Expo Goアプリ以外の環境で、Expoアプリの中でプシュッ通知を送りたい場合には、Firebase Cloud Messaging (FCM)を設定するのが必要です。
クライエント側の設定
1.FirebaseコンソールでFirebaseプロジェクトを作ります。
2. プロジェクトコンソールで、アンドロイドのアイコンにクリックして、設定の手順に従います(ステップ3はしなくていいです)。入力するAndroid パッケージ名とapp.json
のandroid.package
のバリューは同一だと確認して下さい。 app.json
で、android.package
が無ければ、追加します。
3.google-services.json
ファイルをダウンロードして、Expoアプリのルートにペストします。
4. app.jsonに次のコードを追加します:
{
...
"android": {
"googleServicesFile": "./google-services.json",
...
}
}
5. Google Cloud Platformで、APIキーの制限が正しく設定されている事を確認します。プッシュ通知が正しく機能するためには、FirebaseでAPIキーが制限されていない(キーは任意のAPIを呼び出すことができます)か、Firebase CloudMessagingAPI
とFirebaseInstallationsAPI
両方にアクセスできる必要があります。APIキーはgoogle-services.json
にあります。
{
...
"client": [
{
"api_key": [
{
"current_key" "<あなたのAPIキー>",
}
],
}
]
}
6. 最後に、アプリの新しいビルドを作成します。eas build --platform android
(またはクラシックビルドシステムを使用している場合はexpo build:android
)を実行します。
サーバー側の設定
Expoがあなたの資格情報を使用してサーバーから通知を送信するには、秘密のサーバーキーをアップロードする必要があります。このキーは、Firebaseコンソールのプロジェクトにあります。
1. Firebaseコンソールで、サイドバーの上にある設定アイコン(プロジェクトの概要の右側)をクリックして、「プロジェクト設定」にクリックします。
2. 設定で「Cloud Messaging」」をクリックします。
3. 「サーバーキー」の隣に表示されるトークンをコピーします。
4. expo push:android:upload --api-key <コピーしたトークン>
を実行します。