Firebase In-App Messaging を使ってみる

このクイックスタートでは、Firebase In-App Messaging を設定して最初のメッセージを送信する方法について説明します。

始める前に

Flutter 用の Firebase SDK をインストールして初期化します(まだ行っていない場合)。

プロジェクトに Firebase In-App Messaging SDK を追加する

  1. Flutter プロジェクトのルート ディレクトリから、次のコマンドを実行して Firebase In-App Messaging プラグインをインストールします。

    flutter pub add firebase_in_app_messaging
    
  2. プロジェクトを再ビルドします。

    flutter run
    
  3. Firebase In-App Messaging プラグインをインポートします。

    import 'package:firebase_in_app_messaging/firebase_in_app_messaging.dart';
    

テスト メッセージを送信する

アプリのインストール ID を取得する

電力を節約するため、Firebase In-App Messaging はサーバーからのメッセージの取得を 1 日に 1 回だけ行います。このような設定ではテストが困難になることがあるため、Firebase コンソールでは、メッセージをオンデマンドで表示するテストデバイスを指定することができます。

このテストデバイスは FID によって決定されます。アプリの実行時にコンソールの出力を確認して、テストアプリの FID を確認します。

Android では、メッセージは次のようになります。

I/FIAM.Headless: Starting InAppMessaging runtime with Installation ID YOUR_INSTALLATION_ID

iOS の場合、ランタイム コマンドの引数 -FIRDebugEnabled を指定してアプリを実行します。

  1. Xcode プロジェクトを開き、上部のメニューバーから [Product] > [Scheme] > [Edit scheme] の順に選択します。
  2. ポップアップ表示されたダイアログで [Arguments] タブを開きます。
  3. [Arguments Passed On Launch] で [+ Add items] をクリックします。
  4. 新しく作成されたフィールドに「-FIRDebugEnabled」と入力します。
  5. [Close] をクリックし、アプリを実行します。

アプリの実行が開始されたら、Xcode コンソールのログで次の行を探します。

[Firebase/InAppMessaging][I-IAM180017] Starting InAppMessaging runtime with Firebase Installation ID YOUR_INSTALLATION_ID

テストデバイスにメッセージを送る

テストデバイスでアプリを起動し、Firebase インストール ID(FID)を取得したら、テスト メッセージを送信して Firebase In-App Messaging の設定を試すことができます。

  1. Firebase コンソールで [Messaging] を開きます。
  2. 初めてキャンペーンを作成する場合、[最初のキャンペーンを作成] をクリックします。
    1. [Firebase In-App メッセージ] を選択し、[作成] をクリックします。
  3. それ以外の場合は、[キャンペーン] タブで [新しいキャンペーンを作成] をクリックします。
    1. [In-App Messaging] を選択します。
  4. 最初のメッセージのタイトルを入力します。
  5. [デバイスでテスト] をクリックします。
  6. [インストール ID の追加] フィールドにアプリの Firebase インストール ID を入力します。
  7. [テスト] をクリックしてメッセージを送信します。

[テスト] をクリックするとすぐに Firebase In-App Messaging からテスト メッセージが送信されます。このメッセージを表示するには、テストデバイスでアプリを閉じてから開き直します。

デバイスがテストデバイスかどうかを確認するには、次のいずれかのログ メッセージを探します。

Android

I/FIAM.Headless: Setting this device as a test device

iOS

[Firebase/InAppMessaging][I-IAM180017] Seeing test message in fetch response. Turn the current instance into a testing instance.