SlideShare a Scribd company logo
Firebase & BigQuery で
Android アプリの成⻑を⽀える
2020/05/30(⼟)
Android Bazaar and Conference 2020 Spring
Kenichi Tatsuhama
本⽇お話しすること
• リリースしたアプリが、どのように使われているか分析するた
めのツール、使い⽅を知る
• 分析結果から、アプリの成⻑のためのアプローチを取る
→ アプリやビジネスの成功につなげる
想定読者:開発者、PO/PM、経営者
About me
⾠濱健⼀(Kenichi Tatsuhama)
• @tatsuhama50
• Sansan, Inc. Android developer
• GDG Shikoku Organizer
• 徳島県神⼭町在住
Agenda
• Firebase とは
• BigQuery とは
• Firebase を BigQuery にリンクする
• Firebase が BigQuery に出⼒するデータ
• BigQuery からデータを引いてみる
• Data Portal を使う
• ユーザにアプローチする
Firebase とは
Firebase とは
• Google が提供するアプリケーションのバックエンド
• 開発⽤ツールだけでなく、品質・分析・拡⼤もサポート
https://firebase.google.com/
Firebase とは
• 【品質】クラッシュの発⽣状況や詳細を確認できる
その他の機能も活⽤していますか?
Firebase とは
• 【分析】Firebase だけでも様々な情報が確認できる
• アクティブユーザ
• 過去30分のユーザ
• 上位のコンバージョン
イベント
• 1⽇のユーザー
エンゲージメント
• アプリでの収益源
• アプリの安定性
Firebase とは
• 【分析】Firebase だけでも様々な情報が確認できる
• 最新リリースの
導⼊状況
• 新規ユーザの
獲得⽅法
• ユーザ維持率
• ユーザの
詳細データ
• プラットフォーム
の内訳
Firebase とは
• 【分析】Funnels で離脱ポイントを可視化
ここでの離脱が⼤きい
Firebase とは
• 【分析】ユーザセグメントを定義でき、変化率を確認できる
←レベル1をクリアしたユーザ
Firebase とは
• 【拡⼤】いわゆるプッシュ通知
• 前述のセグメントに絞って送ることもできる
Firebase とは
• 【拡⼤】アプリ内にポップアップを表⽰
• 前述のセグメントに絞って送ることもできる
Firebase とは
• これらの分析・拡⼤機能を有効活⽤するために、Firebase に可能な
限り様々な情報を送っておくことをオススメします。
• 例)
• User property
• サービス上の UserId (必要に応じて、組織 Id なども)
• 有償ユーザかどうか
• アプリ上の設定値(暗号化機能の on / off 値、…
• Event
• ボタンのタップ
• ゲームのクリア
• プロパティ
• テキストメッセージを送信したイベント:⽂字数
• ゲームをクリアしたときのイベント:かかった時間、スコア
BigQuery とは
BigQuery とは
• Google が提供するペタバイト規模の低料⾦フルマネージド ア
ナリティクス データ ウェアハウス
• NoOps(管理するインフラストラクチャが存在せず、データ
ベース管理者が必要ない)
• 使い慣れた SQL を使⽤してデータから有⽤な情報を⾒つけ出
す作業に集中できる
https://cloud.google.com/bigquery/docs
BigQuery とは
• 料⾦体系
• ストレージや操作により細か
く設定されている
• ⼀定の無料枠がある
• 定額プランも⽤意されている
https://cloud.google.com/bigquery/pricing - pricing_summary
Firebase を BigQuery に
リンクする
Firebase を BigQuery にリンクする
• リンクをすると以下のデータにアクセスできるようになる
• Google アナリティクス アプリとアプリ + ウェブ プロパティのデータ
• Firebase 向け Google アナリティクスのデータ
• Crashlytics の致命的なクラッシュ イベントと致命的でないクラッ
シュ イベント、およびスタック トレースからの詳細
• Predictions の⽣データ
• Cloud Messaging の詳細なデータ
• キャプチャされた各パフォーマンス モニタリング イベントの詳細
https://support.google.com/firebase/answer/6318765
※前述の通り、Firebase だけでも様々な分析は可能です。
Firebase を BigQuery にリンクする
• リンクの⼿順
• プロジェクトの設定>統合> BigQuery のカードの「リンク」
Firebase を BigQuery にリンクする
有効にしたいサービスをチェック
プロジェクトに複数の
アプリがある場合は、
絞り込みが可能
Firebase が BigQuery に
出⼒するデータ
Firebase が BigQuery に出⼒するデータ
• Firebase プロジェクトごとに分かれ
ている
• プロジェクト内は、Firebase の各
サービスごと
• Analytics
• Crashlytics
• …
にテーブルが分かれている
1つの Firebase
プロジェクト
別プロジェクト→
Firebase が BigQuery に出⼒するデータ
• テーブルをクリックするとスキーマが確認できる
Firebase が BigQuery に出⼒するデータ
• パーティション分割テーブル
• クエリの⾼速化やコスト削減につながる
• ⽇付等でテーブルが分割されている(横断検索も可能)
https://cloud.google.com/bigquery/docs/partitioned-tables
Firebase が BigQuery に出⼒するデータ
• プレビューをクリックすると実際のデータの⼀部を確認できる
Firebase が BigQuery に出⼒するデータ
• RDB のように単純な正規化されたテーブルではない
• 各⾏に配列、構造体、構造体の配列なども保持している
正規化されたテーブル
BigQuery のテーブル
https://developers-jp.googleblog.com/2017/04/bigquery-tip-unnest-function.html
Firebase が BigQuery に出⼒するデータ
• タイプ
• プリミティブな STRING, INTEGER, BOOLEAN, TIMESTAMP, … に加
え、構造体の RECORD がある
• モード
• NULLABLE:null 許容型
• REPEATED:繰り返し
https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types
Firebase が BigQuery に出⼒するデータ
• REPEATED
• いわゆる配列
• 各要素は全て同じ型である必要がある
• ⾮正規化しているが、データウェアハウジングでよく⾏われる
• テーブルの結合を⾏わない分、⾼速に検索できる
• クエリ実⾏時には UNNEST() 関数を使ってアクセスする
Firebase が BigQuery に出⼒するデータ
• UNNEST() 関数
• 繰り返しを全て展開して、別々の⾏にする
• 展開したテーブルを作成するイメージ
UNNEST
Firebase が BigQuery に出⼒するデータ
• RECORD
• いわゆる構造体
• 1つ以上のフィールドを含めることができる
• フィールドのデータ型は同じでなくてもよい
Firebase が BigQuery に出⼒するデータ
• RECORD x REPEATED で記録される例
• Firebase に記録するイベントログ
• logEvent() 関数で イベント名 と プロパティ を渡す
• プロパティは詳細な情報を key, value の集合で渡す(Android : Bundle)
※プロパティを渡さなくても、⾃動的に付与される情報があります
イベント名 プロパティ
Firebase が BigQuery に出⼒するデータ
• event_params は RECORD x REPEATED で記録されている
key string_value int_value
繰り返し
BigQuery からデータを
引いてみる
BigQuery からデータを引いてみる
• テーブルを選んで「テーブルをクエリ」をクリックすると、
SELECT ⽂が挿⼊される
BigQuery からデータを引いてみる
• フィールド名をクリックするとカーソル位置にフィールド名が
挿⼊される
←クリック
カーソル位置にフィールド名が挿⼊される
BigQuery からデータを引いてみる
• 実⾏をクリックすると結果が表⽰される
BigQuery からデータを引いてみる
• 「結果の保存」をクリックすると CSV 等で保存できる
BigQuery からデータを引いてみる
BigQuery からデータを引いてみる
• いくつかの SQL ⽂の紹介
• とあるクラッシュをユーザが⼀定期間に何度経験したか?
• 背景:⼀定回数経験したユーザには、個別対応を⾏うためユーザを抽出したい
• そのユーザはクラッシュが起きる前にどういう⾏動をしていたか?
• 背景:再現⼿順、条件の確認をしたい
• UNNEST() を使った検索
• 背景:イベントやユーザのプロパティを抽出や検索条件にする場合は
UNNEST() を使う必要がある
BigQuery からデータを引いてみる
• とあるクラッシュをユーザが⼀定期間に何度経験したか?
• クラッシュの issue_id は Firebase Crashlytics で確認する
Your firebase_crashlytics table
Firebase ダッシュ
ボードだけではわから
ない情報が得られる
BigQuery からデータを引いてみる
• とあるユーザがクラッシュ前に⾏っていた⾏動を⾒る
Your Firebase Analytics table
User Id
Firebase ダッシュ
ボードだけではわから
ない情報が得られる
BigQuery からデータを引いてみる
• UNNEST() を使った検索
UNNEST() を使って、
user_property から user_id を引いてみる
Your Firebase Analytics table
User Id
User Id
↑ UNNEST(user_properties) は FROM と⼀緒に使う
(繰り返し要素を展開したテーブルになる)
BigQuery からデータを引いてみる
• 実際にやってみて…
• Firebase ダッシュボードからでは⾒えない情報が取得できる
• → 不具合改修やユーザサポートの効率改善
• ある程度の SQL の知識が必須
• UNNEST() など、BigQuery ならではの知識も必要
• ⾮効率なクエリの実⾏で多額の費⽤が掛からないかちょっと⼼配
• WHERE や LIMIT をかけても安くならない(結果ではなく⾛査対象で課⾦)
• 必要な列だけ取得するようにする
• SELECT * しなくても、プレビューで具体的なデータはわかる
• (効率の良いクエリを考えている時間コストの⽅が⾼いかも?)
Data Portal を使う
Data Portal を使う
• Data Portal とは、Google が提供する無料の BI ツール
• BigQuery 等をデータソースにして、さまざまな⾓度でデータ
の分析、レポートを作成できる
• SQL の知識は不要
https://marketingplatform.google.com/intl/ja/about/data-studio/
Data Portal を使う
• 検索結果のテーブルをデータポータルで調べて可視化
ここでは、Event のクエリ結果で「データを探索」してみます。
Data Portal を使う
• 検索結果のテーブルをデータソースにした、Data Portal ド
キュメントが作成される
↓イベント名 ↓回数
Data Portal を使う
• ディメンションを変更すると、集計⽅法が変わる
event_date event_name
Data Portal を使う
• ディメンジョンは複数指定が可能
※event_date と event_name が同じ値でないと、同⼀⾏にならない
Data Portal を使う
• さまざまなグラフを追加可能
• 表
• スコアカード
• 期間
• 棒
• 円
• 地図
• Google マップ
• 折れ線
• ⾯
• …
Data Portal を使う
• ピボットテーブルも作成可能
Data Portal を使う
• 他にも…
• Query を定期実⾏すれば、⾃動で更新されるレポートが作成できる
• BigQuery でなくとも、様々なサービスをデータソースにできる
Data Portal を使う
• 弊社で分析した例
• 企業ごとの⽉次のアクティブユーザの推移
• アプリバージョンごとのエラー発⽣率
• 国ごとのエラー発⽣率
• など…
• 弊社の KPI ダッシュボード
• ⽇次の主要イベント実⾏数の推移
• ユーザの利⽤国分布
• など…
Data Portal を使う
• テンプレートも⽤意されています
Data Portal の学習や、
KPI ダッシュボードの雛形に使えます
Data Portal を使う
• 実際にやってみて…
• SQL の知識がなくても、アプリの傾向を容易に掴むことができる
• 開発者が環境を⽤意すれば、分析は他のメンバーに依頼できる
• 様々な⾓度から、アプリのログを分析することができる
• アプリの KPI レポートも作成できる
→ アプリの利⽤状況の変化や問題を容易に⾒つけることができる
ユーザにアプローチする
ユーザにアプローチする
• Firebase, BigQuery, Data Portal を⽤いて、特定のユーザセグ
メントがあまりコンバージョンしてないことがわかったとする
• 例)
• 古いアプリを使っているユーザ
→ アップデートのお知らせ
• 特定のキャンペーンから流⼊した Android ユーザ
→ アプリのユースケースを紹介
• ゲームのレベルが1のまま、3⽇間で10回起動しているユーザ
→ 攻略のヒントを案内
• そのセグメントに特化した内容でアプローチして、アプリの利
⽤を促進していく
ユーザにアプローチする
• セグメントの定義⽅法
• 条件が簡単であれば、Cloud Messaging 等の「ターゲット」で指定
• 複雑であれば Audiences を定義する
ユーザにアプローチする
• Cloud Messaging 等の「ターゲット」で指定
ユーザにアプローチする
• Audiences を定義
• ユーザ⾏動に基づいて定義ができる
• 定義後のユーザ⾏動からセグメントに紐付いていく
• 過去の⾏動に遡って紐付けられないので注意
Smarter Segmentation with Audiences and Predictions
https://www.youtube.com/watch?v=VPLkd_aqKwU
ユーザにアプローチする
• Cloud Messaging と In-App Messaging の違い
Cloud Messaging In-App Messaging
• アプリを起動していなくても端末に届く
• アプリが通知許可をしていないと届かない
• ⾔語ごとにメッセージを作成する必要があ
る
• アプリを起動しないと表⽰されない
• アプリ内にダイアログを表⽰させる
• Cloud Messaging より表現⼒はある
• 表⽰のタイミングの制御ができる
• 多⾔語対応
(1キャンペーンで複数⾔語を扱える)
ユーザにアプローチする
• Cloud Messaging でアプローチする
ユーザにアプローチする
• Cloud Messaging でアプローチする
• 通知の本⽂やターゲットを設定
ユーザにアプローチする
• Cloud Messaging でアプローチする
• 配信スケジュールを設定
• 海外展開しているなら「受信者のタイムゾーン」での時刻指定がオススメ
• 繰り返し設定も可能(1回だけ受け取る設定も可能)
ユーザにアプローチする
• Cloud Messaging でアプローチする
• コンバージョンイベントを設定する(任意)
• Cloud Messaging によってコンバージョンに⾄ったかが計測可能
ユーザにアプローチする
• Cloud Messaging でアプローチする
• 必要に応じて細かな設定もできる
ユーザにアプローチする
• Cloud Messaging でアプローチする
• 配信数・開封率等の確認ができる
• アプリごとのフィルタも可能
ユーザにアプローチする
• In-App Messaging を使う
ユーザにアプローチする
• In-App Messaging を使う
• スタイルと内容(カード、モーダル、画像のみ、トップバナー)
カード
モーダル 画像のみ トップバナー
ユーザにアプローチする
• In-App Messaging を使う
• 宛先選択(Audiences も選択可能)
• ローカライズ
ユーザにアプローチする
• In-App Messaging を使う
• スケジュール設定
• ⽇時だけでなく、どのイベントをトリガーに表⽰するかも設定
例:
「初めてゲームをクリアした」
ときに表⽰させる
ユーザにアプローチする
• In-App Messaging を使う
• コンバージョンイベントも設定可能
ユーザにアプローチする
• In-App Messaging を使う
• その他のオプション
ユーザにアプローチする
• In-App Messaging を使う
• インプレッション数、クリック数が確認できる
ユーザにアプローチする
• アプローチ後は数値が改善されているか確認する
• 改善できていた
•
• 改善されていない
• 新たな仮説を⽴て、検証、実施、計測を繰り返す
ユーザにアプローチする
• 実際にやってみて
• 開発⼯数が少なくて済む
• 開発作業は、Firebase SDK の導⼊&イベント埋め込みだけ
• Firebase ダッシュボードの操作だけで運⽤できるので、運⽤チームにバトンタッチ
できる
• Cloud Messaging の開封率はそこまで⾼くない…
• 通知許可を外されたら届くことはない
• 通知は⽬にはしているが、タップして開封していないケースもあるだろう
• In-App Messaging は Activity の構造によってはすぐ消える場合がある
• Android で Firebase In-App Messaging が表⽰されない問題の workaround
https://qiita.com/tatsuhama/items/d9ed9dc4622169d2e105
• Authentication を使っているなら、メール等でのアプローチも検討を
まとめ
まとめ
• Firebase を使うと、ダッシュボードでさまざまなアプリの情報
を得ることができる
• Firebase の情報は BigQuery に出⼒できる
• BigQuery でより詳細な分析ができる
• Data Portal を使うと、SQL の知識がなくても分析ができる
• Firebase にはユーザにアプローチする⽅法も⽤意されている
• アプローチしたら効果測定
→ データを活⽤して、アプリやビジネスの成功へ!
今回のお話が、みなさんの参考になれば幸いです!

