Soumettre la recherche
Mettre en ligne
メディアアプリの計測Tips
•
1 j'aime
•
1,400 vues
gree_tech
Suivre
「Shibuya.apk #35」で発表された資料です。 https://shibuya-apk.connpass.com/event/133727/
Lire moins
Lire la suite
Ingénierie
Signaler
Partager
Signaler
Partager
1 sur 14
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
gree_tech
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
gree_tech
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
gree_tech
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
gree_tech
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
gree_tech
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
gree_tech
Recommandé
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
gree_tech
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
gree_tech
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
gree_tech
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
gree_tech
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
gree_tech
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
gree_tech
海外展開と負荷試験
海外展開と負荷試験
gree_tech
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
gree_tech
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
gree_tech
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
gree_tech
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
gree_tech
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
gree_tech
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
gree_tech
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
gree_tech
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
gree_tech
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
gree_tech
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
gree_tech
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
gree_tech
REALITY iOSアプリを支える開発効率化
REALITY iOSアプリを支える開発効率化
gree_tech
WFSエンジニア組織のデザイン〜コンテンツ開発に集中するために〜
WFSエンジニア組織のデザイン〜コンテンツ開発に集中するために〜
gree_tech
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
gree_tech
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
gree_tech
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
gree_tech
さまざまなキャプチャーデータを合成して再分配するシステム「REALITY Studio Motion Engine」について
さまざまなキャプチャーデータを合成して再分配するシステム「REALITY Studio Motion Engine」について
gree_tech
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D
gree_tech
Contenu connexe
Plus de gree_tech
海外展開と負荷試験
海外展開と負荷試験
gree_tech
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
gree_tech
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
gree_tech
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
gree_tech
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
gree_tech
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
gree_tech
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
gree_tech
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
gree_tech
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
gree_tech
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
gree_tech
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
gree_tech
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
gree_tech
REALITY iOSアプリを支える開発効率化
REALITY iOSアプリを支える開発効率化
gree_tech
WFSエンジニア組織のデザイン〜コンテンツ開発に集中するために〜
WFSエンジニア組織のデザイン〜コンテンツ開発に集中するために〜
gree_tech
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
gree_tech
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
gree_tech
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
gree_tech
さまざまなキャプチャーデータを合成して再分配するシステム「REALITY Studio Motion Engine」について
さまざまなキャプチャーデータを合成して再分配するシステム「REALITY Studio Motion Engine」について
gree_tech
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D
gree_tech
Plus de gree_tech
(20)
海外展開と負荷試験
海外展開と負荷試験
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
REALITY iOSアプリを支える開発効率化
REALITY iOSアプリを支える開発効率化
WFSエンジニア組織のデザイン〜コンテンツ開発に集中するために〜
WFSエンジニア組織のデザイン〜コンテンツ開発に集中するために〜
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
Lua文化の伝承!? WFSにおけるイベントスクリプト活用術〜すべてはより良いコンテンツ制作のために〜
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
REALITY低遅延モード配信を支えるリアルタイムサーバとデータパイプライン
さまざまなキャプチャーデータを合成して再分配するシステム「REALITY Studio Motion Engine」について
さまざまなキャプチャーデータを合成して再分配するシステム「REALITY Studio Motion Engine」について
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D
メディアアプリの計測Tips
1.
メディアアプリの計測Tips
2.
Masahiro Higuchi /
樋口雅拓 ● グリーグループのリミア株式会社で、LIMIA という住まい領域のメディアを 作っています。ゲーム会社ですが、最近はメディアに力を入れています。 ● 機械学習のエンジニアですが、iOS, Android,JSなどもやっている何でも屋 です。4歳の娘のパパ。twitter: @mahiguch1 ● https://limia.jp/ ● https://arine.jp/ ● https://aumo.jp/ ● https://www.mine-3m.com/mine/
3.
LIMIAとは? ● メディアサービス ● 記事一覧を表示し、タップすると記事 詳細を閲覧できる。 ●
Android(Kotlin), iOS(Swift), Web(TypeScript) ● AWS:90%、GCP:10%。 ● PHP/EC2 → Go/ECS移行中
4.
背景と目的 ● 計測は超重要。 ● レポートを作成することで、運営による改善が可能。 ●
計測した指標で運営できるようになったら、機械に置き換えて効率化。 —> ハマりやすい「CTR」、「読了率」、「WebView」、「A/Bテスト」の計測 Tipsを共有します。
5.
良い記事とは何か? (1) CTR 良い記事をユーザに提供することで、良い体験を届けた い。でも、良い記事って何だろう? 起動すると記事一覧画面が表示される。そこから選ば れないと読んでもらえない。 そこで、「一覧からタップされやすいもの」をユーザが一 覧表示することを望んでいるものと仮説を立て、それを 検証した。 「一覧からタップされやすいもの」
= CTR と定義した。
6.
CTRとは? CTR(Click Through Rate)
= タップ数/ 表示回数 【表示回数の定義】 ・広告が視聴可能なスクリーンに表示されていること ・広告の一定面積以上が見える状態にあること ・広告が一定の時間以上見える状態であること ・広告が人間によって視聴されていること つまり、一覧表示のChild/Cellが画面上に表示したうち、タップされた割合。 タップ数は簡単に取れるが、スクリーンに表示された回数はどう取れば良いのか?
7.
スクリーンに表示されたログ送信 AndroidではRecyclerView.layoutManagerのpositionを取得する ことで実現した。 (obtainRecyclerView()?.layoutManager as? LinearLayoutManager)?.let
{ val first = it.findFirstVisibleItemPosition() val last = it.findLastVisibleItemPosition() if (first >= 0 && last >= 0) { for (position in first..last) { ログ送信 https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager.html#findFirstVisibleItemPositio n()
8.
スクリーンに表示されたログ送信(ファーストビュー) いきなり走らせると更新される度にログが再送されてしまうので、 viewTreeObserver の Listnerに仕込むことで描画してからログ送信されるようにした。 obtainRecyclerView()?.viewTreeObserver?.addOnGlobalLayoutListener(object
: ViewTreeObserver.OnGlobalLayoutListener { override fun onGlobalLayout() { logImpressionForCurrentVisibleItems { obtainRecyclerView()?.viewTreeObserver?.removeOnGlobalLayoutListener(this) https://developer.android.com/reference/android/view/ViewTreeObserver
9.
良い記事とは何か? (2) 読了率 リストをタップして表示した記事が期待 通りだった場合、記事を最後まで閲覧 する可能性が高い。そこで、記事を最 後まで読み切った比率(読了率)が高い ものを記事を表示するユーザが望ん でいると仮説を立て、それを検証した。
10.
読了率: 読了イベントを発火 読了したらイベントを発火し、「読了率 =
読了イベント数 / 記事閲覧数」とした。 記事直下に執筆者名などが表示されるitemがあり、それが表示されたら、読了 イベントを飛ばした。 その後、半分まで読んだら「0.5」のような読了割合を取得し、「読了率 = SUM(読了割合) / 記事閲覧数」とした。
11.
その他のTips: WebViewのイベント計測 ネイティブ Android
コードを JavaScript から呼び出せるようにするには、@JavaScriptInterface を付けたメソッドを 定義してクラスを実装します。作成したネイティブ インターフェースを WebView に登録すると、WebView で実行される JavaScript コードからアクセスできるようになります。 https://firebase.google.com/docs/analyt ics/android/webview?hl=ja
12.
WebViewイベント計測(Javascript側実装) JavascriptからWebViewの中に用意したメソッドを叩くことができるようになります。
13.
その他のTips2: A/Bテストのどちらに振り分けられたか Firebase A/B
Testingを使うと楽。 実装しなくてもA/Bテストでどちらのセ グメントに振り分けられたか、 UserPropertyに自動設定される。key は次のようになる。 firebase_exp_<ABテスト番号>
14.
まとめ ● 計測は機能開発が終わった後に実装する事が多いので、面倒に感じる。 ● Tipsをみんなで共有して、機能開発に集中したい! ●
計測結果を使って機械学習での最適化を行なっているので、どこかで話し たい。 ご静聴、ありがとうございました!
Télécharger maintenant