Firebase コマンドツールをインストールする

以前、Firebaseを使ってプッシュ通知を送ることをしました。 今回はiOS端末側からプッシュ通知を送ることに挑戦します。

前回の記事はこちらです。

Firebase CloudMessagingのプッシュ通知でハマった

順序として


  1. Firestoreのデータを更新する
  2. Firebaseの CloudFunction を使ってFirestoreのデータ更新をハンドリング
  3. CloudFunctionからPush通知を送る

という流れです。 そのCloudFunctionを使うのにFirebaseのコマンドをインストールする必要があります。

この記事ではFirebaseコマンドをインストールしてCloudFunctionを利用できるようにする所までを解説したいと思います。



公式手順に従う

まずは「Firebaseコンソール画面 > Function」をクリック。 まだFunctionを初めて利用する人はページの手順にしたがって「Functionの設定」を行なっていきます。

CloudFunctions の設定

手順に従いターミナルを開いて以下を入力します。

$ npm install -g firebase-tools

ここでうまくインストールできた人はおめでとうございます。 自分の場合は Error: Method Not Allowed に遭遇したので、まずはそれを解決していきます。



Error: Method Not Allowed の解決

Method Not Allowed

エラー画面の最後に書いてある Node.jsnpm のバージョンが古いのでまずはそれをアップデートします。 公式ページにアクセスして「10.15.1 LTS」をダウンロード。

node.js 最新版ダウンロード

インストール終了後、もう一度先ほどのインストールコマンドを叩きます。 バージョンを新しくしたら、うまくインストールできたようなので次に進みます。



firebase コマンドを叩いてみる

公式の手順にしたがって、プロジェクト用のディレクトリを作り、そこに移動してからFirebeseにコマンドでログインします。

$ mkdir Document/sample
$ cd Document/sample

$ firebase login
command not found

ということで firebase コマンドのパスが見当たらないようなのでパスを通します。



firebaseコマンドのパス設定

まずは npm のコマンドの参照場所を確認。

$ npm get prefix
/Users/[user-name]/.npm-global

続いて上記のパスが見えるようにパスを設定します。

$ sudo vi ~/.bash_profile

// ↓ を追記
#firebase
export PATH="$HOME/.npm-global/bin:$PATH”

その後、設定を更新します。

$ exec $SHELL -l


firebaseにコマンドラインからログイン

では先ほどの firebase login コマンドをもう一度行います。

コマンドを叩くとブラウザが立ち上がり、ログインするGoogleアカウントを選択します。 すると以下の画面が表示され、コマンドライン側も完了します。

firebase ログイン完了
$ sudo firebase login
? Allow Firebase to collect anonymous CLI usage and error reporting information? Yes
Visit this URL on any device to log in:
https://accounts.google.com/o/oauth2/auth?client_id=.....etc

Waiting for authentication...
✔  Success! Logged in as *****@gmail.com


初期化作業

続いて公式の手順に従って firebase init コマンドを叩き、初期化作業を行います。

$ firebase init
.
. // ここで色々な作業が行われる
.
✔  Firebase initialization complete!

初期化中にはいくつかの選択式の質問を聞かれます。


  1. firebaseのどのプロジェクトを利用するのか?
  2. 言語は何を利用するか?
  3. ESLintを利用するか?
  4. 今すぐnpmでインストールしますか?

ESLintとは?
コードを実際に実行する前に構文ミスなどがないかを確認するためのツールです。


firebase 初期化完了

初期化が全て終了すると現在のディレクトリ内に functions ディレクトリが出来上がっているはずです。 「functions > index.js」が実際に実装していく場所になります。

次回の記事で、また続きを書こうと思います。

0 コメント