2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linkbal(リンクバル)Advent Calendar 2023

Day 23

【Firebase In-App Messaging】デバイスでテストがうまく動作しない時に確認すること

Posted at

この記事は リンクバルアドベントカレンダー2023 の23日目の記事です。

Firebaseのサービスの中に、アプリ内にダイアログなどでメッセージを送ることができるIn-App Messaging(FIAM)というものがあります。

以下はメッセージのイメージです。

その中のテスト機能を使って、メッセージ表示のテストをしているときに、あることを見落としていて、時間を食ってしまうということがありました。

その時は検索しても情報が出てこなかったので、同じ問題に直面している方に向けて記事を書きました。

Firebase In-App Messagingの使い方を軽く紹介

FIAMではカスタムイベントトリガーというものがあり、これを使うと、任意のタイミングでメッセージをユーザーに表示させることができます。

詳しくは省略しますが、プロジェクトでFirebaseを使えるように設定をした後、
Swiftの場合、アプリ側では以下のように記述して、

InAppMessaging.inAppMessaging().triggerEvent("onClick");

Firebaseコンソール側では以下のようにtriggerEventで設定したイベントを追加します。

このように設定すると、アプリでonClick引数を指定したtriggerEvent関数が呼ばれたときに、メッセージが表示されます。

遭遇した問題:デバイスでテストでイベントがうまくトリガーされない

FIAMではユーザーに配信する前に、特定のデバイスでテストをすることができます。
遭遇した問題は、デバイスでテストの時に、triggerEventが呼ばれた時でなく、
アプリの起動時にメッセージがトリガーされてしまうというものです。

問題の原因:テストメッセージの自動トリガー

原因はデバイスでテストする際の注として、しっかり書いてあるのですが、
デバイスでテストする際はアプリ起動時に自動的にトリガーされるというものでした。
要はただの見落としです😭

スクリーンショット 2023-12-23 21.50.57.png

他の原因

ただの見落としでなく、そもそも表示がされない、という問題に直面することもあるかと思います。
その場合の確認すべき点もいくつかまとめてみました。

1,APIが無効になっている
Firebase In-App Messaging APIが有効になっていないと、使えないので、GCPのコンソールでAPIについて確認して、無効になっていたら有効にしてみてください。

2,インストールIDが間違っている
デバイスでテストする時には端末固有のインストールIDをログから調べて、コンソールで設定するかと思います。
それが、正しいか今一度ログで確認してみてください。特にシュミレーターを複数使っている場合などは、違うIDを使ってしまっているかもしれません。

最後に

FIAMは2023年現在はベータ版ということもあり、情報が少ない気がしますが、とても簡単にアプリ内メッセージを実装できるので、積極的に活用していきたいです。

参考
Firebase In-App Messaging

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?