Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【関モバ#12】Google Tag ManagerでモバイルアプリのABテストをする
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
takuaraki
March 30, 2016
Programming
680
1
Share
【関モバ#12】Google Tag ManagerでモバイルアプリのABテストをする
関西モバイルアプリ研究会#12の発表資料です。Google Tag Manager を利用したモバイルアプリのABテストについて、ズンドコしてます。
takuaraki
March 30, 2016
More Decks by takuaraki
See All by takuaraki
2021/02/03 発覚の COCOA Android版 不具合について
takuaraki
0
65
Androidアプリ内課金のテスト
takuaraki
0
490
GASでSlackBot
takuaraki
1
570
Material Design Guideline: Dialogs, Dividers
takuaraki
0
440
Material Design Guideline: Bottom components
takuaraki
0
530
App Shortcuts
takuaraki
0
390
[関モバ#18] SQLBrite&SQLDelight
takuaraki
0
500
A/B testing GTM&GA vs Firebase
takuaraki
1
3k
Other Decks in Programming
See All in Programming
3Dシーンの圧縮
fadis
1
560
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
170
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
420
[KCD Czech] eBPF Meets the GPU: Future of AI Infra Observability
doniacld
0
130
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
12
3.2k
Modding RubyKaigi for Myself
yui_knk
0
850
Zod v4 Codec でスキーマに型変換を埋め込む REST API 設計 #TSKaigi2026
ryutaro_yako
0
180
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
440
Claspは野良GASの夢をみるか
takter00
0
150
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1k
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
300
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
210
Featured
See All Featured
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
300
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
560
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Prompt Engineering for Job Search
mfonobong
0
320
RailsConf 2023
tenderlove
30
1.5k
A Modern Web Designer's Workflow
chriscoyier
698
190k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
How STYLIGHT went responsive
nonsquared
100
6.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Transcript
Google Tag Manager ͰABςετ͢Δ 2016/03/30 @ara_tack
@ara_tack
@ara_tack ϝΨωΛ͔͚͍ͯΔ එໟ͕ೱ͍ ࠷ۙɺࡒΛམͱͨ͠ ࣾձਓ͏͙̎͢ Bܕ ژग़ ࣗసं͖ AndroidͬͯΔ
͢͜ͱ • Google Tag Manager ͰίϯςφΛ࡞Δ • ίϯςφͰABςετ༻ͷมΛ࡞Δ • ΞϓϦͰABΛग़͚ͯ͠ΈΔ
ͨͱ͑ɺ͜ΜͳΞϓϦ
None
ʮͣΜʯʮͲ͜ʯ ↓ ʮζϯʯʮυίʯ ͷํ͕͍͍ͷͰʁ
None
ΞΧϯτͱίϯςφΛ࡞Δ
ABςετ༻ͷมΛ৽ن࡞
มʹύλʔϯΛઃఆ ͻΒ͕ͳ ΧλΧφ
ίϯςφΛެ։
όΠφϦϑΝΠϧΛอଘ
όΠφϦϑΝΠϧΛอଘ
GTM for Android ಋೖ ʙύʔϛογϣϯʙ <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
/> ʙgradleͷઃఆʙ compile 'com.google.android.gms:play-services-analytics:8.4.0'
GTM for Android ॳظԽ TagManager tagManager = TagManager.getInstance(this); PendingResult<ContainerHolder> pending
= tagManager.loadContainerPreferNonDefault( CONTAINER_ID, R.raw.gtm_default_container); pending.setResultCallback(new ResultCallback<ContainerHolder>() { @Override public void onResult(ContainerHolder containerHolder) { ContainerHolderSingleton.setContainerHolder(containerHolder); startMainActivity(); } }, 2, TimeUnit.SECONDS);
GTM for Android ͷར༻ // ίϯςφΛऔಘ Container container = ContainerHolderSingleton.getContainerHolder().getContainer();
// ʮͣΜʯʮͲ͜ʯorʮζϯʯʮυίʯ String zun = container.getString(“zun”); String doko = container.getString(“doko”); zunButton.setText(zun); dokoButton.setText(doko);
݁Ռ
݁Ռ
ΦɾϫɾϦʂ