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
Matomoを使ってみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Tiphaine
July 21, 2023
Technology
2.5k
0
Share
Matomoを使ってみた
potatotips #83 iOS/Android開発Tips共有会
https://potatotips.connpass.com/event/287244/
Tiphaine
July 21, 2023
More Decks by Tiphaine
See All by Tiphaine
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
420
Lottieアニメーションをカスタマイズしてみた
tahia910
0
330
Customize your Lottie animations
tahia910
0
190
2024年のナビゲーション・フォーカス対応:Composeでキーボード・ナビゲーションをサポートしよう
tahia910
0
1.2k
Navigation Focus Support in 2024: Support Keyboard Navigation with Compose!
tahia910
0
170
Handling focus in 2024
tahia910
0
1.6k
文字拡大されても怖くない レイアウト作りのコツ
tahia910
5
3.1k
社内でできるアクセシビリティのはじめかた
tahia910
3
810
Raise accessibility awareness at work as an Android developer
tahia910
1
220
Other Decks in Technology
See All in Technology
20260515 OpenIDファウンデーション・ジャパンご紹介
oidfj
0
130
いつの間にかデータエンジニア以外の業務も増えていたけど、意外と経験が役に立ってる
zozotech
PRO
0
650
AWS WAFの運用を地道に改善し、自社で運用可能にするプラクティス
andpad
1
310
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.5k
Redmine次期バージョン7.0の注目新機能解説 — UI/UX強化と連携強化を中心に
vividtone
1
160
Claude Code / Codex / Kiro に AWS 権限を 渡すとき、何を設計すべきか
k_adachi_01
5
1.6k
O'Reilly Infrastructure & Ops Superstream: Platform Engineering for Developers, Architects & the Rest of Us
syntasso
0
230
そのSLO 99.9%、本当に必要ですか? 〜優先度付きSLOによる責任共有の設計思想〜 / Is that 99.9% SLO really necessary? Design philosophy of shared responsibility through prioritized SLOs
vtryo
0
800
RedmineをAIで効率的に使う検証
yoshiokacb
0
130
AsyncStreamでマルチブロードキャストを実装する
1mash0
1
110
障害対応のRunbookは作った、でも本当に動くの? AWS FIS で EKS の AZ 障害を再現してみた
tk3fftk
0
100
写真で見るAWS Summit Singapore 2026
k_adachi_01
0
110
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
Design in an AI World
tapps
1
210
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
740
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
170
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
200
Odyssey Design
rkendrick25
PRO
2
620
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
From π to Pie charts
rasagy
0
180
AI: The stuff that nobody shows you
jnunemaker
PRO
7
640
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
Transcript
.BUPNPΛͬͯΈͨ 1PUBUPUJQT5JQIBJOF
5JQIBJOFʢςΟϑΣϯʣ ‣ "OESPJEΤϯδχΞ ‣ ϝυϐΞגࣜձࣾʢLBLBSJʣ
‣ ղੳϓϥοτϑΥʔϜʢ(PPHMF"OBMZUJDTΈ͍ͨʣ ‣ ΦʔϓϯιʔεɹˠɹHJUIVCDPNNBUPNPPSH ‣ (%13Λ९क͍ͯ͠Δ͔Β&6ͰΑ͘ΘΕ͍ͯΔ
̏ͭͷόʔδϣϯ ‣ ༗ྉ ‣ ͍͍͢ ‣ &6ͷαʔόʔ ‣ ແྉ ‣
ηοτΞοϓ͕ਏ͍ ‣ ࣗͷαʔόʔ ‣ ແྉ ‣ ͍͍͢ ‣ ʁ
͕࣌ؒͳ͍͔Β ࠓճ$MPVEʹ͢Δ😇
4FUVQ 1⃣ొ ‣ ϝΞυɿϢʔβʔ໊ʹͳΔɹ ⚠Ϣʔβʔ໊ޙͰมߋෆՄ ‣ υϝΠϯ໊ɿࠓճదʹ UBIJBGSʹ͢Δ
4FUVQ dependencies { implementation "com.github.matomo-org:matomo-sdk-android:4.1.4" } repositories { maven {
url 'https://jitpack.io' } } IUUQTHJUIVCDPNNBUPNPPSHNBUPNPTELBOESPJE 2⃣%FQFOEFODZՃ
4FUVQ .BUPNP"QQMJDBUJPOΛܧঝ͢Δ ͘͠ 5SBDLFSͷγϯάϧτϯΠϯελϯεΛ࡞Δ 3⃣ॳظԽ.BUPNP"QQMJDBUJPOΛܧঝ͢Δ 3⃣ॳظԽ
4FUVQ 3⃣ॳظԽ.BUPNP"QQMJDBUJPOΛܧঝ͢Δ import org.matomo.sdk.extra.MatomoApplication // ΞϓϦͷApplication()Λ্ॻ͖ class MySuperApplication : Application()
{ override fun onCreate() { super.onCreate() // DaggerTimberͳͲ৭ʑॳظԽ } }
4FUVQ 3⃣ॳظԽ.BUPNP"QQMJDBUJPOΛܧঝ͢Δ import org.matomo.sdk.extra.MatomoApplication // ΞϓϦͷApplication()Λ্ॻ͖ class MySuperApplication : MatomoApplication()
{ override fun onCreate() { super.onCreate() // DaggerTimberͳͲ৭ʑॳظԽ } }
4FUVQ 3⃣ॳظԽ.BUPNP"QQMJDBUJPOΛܧঝ͢Δ import org.matomo.sdk.TrackerBuilder class MySuperApplication : MatomoApplication() { //
… override fun onCreateTrackerConfig(): TrackerBuilder { return TrackerBuilder.createDefault( // apiUrl: "${μογϡϘʔυͷURL}/matomo.php" "https://tahia910.matomo.cloud/matomo.php", // sideId: ʮઃఆʯ → ʮΣϒαΠτʯ → ʮཧʯͰ֬ೝͰ͖Δ 1 ) } }
4FUVQ 3⃣ॳظԽ.BUPNP"QQMJDBUJPOΛܧঝ͢Δ import org.matomo.sdk.TrackerBuilder class MySuperApplication : MatomoApplication() { //
… override fun onCreateTrackerConfig(): TrackerBuilder { return TrackerBuilder.createDefault( // apiUrl: "${μογϡϘʔυͷURL}/matomo.php" "https://tahia910.matomo.cloud/matomo.php", // sideId: ʮઃఆʯ → ʮΣϒαΠτʯ → ʮཧʯͰ֬ೝͰ͖Δ 1 ) } }
4FUVQ 3⃣ॳظԽ.BUPNP"QQMJDBUJPOΛܧঝ͢Δ import org.matomo.sdk.TrackerBuilder class MySuperApplication : MatomoApplication() { //
… override fun onCreateTrackerConfig(): TrackerBuilder { return TrackerBuilder.createDefault( // apiUrl: "${μογϡϘʔυͷURL}/matomo.php" "https://tahia910.matomo.cloud/matomo.php", // siteId: ʮઃఆʯ → ʮΣϒαΠτʯ → ʮཧʯͰ֬ೝͰ͖Δ 1 ) } }
4FUVQ 3⃣ॳظԽ.BUPNP"QQMJDBUJPOΛܧঝ͢Δ import org.matomo.sdk.TrackerBuilder class MySuperApplication : MatomoApplication() { //
… override fun onCreateTrackerConfig(): TrackerBuilder { return TrackerBuilder.createDefault( // apiUrl: "${μογϡϘʔυͷURL}/matomo.php" "https://tahia910.matomo.cloud/matomo.php", // siteId: ʮઃఆʯ → ʮΣϒαΠτʯ → ʮཧʯͰ֬ೝͰ͖Δ 1 ) } }
4FUVQ 4⃣ΠϕϯτΛૹ৴͢Δ import org.matomo.sdk.extra.MatomoApplication class MainActivity : ComponentActivity() { override
fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val tracker = (application as MatomoApplication).tracker //… } }
4FUVQ 4⃣ΠϕϯτΛૹ৴͢Δ import org.matomo.sdk.extra.TrackHelper class MainActivity : ComponentActivity() { override
fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val tracker = (application as MatomoApplication).tracker TrackHelper.track() .screen("/main_activity") .title("MainActivity") .with(tracker) } }
݁Ռ🎉 🙈
ϞόΠϧΞϓϦͰࢹͰ͖Δʂ
1SPT$POT ‣ ηΩϡϦςΟੑɺϓϥΠόγʔॏࢹҹ ‣ ແྉͰ͑ΔɺσʔλετϨʔδ੍ݶແ͠ ‣ ΧελϚΠζੑ
1SPT$POT ‣ هࣄͳͲࢀߟ͕গͳ͍😥 ‣ ແྉ൛αʔόʔαΠυͷ͕ࣝඞཁ ‣ ຊޠ༁͕த్ʁX
ࢀߟ ‣ NBUPNPMBOHVBHFLPUMJO(JUIVCݕࡧ😇 ‣ .BUPNP%FWFMPQFS%PD ‣ ඇΤϯδχΞͷͨΊͷઆ໌ಈըʢʁʂʣ
5IBOLZPV 👋 !UBIJB