More Related Content

What's hot

Hubsカスタマイズ 行動ログ取得やバックエンドの話
Hubsカスタマイズ 行動ログ取得やバックエンドの話Hubsカスタマイズ 行動ログ取得やバックエンドの話
Hubsカスタマイズ 行動ログ取得やバックエンドの話
hironroinakae
 
AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤
Yu Otsubo
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
sairoutine
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる
虎の穴 開発室
 
golang profiling の基礎
golang profiling の基礎golang profiling の基礎
golang profiling の基礎
yuichiro nakazawa
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud Platform - Japan
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
Tetsutaro Watanabe
 
OpenShift Meetup #5 OperatorとOperator Lifecycle Manager(OLM)の概要とデモ
OpenShift Meetup #5 OperatorとOperator Lifecycle Manager(OLM)の概要とデモOpenShift Meetup #5 OperatorとOperator Lifecycle Manager(OLM)の概要とデモ
OpenShift Meetup #5 OperatorとOperator Lifecycle Manager(OLM)の概要とデモ
AkiyoshiYonekura
 
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)
Naohiro Fujie
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
健一 辰濱
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
Hitachi, Ltd. OSS Solution Center.
 
Railsで作るBFFの功罪
Railsで作るBFFの功罪Railsで作るBFFの功罪
Railsで作るBFFの功罪
Recruit Lifestyle Co., Ltd.
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
DeNA
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
 
