[レポート]Firebase Meetup in Osaka #4 #fjug

こんにちは、大阪のかずえです。遅くなってしまいましたが先週7/30に開催された「Firebase Meetup in Osaka #4」をレポートします。

Firebase meetupは国内最大のFirebaseコミュニティ Firebase Japan User Group(FJUG)が主催するナレッジ共有イベントです。
FJUGはFirebaseに興味をもつ全ての人を歓迎いたします。

今回の会場はなんばスカイオのWeWorkなんばスカイオ! 行ったのは2回目ですがやはり広くて綺麗ですね。

WeWorkなんばスカイオ

スポンサーセッション ゆめみ大阪に足りないモノ

ゆめみさんは今回の勉強会の会場となっているWeWorkなんばスカイオに大阪オフィスを新しく立ち上げられたそうです。
ですが大阪オフィスの現在のメンバー構成が営業1名+フロントエンジニア3名とのことで、サーバーサイドエンジニアやiOS/Androidエンジニア、PMなど様々な職種の方を現在募集されているとのこと。  

「Firebase Growth Hack」nori(村本章憲) さん

セッションレポート

  • Stamp Inc という会社のCEO
  • Stamp Incは高速プロトタイプの制作をやる会社
    • 抽象的なリクエストを
    • 明確化する
    • プライオリティを決める
    • やらないことを決める
    • MVP(Minimum Variable Product)
  • この中でビジネスを100%成功させる方はいらっしゃいますか
  • 例えば、アイデアをプロダクトにするのに 3ヶ月で1200万かかる
    • サーバサイドエンジニア二人+クライアントサイドエンジニア二人 = 400万/月
    • この人員を3ヶ月稼働 = 1200万
  • ビジネスとして成功するアイデアは全体の 1/3くらい
    • 感覚値
    • つまりビジネスとして成功するには先ほどの1200万を3回=3600万円必要
  • 最初のコストを小さくすることは重要→MVP
  • マーケティングについて
    • エンジニアでマーケティング知識持っている人は珍しい
    • 大阪でマーケティング知っている人は珍しい
  • マーケティングとは
    • ユーザーを知る
    • 新規ユーザー獲得のためのプロモーション
    • 利用継続のためのアプリケーション改善
    • 運用
  • マーケティングは重要、Firebaseをマーケティングに活用できる
  • Audiences
    • ユーザーセグメント機能
    • 対象ユーザー = アクティブユーザー - 課金ユーザーとしてプッシュ通知を送る、などといったことができる
  • Remote Config
    • アプリ動作をリアルタイムに変更
      • ゲームの難易度を低くする
      • 安めのオススメ商品を出す
    • ユーザーに合わせてパーソナライズしていく
  • Cloud Messaging
    • プッシュ通知を送ることができる
    • 最近のアップデートで定期配信できるようになったのがデカイ
    • ユーザーセグメント毎に定期配信ができる
    • アプリ使ってねというプッシュ通知を非アクティブユーザーに送る
    • 課金してねというというプッシュ通知を非課金ユーザーに送る
  • Predictions
    • ユーザーの行動を予測
    • 退会予測
      • 無課金で退会するユーザーがほとんど
      • 退会前に原価ギリギリでもいいから課金してリテンションする。退会したユーザーが戻ってくることはゼロに近いから
  • Firbaseを使ってどんどんサービスを成長させよう
  • Ballcap iOS ライブラリの紹介

感想

最初のビジネスとして成功するアイデアの話、サービスのマーケティングの話、マーケティングにおいてFirebaseを活用する話どれも興味深く聞かせていただきました。
Google Analyticsとも連携するようなことができるのがさすがGoogleが作っているサービスだなという感じがしますね。
Firebaseももちろんですが、マーケティングについても興味が湧いたセッションでした。

「0から始めるFirebase」Zonomaaさん

