文系iOSエンジニアの備忘録

エンジニア iOS Swift

Firebase In-App Messagingが良かったゾ〜

どうもおはようございます、こんにちは、こんばんは。

はじめに

現場で3月以降のプロダクトがなかなか決まらず、 技術的に使えそうなものを調査・検証する機会があったので運用はしていないですが調査検証内容を共有ということで投稿しました。

In-App Messagingとは

Firebaseのコンソールから、ポップアップに表示したい画像や文字を設定して、アプリ側で表示する機能です。

起動したいタイミングや表示させたいターゲットも絞り込むことができます。

例えば、割引広告のようなものが実現可能です。

参考:Firebase公式サイト


メリット

★4種類のデザインから(カード、モーダル、画像のみ、トップバナー)選べる。

設定項目は

  • 本文
  • タイトル
  • 画像
  • ボタン名
  • ボタンの遷移先
  • 表示対象
  • 表示タイミング
  • 配色

★一度組み込めば表示、非表示、遷移先の変更など柔軟に対応できる。

★Firebaseのログイベントをトリガーに表示タイミングが設定できる。

★表示に対してのクリック数などがグラフで分かりやすく見れる。

★表示によるOS差分が出ない。

デメリット

★カスタマイズ性がネイティブ実装に比べて低い。  アニメーションや、アプリ特有のデザインにしたい場合は難しい。

実装方法

以下iOS実装方法。

検証環境

  • XCode 11.3
  • auMaasAppDev
  • iOS13.1
  • CocoaPods 1.8.4

組み込み方法

組み込みについては公式のドキュメントを見ながらやればできます。→Firebase アプリ内メッセージングを使ってみる

ただ、自分の場合そのままやるとduplicate symbols for architecture arm64というエラーが出ました。 ライブラリで使っているファイルや変数が被ると出るやつ。 自分のやり方がよくなかったのだろうけど。。

公式に書いてある通りにPodsに以下を追加して pod installすると出ました。

pod 'Firebase'

pod 'Firebase/InAppMessagingDisplay'

Firebase/InAppMessagingDisplayをインストールすると Firebase/InAppMessagingというライブラリも一緒にインストールされるのですが その二つで重複している箇所があって先ほどのエラーが出るというもの。

バージョンがいけないのかもと思い pod updateすると InAppMessagingが削除されビルドが通るように。

でも今度はやはりInAppMessagingがないと機能が使えなく

pod 'Firebase/InAppMessaging'

も別途追記してインストール。そしたらいきました。

※ちなみにpod instalとupdateの違いはpod.lockのバージョンを保持したままインストールするか更新するかの違い。

使ってみる

1.Firebaseコンソールから新規キャンペーンを作成する

f:id:chiltarou1224:20200726160427p:plain

2.宛先を設定

f:id:chiltarou1224:20200726160431p:plain

3.スケジュールを設定

f:id:chiltarou1224:20200726160434p:plain

4.任意でカスタムキーやコンバージョンイベントの設定

コンバージョンイベントを設定していると、ポップアップがどのくらい行われて、そのうちタップした人数が何人かなどが後々グラフで見やすくなります。 カスタムキーはAnalitycsと一緒。

で、こんな感じ。
f:id:chiltarou1224:20200726160811p:plain

最後に

結構現場の開発陣、PO陣問わずチームから良い反応が多かったです。 カスタム性が低いので、とりあえず入れておいて何かあった時にみたいな緊急手段として併用も良いかなという話も出ました。

 

 

ブログの投稿は基本毎日19時頃する予定です。