SPA時代のOGPとの戦い方
SPA時代のOGPとの戦い方SPA時代のOGPとの戦い方
SPA時代のOGPとの戦い方
Yoichi Toyota
 
goroutineはどうやって動いているのか
goroutineはどうやって動いているのかgoroutineはどうやって動いているのか
goroutineはどうやって動いているのか
ota42y
 
Hubsカスタマイズ 別WEBサイトとのログイン連携による入室制限
Hubsカスタマイズ 別WEBサイトとのログイン連携による入室制限Hubsカスタマイズ 別WEBサイトとのログイン連携による入室制限
Hubsカスタマイズ 別WEBサイトとのログイン連携による入室制限
hironroinakae
 
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
Google Cloud Platform - Japan
 

What's hot (20)

Hubsカスタマイズ 行動ログ取得やバックエンドの話
Hubsカスタマイズ 行動ログ取得やバックエンドの話Hubsカスタマイズ 行動ログ取得やバックエンドの話
Hubsカスタマイズ 行動ログ取得やバックエンドの話
 
AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる
 
golang profiling の基礎
golang profiling の基礎golang profiling の基礎
golang profiling の基礎
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
OpenShift Meetup #5 OperatorとOperator Lifecycle Manager(OLM)の概要とデモ
OpenShift Meetup #5 OperatorとOperator Lifecycle Manager(OLM)の概要とデモOpenShift Meetup #5 OperatorとOperator Lifecycle Manager(OLM)の概要とデモ
OpenShift Meetup #5 OperatorとOperator Lifecycle Manager(OLM)の概要とデモ
 
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
Railsで作るBFFの功罪
Railsで作るBFFの功罪Railsで作るBFFの功罪
Railsで作るBFFの功罪
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 
SPA時代のOGPとの戦い方
SPA時代のOGPとの戦い方SPA時代のOGPとの戦い方
SPA時代のOGPとの戦い方
 
