Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 1 year has passed since last update.

Expo用のFirebase Cloud Messaging設定

Last updated at Posted at 2022-04-08

このチュートリアルに沿っていくには、Expoプロジェクトが必要になります。 Expo Goアプリ以外の環境で、Expoアプリの中でプシュッ通知を送りたい場合には、Firebase Cloud Messaging (FCM)を設定するのが必要です。

クライエント側の設定

1.FirebaseコンソールでFirebaseプロジェクトを作ります。

2. プロジェクトコンソールで、アンドロイドのアイコンにクリックして、設定の手順に従います(ステップ3はしなくていいです)。入力するAndroid パッケージ名とapp.jsonandroid.packageのバリューは同一だと確認して下さい。 app.jsonで、android.packageが無ければ、追加します。
Capture d’écran (148)_LI.jpg
3.google-services.jsonファイルをダウンロードして、Expoアプリのルートにペストします。

4. app.jsonに次のコードを追加します:

app.json
{
  ...
  "android": {
    "googleServicesFile": "./google-services.json",
    ...
  }
}

5. Google Cloud Platformで、APIキーの制限が正しく設定されている事を確認します。プッシュ通知が正しく機能するためには、FirebaseでAPIキーが制限されていない(キーは任意のAPIを呼び出すことができます)か、Firebase CloudMessagingAPIFirebaseInstallationsAPI両方にアクセスできる必要があります。APIキーはgoogle-services.jsonにあります。

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 <コピーしたトークン>を実行します。

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?