タグ: firebase

  • Flutter で Firebase を使うには?導入までのコマンド紹介

    これは何?

    FlutterでFirebaseを使う場合のコマンドの紹介です。

    環境

    • AppleSilicon M1 MacBookAir
    • macOS
    • firebase cli version 13.23.0 
    • Flutter version 3.24.4

    やり方

    1 プロジェクトの作成

    firebase のページにアクセスして、プロジェクトを作成しましょう。

    https://console.firebase.google.com

    firebase

    2 Firebase Cli の設定

    環境ごとに異なると思いますので、各々公式のガイドを参考に進めてください。

    3 CLIの初期操作

    firebase login

    このコマンドでブラウザが立ち上がり、Googleのアカウントの選択と権限の確認が出てきます。

    firebase projects:list

    ログインの確認も兼ねて上記コマンドを実行してみてください。
    ステップ1で作ったプロジェクト名と projectID などが出てくると思います。ProjectID はこの後使うのでコピーしておきましょう。

    4 Flutterへの設定

    まずFlutterプロジェクトのあるディレクトリへ移動しましょう。

    cd あなたのFlutterプロジェクトのディレクトリ

    次に下記コマンドを実行してパッケージを追加します。

    flutter pub add firebase_core

    つづて下記コマンドを実行します。

    dart pub global activate flutterfire_cli

    このコマンドを実行した後、パスを通す必要があります。
    AppleSilicon mac をお使いの方はターミナルはzshだと思いますので下のコマンドを実行します。

    echo 'export PATH="$PATH:$HOME/.pub-cache/bin"' >> ~/.zshrc

    できたら、保存したzshの設定をターミナルに読み込ませるのに下記コマンドを実行します。

    source ~/.zshrc

    最後に以下コマンドを実行します。[さっきコピーしたID]のところは自分のIDで入れ替えてください。

    flutterfire configure --project=さっきコピーしたID

    実行すると

    ✔ Which platforms should your configuration support

    これはどのプラットフォームで使うのか聞かれています。
    スペースを押すとチェックを外せます。
    全部のプラットフォームで使うならこのままEnterを押して進みます。

    次に

    ? Which Android application id (or package name) do you want to use for this configuration, e.g. ‘com.example.app’?

    と聞かれます。これはAndroidのビルドIDなのですが、com.自分の名前.アプリ名 と言った感じでOKです。

    以上でFlutterで使えるようになります。
    お疲れ様でした!

  • Error: Failed to list Firebase projects. See firebase-debug.log for more info.

    これは何?

    firebase projects:list

    のコマンドを使うと下記のエラーが出てしまいました。これの解決のメモです。

    Error: Failed to list Firebase projects. See firebase-debug.log for more info.

    環境

    • AppleSilicon M1 MacBookAir
    • macOS
    • firebase cli version 13.23.0  

    解決方法

    再度ログインし直しましょう。
    firebase のバージョンアップ後にエラーが出ている場合があります。この場合、再度ログインをし直しましょう。

    firebase login --reauth

    私はこれで解決しました!