goroutineはどうやって動いているのか
goroutineはどうやって動いているのかgoroutineはどうやって動いているのか
goroutineはどうやって動いているのか
 
Hubsカスタマイズ 別WEBサイトとのログイン連携による入室制限
Hubsカスタマイズ 別WEBサイトとのログイン連携による入室制限Hubsカスタマイズ 別WEBサイトとのログイン連携による入室制限
Hubsカスタマイズ 別WEBサイトとのログイン連携による入室制限
 
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
 

Similar to Firebase & BigQuery で Android アプリの成⻑を支える

20170705 apiをつくろう
20170705 apiをつくろう20170705 apiをつくろう
20170705 apiをつくろう
CData Software Japan
 
20170317 クラウド時代のデータ連携 超高速開発コミュニティ
20170317 クラウド時代のデータ連携 超高速開発コミュニティ20170317 クラウド時代のデータ連携 超高速開発コミュニティ
20170317 クラウド時代のデータ連携 超高速開発コミュニティ
CData Software Japan
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebWebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWeb
Kensaku Komatsu
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
 
マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介
Sunao Tomita
 
CKAN日本語コミュニティミートアップ
CKAN日本語コミュニティミートアップCKAN日本語コミュニティミートアップ
CKAN日本語コミュニティミートアップ
Fumihiro Kato
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
Shigeru Hanada
 
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
Amazon Web Services Japan
 
