今回は下URLを参考にFirebaseのIn-App Messagingを使ってアプリ内にアラートを出してみました。
【iOS】Firebase In-App Messaging を使ってアプリ内メッセージを送ってみた | DevelopersIO
まずはCocoaPodsでFirebaseをインストールします。
target 'MyApp' do use_frameworks! pod 'Firebase' pod 'FirebaseInAppMessaging', '~> 10.11.0-beta' end
FirebaseInAppMessagingのバージョンはbetaがついているのでバージョン指定をしないと古いものをインストールすることになります。
こちら下URLを参考にしました。
Firebase In-App MessagingをCocoaPodsで導入するとビルドエラーになる | anz blog
次はFirebaseの初期設定を行います。
FirebaseのConsoleからプロジェクトを追加していきます。
プロジェクトの作成が終わったらiOSボタンからiOSアプリを追加していきます。
設定中にダウンロードしたGoogleService-Info.plistはプロジェクトに追加しておきます。
設定が終わったらAppDelegate.swiftにFirebaseの初期化処理を入れます。
import UIKit import Firebase @main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { FirebaseApp.configure() return true } }
これでアプリを起動するとFirebaseにイベントが来ます。
Firebaseの設定が終わったので次はIn-App Messagingを動かしていきます。
まずはメッセージを送るためにデバイスのIDを取得します。
Edit Schemeでスキーマ編集画面に移動してArguments Passed On Launch
に-FIRDebugEnabled
を追加します。
これでアプリを起動するとInstallation IDが取得できるので保存しておきます。
次はFirebase上でアラートを作っていきます。
まずはGoogle CloudでFirebase In-App Messaging APIを有効にします。
次にFirebaseのサイドメニューからMessaging画面に移動してIn-Appメッセージを作ります。
最初の画面でデザインやボタンのアクションの設定をします。
この画面の右側の「デバイスでテスト」に先程取得したInstallation IDを入れる事でテストする事ができます。
実際にテストをすると下のようにアプリ立ち上げるだけでアラートを表示できます。
アラートは他に表示条件も設定する事ができます。
他には表示のトリガーのイベントの設定やコンバージョンの設定など必要な設定が一通り選べるようになっています。
今回はTestEventというイベントが発生した時にアラートが出る設定にしてみました。
アプリ側では下のようにボタンを押したらTestEventを送れるようにしました。
import UIKit import FirebaseAnalytics class ViewController: UIViewController { @IBAction func tapButton() { Analytics.logEvent("TestEvent", parameters: nil) } }
ボタンを押したら下のようにアラートを表示する事ができました。
In-App Messaging試してみたのですがアプリアップデートなしで手軽にアラート出せるのが良さそうです。
ただ表示回数は1人あたり1回/1日のようなのでそこは注意が必要そうです。