セッションレポート

  • ゆめみ フロントエンジニア
  • 事前アンケート
    • 1/3 が利用者 2/3がこれからの方
    • もっと利用者を増やしたい
  • まだFirebase使ったことない方に、「なんとなくわかった」と思ってもらうのが今日のゴール
  • Firebaseにどんなイメージがあるか?
    • アプリが簡単に作れるやつ
    • いろんなサービスがあるやつ
    • サービス多すぎてよくわからんやつ
  • 簡単に使えます!
  • 料金プランは三つ
    • spark 無料
      • 無料枠がなくなると500エラーになる
      • 自動的に有料に切り替わるとかはないので安心
    • flame 固定
    • blaze 従量
  • 従量課金がおすすめ
    • 無料枠上限を超えてから課金される
    • 個人開発程度ならお金かからない
  • Firebase サービスについて
    • いっぱい種類があるので今日は以下だけを紹介
    • Firestore
    • Authentication
    • Hosting
    • Functions
  • Cli インストール
    • npmでできる → firebaseコマンドが使えるようになる
    • firebase login Googleアカウントとコマンドを紐付け(GUI)
  • プロジェクト作成
    • 簡単
  • プロジェクトセットアップ
    • ディレクトリ作成
    • firebase init
    • 対話的に各種設定が進む
  • Firebase Hosting
    • initでpublic/index.htmlが作られた
    • firebase deploy だけでpublic/index.htmlが公開される
  • Cloud Functions
    • バックエンドコードを自動的に実行できます
    • Lambdaに近い
    • initでfunctions/jsが生成されている
    • デプロイ
      • firebase deploy —only functons
      • APIのURLが払い出される
    • リージョン指定で東京にする
      • 大阪リージョンもある
    • 無料プランで使っていた場合、Google外部へのリクエストはできない Slackとか
    • 固定か従量課金にしましょう
    • 従量課金をお勧めする大きな理由
  • Cloud Firestore
    • NoSQLデータベース

    • リアルタイム同期

    • ダッシュボードからデータ作成できる

    • ロケーションを東京に変更

    • 大きな三つの概念

    • 概念 例えるなら 具体例 
      Collection フォルダのようなもの Users
      Document ファイルのようなもの Aさん、Bさん、Cさん
      Data テキストのようなもの Aさん、Bさん、Cさん名前とか年齢などの諸情報
  • Authentication

    • 認証
    • 色々あるけど今回は以下二つを紹介
      • メールアドレス認証
      • 匿名
  • FirestoreとAuthenticationを組み合わせて使ってみる
    • AuthenticationでUID発行
    • Firestoreに専用のドキュメントを作る
    • よくある組み合わせ
  • FirestoreとAuthenticationとFunctions、三つ組み合わせて使う
    • Filestoreの作成/更新/削除イベントをトリガーにFunctions発火できる
  • まとめ
    • 色々なサービスを組み合わせて一つのアプリを作っていく

感想

私はこのセッションのターゲットの「Firebaseは名前知ってるくらい」の層なのですが、ゴールに掲げられていたなんとなくわかった状態にはなることができたと思います!本当に簡単そうだなという印象を強く持ちました。

LT

「React + Firebase でアプリを作っている話」ふじた (fffujita_11_)さん

ReactとFirebaseを使って自分用の読者管理アプリ(読んでる本や読んでる時間、メモを残せる)を作られた際の話を披露されました。「FirestoreとRealtime Database どちらを使うか」「Cloud Functions使いたかったけどうまく動かなかった」など具体的な話が面白かったです。

「Flutter + Firebase でデモアプリをつくった的な話」shohei (hukusuke_drum)さん

Firestoreのコンソールでのデータ登録状況とiOS/Androidのアプリ上に表示されているデータが同期するデモアプリを作られて、その実装方法を解説されていました。
私はFlutterは全く知らないのですが、FlutterとFirebaseの連携はとてもシンプルに簡単にできそうでした。このLTで使われたデモアプリのコードは こちら

「Goの関数を CloudFunctions でデプロイした話」Yuji_Onishiさん

あまり情報が出回っていないCloudFunctionsでGoを使った際の知見、ハマったポイントなどを共有されました。デプロイ時に依存関係エラーになってしまいましたが、module間の依存関係を記述するファイル go.modを設置することでエラー解消できたそうです。

「FireSQL」salamander_jpさん

スライド資料

「大阪リージョンの方が東京リージョンより遅い」という噂は嘘(現状では改善されている)、ということを説明されたのちに本題へ。

FireSQLはFirebaseのようなリアルタイムMySQLのことだそうです。Amazon RDSなどにも使うことができます。JavaScriptのSDKもあるとのこと。これを使った複数クライアント間でデータが同期するデモアプリを紹介されていました。

「個人アプリで最低限入れるべきFirebaseの機能」furusin_oriverさん

スライド資料

個人アプリを複数作られていて、その中で学んだ利用すべきFirebase機能をご紹介されていました。

がおすすめとのこと。かつどれも導入が簡単だそうです。