JavaOne2017参加報告 Microservices topic & approach #jjug
JavaOne2017参加報告 Microservices topic & approach #jjugJavaOne2017参加報告 Microservices topic & approach #jjug
JavaOne2017参加報告 Microservices topic & approach #jjug
Yahoo!デベロッパーネットワーク
 
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
日本マイクロソフト株式会社
 
concrete5で社内システムのお話し
concrete5で社内システムのお話しconcrete5で社内システムのお話し
concrete5で社内システムのお話し
Tao Sasaki
 
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Shotaro Suzuki
 
インドのインターネット環境 との戦い方
インドのインターネット環境との戦い方インドのインターネット環境との戦い方
インドのインターネット環境 との戦い方
健一 辰濱
 
Microsoft Search - Microsoft Graph connector と Search Federation の概要
Microsoft Search - Microsoft Graph connector と Search Federation の概要Microsoft Search - Microsoft Graph connector と Search Federation の概要
Microsoft Search - Microsoft Graph connector と Search Federation の概要
Ai Hirano
 
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
Oshitari_kochi
 
ノンプログラミングで API はじめて体験!_築山 春木氏
ノンプログラミングで API はじめて体験!_築山 春木氏ノンプログラミングで API はじめて体験!_築山 春木氏
ノンプログラミングで API はじめて体験!_築山 春木氏
kintone papers
 
