AndroidアプリにFirebase Cloud Messagingを実装する(1) - アプリとFirebaseを接続する

Firebase Cloud Messagingを使って、Androidアプリにプッシュ通知を導入する方法について書きました。このエントリではその前段階として、AndroidプロジェクトにFirebaseを追加するまでをまとめています。

# 環境
以下の環境を使って実施しています。

* macOS Mojave バージョン10.14.5
* Android Studio 3.4.1

# 実装手順

## 1.プロジェクトの準備
Android Studioを起動して、プロジェクトを作成します。もちろん、FCMが導入されていない既存のプロジェクトを使っても構いません。ここでは以下の通りに作成しておきます。

| 設定項目 | 設定値 |
| --- | --- |
| アプリ名 | MyFirebase |
| Target SDK Version | 26 (Oreo) |

## 2.Firebase Assistantの起動
Android Studioには「Firebase Assistant」というツールが組み込まれています。
手動でAndroidプロジェクトにFirebaseを追加しようとすると、Firebaseコンソールでアプリケーションを作成したり、build.gradleに設定を追加したり、JSONファイルをダウンロードしたりと結構面倒ですが、これを使えばウィザードに従うだけで上記の作業を完了することができます。

Android Studioのメニューから「Tools > Firebase」を選択すると起動します。
<img width="1200" alt="20190524_01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67520/40cb1690-b252-547c-c15d-59e5eb2eceb9.png">

## 3.Firebaseにログイン
Firebase Assistantのツール群から「Cloud Messaging」を選択して展開すると、「Set up Firebase Cloud Messaging」というリンクがあります。これをクリックすると、FCMの実装手順などが表示されます。
まず、Android StudioでFirebaseにログインする必要があります。『Connect to Firebase』というボタンをクリックしてください。
<img width="360" alt="20190524_02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67520/9a5d3753-009f-bcef-5a28-1bdb612ab124.png">

ブラウザが起動し、GoogleからAndroid Studioに必要な権限を与えてよいかの確認が表示されます（下記）。問題なければ『許可』を押してください。なお、Googleにログインしていない場合はログイン画面が表示されます。ログインすると下記の画面に遷移します。
<img width="402" alt="20190524_04.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67520/a36d3648-ec05-8c3b-12ef-53937cc02228.png">

『許可』を押すと以下の画面が表示され、Android Studioに戻るよう指示されます。
<img width="480" alt="20190524_05.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67520/5d6ad12f-2891-7850-a485-276ded948601.png">

## 4.FirebaseプロジェクトとAndroidアプリの接続
Android Studioに戻ると以下の画面が表示され、FirebaseプロジェクトとAndroidアプリを接続するよう求められます。
<img width="480" alt="20190524_06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67520/91c46d5e-d0df-2c7a-b8dc-05c984535b08.png">

* 新規にFirebaseプロジェクトを作成する場合は『Create new Firebase project』をチェックし、その下に任意のプロジェクト名を入力します。
* 既存のFirebaseプロジェクトを利用したい場合は、『Choose an existing Firebase or Google project』をチェックし、その下に表示される一覧から接続したいプロジェクトを選択してください。

終わったら『Connect to Firebase』をクリックします。Android StudioがFirebaseプロジェクトへの接続と各種セットアップを開始されます。
しばらく待つとAndroid Studioの右下にバルーンが表示され、タスクが完了したことを教えてくれます。

## 5.Firebaseのライブラリを設定
手順4を完了してFirebaseプロジェクトとAndroidアプリの接続が終わると、Firebase Assitantの表示が以下のように変わります。『Add FCM to your app』をクリックしてください。
<img width="400" alt="20190524_07.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67520/0c5df428-b67b-4ca3-c9a2-4b086146f651.png">

以下のダイアログが表示されます。『Accept Changes』をクリックすると必要なライブラリ設定がbuild.gradleに行われたあと、その内容がプロジェクトに反映（同期）されます。
<img width="480" alt="20190524_08.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67520/49eedd5a-0242-a187-591e-26ca9eabc9e4.png">

同期が完了すると、Firebase Assistantの表示は以下のようになります。build.gradleの内容を確認して、Firebaseの設定が追加されていることを確認してください。
<img width="400" alt="20190524_09.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67520/3691d502-c904-6f8d-b552-af8405141967.png">

# まとめ
ここまででFirebaseプロジェクトとAndroidアプリを接続までが完了しました。次のエントリで必要なコードを追加して、プッシュ通知を受信する内容について説明したいと思います。

# 改訂履歴

* 2019/05/24
    * 動作・検証環境を変更しました。
    * スクリーンショットを全て更新しました。