Firestoreを使って純広告配信機能を作った話(Android)

gree_tech
gree_techgree_tech
Firestoreを使って純広告配信機能
を作った話
Masahiro Higuchi / 樋口雅拓
● グリーグループのリミア株式会社で、LIMIA という住まい領域のメディアを
作っています。ゲーム会社ですが、最近はメディアに力を入れています。
● 機械学習のエンジニアですが、iOS, Android,JSなどもやっている何でも屋
です。4歳の娘のパパ。twitter: @mahiguch1
● https://limia.jp/
● https://arine.jp/
● https://aumo.jp/
● https://moguna.com/
● https://www.mine-3m.com/mine/
Firestoreの説明
Firestoreとは?
● FirestoreはFirebaseの機能の一つ。Document Databaseと呼ばれるも
の。2019年1月31日にGAになった。
● SDKがあり、iOS/Androidから直接アクセス可能。
● データの入力はFirebase管理画面から可能。
—> つまり、アプリ実装のみで、ClientServer型のシステムを構築できる!
Firestoreのモデル
● Document DatabaseとはNoSQLの一種。
● OracleやMySQLといったRDBでは事前にSchemaを定義しておくが、Document Databaseで
は後から自由に変更できる。 jsonをそのまま格納できるイメージ。
● データはDocumentという場所に格納され、それが Collectionでまとめられている。
● 分かりやすくMySQLで例えると、Collectionがテーブル、Documentがレコード。
—> 正直分かりづらいと思うので、画面とコードを見ながら説明していきます!
Firestoreへのデータ入力方法
● 左: コレクション
● 中: ドキュメント
● 右: ドキュメントの中身
管理画面があるので、ここから
入力できる。
Firestoreからのデータ取得方法
Collectionと
Documentを指
定することで取得
可能。
Firestoreから複数データ取得方法
SQLのように
whereで絞り込み
が可能
自作した純広告配信機能の説明
純広告 is 何?
● 自社で販売している広告商品
● AdNet経由で流れてくる広告と区別するためにこう呼んでいる
● 表示回数やクリック数を保証しているので、それを達成する必要がある。
● 関東在住40代男性のような絞り込みをかける必要がある
ターゲティングはUserPropertyxRemoteConfig
● ユーザの所在地、年齢、性別の推定情報などをUserPropertyに設定する。
● それを使ってRemoteConfigで細かく制御
● 条件に一致していた場合true、それ以外の場合falseを返すようにする。
その情報を取得する
documentSnapshotsには、掲載枠で絞り込んだ全案件が入っています。
それをObjectにして、配信比率で絞り込み、制約条件でも絞り込みます。
残った候補の中からランダムに 1つを掲載します。
制約条件に一致しているかどうかは、 RemoteConfigから取得した値で判定しています。
罠: バージョンアップでnullableになる
バージョンアップすると、取得したドキュメントがnullableになっていった。GAに
なったので、もう無いと思いますが。。。
まとめ
● Firestoreを使うと、アプリだけでClientServerシステムができる。
● UserProperty x RemoteConfigと組み合わせると、色々できそう。
● Firestoreはバージョンアップするとnullableなものが増えている可能性が
あるので注意
ご静聴、ありがとうございました!
1 of 14

More Related Content

More from gree_tech(20)

海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験
gree_tech593 views

Recently uploaded(7)

SSH超入門SSH超入門
SSH超入門
Toru Miyahara12 views
図解で理解するvetKD図解で理解するvetKD
図解で理解するvetKD
ryoo toku84 views
lt.pptxlt.pptx
lt.pptx
tomochamarika39 views
robotics42.pptxrobotics42.pptx
robotics42.pptx
Natsutani Minoru165 views

Firestoreを使って純広告配信機能を作った話(Android)