Google Product
Google ProductGoogle Product
Google Product
Daisuke Sugai
 
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
インフラジスティックス・ジャパン株式会社
 

Similar to Firebase & BigQuery で Android アプリの成⻑を支える (20)

20170705 apiをつくろう
20170705 apiをつくろう20170705 apiをつくろう
20170705 apiをつくろう
 
20170317 クラウド時代のデータ連携 超高速開発コミュニティ
20170317 クラウド時代のデータ連携 超高速開発コミュニティ20170317 クラウド時代のデータ連携 超高速開発コミュニティ
20170317 クラウド時代のデータ連携 超高速開発コミュニティ
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会
 
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebWebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWeb
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
 
マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介
 
CKAN日本語コミュニティミートアップ
CKAN日本語コミュニティミートアップCKAN日本語コミュニティミートアップ
CKAN日本語コミュニティミートアップ
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
 
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
 
JavaOne2017参加報告 Microservices topic & approach #jjug
JavaOne2017参加報告 Microservices topic & approach #jjugJavaOne2017参加報告 Microservices topic & approach #jjug
JavaOne2017参加報告 Microservices topic & approach #jjug
 
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
 
concrete5で社内システムのお話し
concrete5で社内システムのお話しconcrete5で社内システムのお話し
concrete5で社内システムのお話し
 
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
 
インドのインターネット環境 との戦い方
インドのインターネット環境との戦い方インドのインターネット環境との戦い方
インドのインターネット環境 との戦い方
 
Microsoft Search - Microsoft Graph connector と Search Federation の概要
Microsoft Search - Microsoft Graph connector と Search Federation の概要Microsoft Search - Microsoft Graph connector と Search Federation の概要
Microsoft Search - Microsoft Graph connector と Search Federation の概要
 
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
 
