Firebase In-App Messaging to prompt previous versions of users to update!

13d936e697fe0f4fa96f926d0a712f6c?s=47 Sansan
September 29, 2020

Firebase In-App Messaging to prompt previous versions of users to update!

■イベント
After iOSDC Japan 2020
https://zozotech-inc.connpass.com/event/185754/

■登壇概要
タイトル:FirebaseIn-AppMessagingで過去バージョンのユーザーへ更新を促したい!
登壇者:Sansan事業部 プロダクト開発部 中川泰夫

※アニメーション付きは以下にてご覧いただけます。
https://ynakagawa33.github.io/After_iOSDC_Japan_2020/Slide.html

▼Sansan Builders Blog
https://buildersbox.corp-sansan.com/

13d936e697fe0f4fa96f926d0a712f6c?s=128

Sansan

September 29, 2020
Tweet

Transcript

  1. Firebase In-App Messaging で 過去バージョンのユーザーへ更新を促 したい! After iOSDC Japan 2020

    Sansan株式会社 Sansan事業部 プロダクト開発部 中川 泰夫 1 1
  2. ⾃⼰紹介 iOS Engineer@Sansan bat43 / yosino58 @ynakagawa33 2 2

  3. アジェンダ . あらすじ . Firebase In-App Messaging で実現できること . Firebase

    In-App Messaging を採⽤するメリット . Sansan に Firebase In-App Messaging を導⼊してみた . まとめ 3 3
  4. あらすじ 4 4

  5. とあるプロジェクトにて PM 「バージョンアップなしに過去バージョンのユーザーへガ イドできないか?」 私「Firebase In-App Messaging が使えるかなー?」 技術調査開始 5

    5
  6. Firebase In-App Messaging で実現できること 6 6

  7. Firebase In-App Messaging で実現できること Firebase In-App Messaging は アクティブユーザーへ⽂脈に応じ たメッセージを配信できます

    7 7
  8. Firebase In-App Messaging を採⽤するメリット 8 8

  9. Firebase In-App Messaging を採⽤するメリット . メッセージを実装する度にコードを増やさずに済む . 特定のユーザーに特定のタイミングでメッセージを送信でき る .

    メッセージごとにデザインのカスタマイズができる 9 9
  10. Firebase In-App Messaging を採⽤するメリット . メッセージを実装する度にコードを増やさずに済む . 特定のユーザーに特定のタイミングでメッセージを送信でき る .

    メッセージごとにデザインのカスタマイズができる 10 10
  11. メッセージを実装する 度にコードを増やさず に済む ※ 画像はイメージです 11 11

  12. Firebase In-App Messaging を採⽤するメリット . メッセージを実装する度にコードを増やさずに済む . 特定のユーザーに特定のタイミングでメッセージを送信でき る .

    メッセージごとにデザインのカスタマイズができる 12 12
  13. 特定のユーザーに特定のタイミングで メッセージを送信できる ユーザー タイミング アプリ / バージョン / ⾔語 /

    プロパティ / オーディエン ス / Predications / 初回起 動 / 前回の利⽤からの経過 ⽇ on_foregrand / app_launch / app_exception / dynamic_link_open / os_update / screen_view / session_start 13 13
  14. Firebase In-App Messaging を採⽤するメリット . メッセージを実装する度にコードを増やさずに済む . 特定のユーザーに特定のタイミングでメッセージを送信でき る .

    メッセージごとにデザインのカスタマイズができる 14 14
  15. メッセージごとにデザイン のカスタマイズができる カード モーダル 画像のみ トップバナー 15 15

  16. Sansan に Firebase In-App Messaging を導⼊してみた 16 16

  17. Sansan に Firebase In-App Messaging を導⼊してみた . 事前準備 . アプリに

    Firebase In-App Messaging を追加する . テストメッセージを送信する 17 17
  18. Sansan に Firebase In-App Messaging を導⼊してみた . 事前準備 . アプリに

    Firebase In-App Messaging を追加する . テストメッセージを送信する 18 18
  19. 事前準備 Firebase が有効なアプリ Xcode 10.3 以降 CocoaPods 1.4.0 以降 19

    19
  20. Firebase を有効に してない⼈向け プロジェクトを作成する 20 20

  21. Firebase を有効に してない⼈向け アプリを作成する 21 21

  22. Firebase を有効にしてな い⼈向け ダウンロードした GoogleService-Info.plist をXcode プロジェクト ルートへ追加し、 すべてのターゲットに追加 22

    22
  23. Sansan に Firebase In-App Messaging を導⼊してみた . 事前準備 . アプリに

    Firebase In-App Messaging を追加する . テストメッセージを送信する 23 23
  24. アプリに Firebase In-App Messaging を追加する Podfile で次の Pod をインクルードします ※

    事前に CocoaPods の導⼊を済ませておいてください pod 'Firebase' pod 'Firebase/InAppMessaging' pod 'Firebase/Analytics' pod install を実⾏し、 .xcworkspace ファイルを 開きます ※ うまく⾏かなかったら、 pod update 24 24
  25. アプリに Firebase In-App Messaging を追加する Firebase モジュールを UIApplicationDelegate に インポート

    import Firebase 25 25
  26. アプリに Firebase In-App Messaging を追加する FirebaseApp 共有インスタンスを構成 通常はアプリの application:didFinishLaunchingWithOptions: メソッド

    // Use Firebase library to configure APIs FirebaseApp.configure() 26 26
  27. Sansan に Firebase In-App Messaging を導⼊してみた . 事前準備 . アプリに

    Firebase In-App Messaging を追加する . テストメッセージを送信する 27 27
  28. テストメッセージを送信 する Xcode プロジェクトを開き、上 部のメニューバーから Product > Scheme > Edit

    scheme の順に選択 28 28
  29. テストメッセージを送信 する ポップアップ表⽰されたダイア ログの Arguments タブを開 く 29 29

  30. テストメッセージを送信 する Arguments Passed On Launch で + Add items

    を クリック 新しく作成されたフィールドに 「-FIRDebugEnabled」と⼊⼒ 30 30
  31. テストメッセージを送信する Close をクリックし、アプリを実⾏します。 アプリの実⾏が開始されたら、Xcode コンソールのログで次 の⾏を探します。 [Firebase/InAppMessaging][I-IAM180017] Starting InAppMessaging runtime

    with Instance ID YOUR_APP_ID 31 31
  32. テストメッセージを送信する Starting InAppMessaging runtime でフィルターす ると探しやすい 32 32

  33. テストメッセージを 送信する Firebase コンソールで In-App Messaging を開きます。 33 33

  34. テストメッセージを 送信する 最初のキャンペーンを作 成 をクリックします。 34 34

  35. テストメッセージを 送信する メッセージの タイトルを⼊⼒します メッセージレイアウト はトップバナーを選び ます 35 35

  36. テストメッセージを 送信する デバイスでテスト をク リックします 36 36

  37. テストメッセージを 送信する インストール ID の追 加 フィールドにアプリ の Firebase インストー

    ル ID を⼊⼒します。 37 37
  38. テストメッセージを 送信する テスト をクリックして メッセージを送信しま す。 38 38

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

  40. まとめ 40 40

  41. この話には続きがあります 41 41

  42. Firebase In-App Messaging 採⽤されんかった 42 42

  43. なぜ、採⽤できなかったか . 外部サービスに依存することによるリスク . すでにあるお知らせの機能を拡張したほうが運⽤⾯で楽 . アプリのアップデートを促すプロジェクトが別にあった 43 43

  44. なぜ、採⽤できなかったか . 外部サービスに依存することによるリスク . すでにあるお知らせの機能を拡張したほうが運⽤⾯で楽 . アプリのアップデートを促すプロジェクトが別にあった 44 44

  45. 外部サービスに依存 することによるリス ク Sansan アプリは AWS にすでに依存している ベータ版である In-App Messaging

    に依存する ことは可⽤性の観点から 難しい 45 45
  46. なぜ、採⽤できなかったか . 外部サービスに依存することによるリスク . すでにあるお知らせの機能を拡張したほうが運⽤⾯で楽 . アプリのアップデートを促すプロジェクトが別にあった 46 46

  47. すでにあるお知らせの 機能を拡張したほうが 運⽤⾯で楽 お知らせを出せば、デイ リーで 900 タップされ ている (DAU 65000)

    お知らせに Push 通知を つけたり、トップ画⾯に フルスクリーンで出した り… 47 47
  48. なぜ、採⽤できなかったか . 外部サービスに依存することによるリスク . すでにあるお知らせの機能を拡張したほうが運⽤⾯で楽 . アプリのアップデートを促すプロジェクトが別にあった 48 48

  49. アプリのアップデートを促すプロジェクトが別 にあった ArtSabintsev/Siren を使って、 App Store のメタ情報と アプリバージョンを⽐較して、ユーザーにアプリの更新を促 す この機能とお知らせの合わせ技で

    PM の欲求を満たせる 49 49
  50. まとめ 50 50

  51. まとめ Firebase を導⼊しておけば、アプリ内メッセージは簡単に表 ⽰できる ただし、外部サービスなので、リスク分析した上で⽤法、容 量を守って使おう 51 51

  52. 52 52