ノンプログラミングで API はじめて体験!_築山 春木氏
ノンプログラミングで API はじめて体験!_築山 春木氏ノンプログラミングで API はじめて体験!_築山 春木氏
ノンプログラミングで API はじめて体験!_築山 春木氏
 
Google Product
Google ProductGoogle Product
Google Product
 
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
 

More from 健一 辰濱

地方創生ワカモノ会合
地方創生ワカモノ会合地方創生ワカモノ会合
地方創生ワカモノ会合
健一 辰濱
 
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオンGoogle Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン
健一 辰濱
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
健一 辰濱
 
Android 開発の昔と今
Android 開発の昔と今Android 開発の昔と今
Android 開発の昔と今
健一 辰濱
 
Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩
健一 辰濱
 
GDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-onGDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-on
健一 辰濱
 
Firebase Summit 2019 Recap
Firebase Summit 2019 RecapFirebase Summit 2019 Recap
Firebase Summit 2019 Recap
健一 辰濱
 
Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話
健一 辰濱
 
Firebase hands on in Matsuyama
Firebase hands on in MatsuyamaFirebase hands on in Matsuyama
Firebase hands on in Matsuyama
健一 辰濱
 
インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法
健一 辰濱
 
DroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 ClosingDroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 Closing
健一 辰濱
 
企業スポンサー
企業スポンサー企業スポンサー
企業スポンサー
健一 辰濱
 
参加したセッションの ピックアップ
参加したセッションのピックアップ参加したセッションのピックアップ
参加したセッションの ピックアップ
健一 辰濱
 
CFP(Call For Paper) を出す話
CFP(Call For Paper)を出す話CFP(Call For Paper)を出す話
CFP(Call For Paper) を出す話
健一 辰濱
 
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会
健一 辰濱
 
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見るDroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る
健一 辰濱
 
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていくJava で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく
健一 辰濱
 
20171209エンジニアの移住相談会 自己紹介スライド
20171209エンジニアの移住相談会 自己紹介スライド20171209エンジニアの移住相談会 自己紹介スライド
20171209エンジニアの移住相談会 自己紹介スライド
健一 辰濱
 
Java で書かれたAndroid アプリに Kotlin を適用させていく
Java で書かれたAndroid アプリに Kotlin を適用させていくJava で書かれたAndroid アプリに Kotlin を適用させていく
Java で書かれたAndroid アプリに Kotlin を適用させていく
健一 辰濱
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
 

More from 健一 辰濱 (20)

地方創生ワカモノ会合
地方創生ワカモノ会合地方創生ワカモノ会合
地方創生ワカモノ会合
 
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオンGoogle Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 
Android 開発の昔と今
Android 開発の昔と今Android 開発の昔と今
Android 開発の昔と今
 
Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩
 
GDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-onGDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-on
 
Firebase Summit 2019 Recap
Firebase Summit 2019 RecapFirebase Summit 2019 Recap
Firebase Summit 2019 Recap
 
Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話
 
Firebase hands on in Matsuyama
Firebase hands on in MatsuyamaFirebase hands on in Matsuyama
Firebase hands on in Matsuyama
 
インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法
 
DroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 ClosingDroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 Closing
 
企業スポンサー
企業スポンサー企業スポンサー
企業スポンサー
 
参加したセッションの ピックアップ
参加したセッションのピックアップ参加したセッションのピックアップ
参加したセッションの ピックアップ
 
CFP(Call For Paper) を出す話
CFP(Call For Paper)を出す話CFP(Call For Paper)を出す話
CFP(Call For Paper) を出す話
 
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会
 
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見るDroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る
 
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていくJava で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく
 
20171209エンジニアの移住相談会 自己紹介スライド
20171209エンジニアの移住相談会 自己紹介スライド20171209エンジニアの移住相談会 自己紹介スライド
20171209エンジニアの移住相談会 自己紹介スライド
 
Java で書かれたAndroid アプリに Kotlin を適用させていく
Java で書かれたAndroid アプリに Kotlin を適用させていくJava で書かれたAndroid アプリに Kotlin を適用させていく
Java で書かれたAndroid アプリに Kotlin を適用させていく
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 

Firebase & BigQuery で Android アプリの成⻑を支える