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
Tiphaine
July 21, 2023
Technology
0
2.4k
Matomoを使ってみた
potatotips #83 iOS/Android開発Tips共有会
https://potatotips.connpass.com/event/287244/
Tiphaine
July 21, 2023
Tweet
Share
More Decks by Tiphaine
See All by Tiphaine
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
310
Lottieアニメーションをカスタマイズしてみた
tahia910
0
230
Customize your Lottie animations
tahia910
0
140
2024年のナビゲーション・フォーカス対応:Composeでキーボード・ナビゲーションをサポートしよう
tahia910
0
970
Navigation Focus Support in 2024: Support Keyboard Navigation with Compose!
tahia910
0
140
Handling focus in 2024
tahia910
0
1.4k
文字拡大されても怖くない レイアウト作りのコツ
tahia910
5
3k
社内でできるアクセシビリティのはじめかた
tahia910
3
720
Raise accessibility awareness at work as an Android developer
tahia910
1
180
Other Decks in Technology
See All in Technology
新卒(ほぼ)専業Kagglerという選択肢
nocchi1
1
2.5k
アジャイルテストで高品質のスプリントレビューを
takesection
0
140
【Oracle Cloud ウェビナー】[最新動向]:AIエージェント大量生産時代に突入、AI-Readyなデータプラットフォームのススメ
oracle4engineer
PRO
3
120
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
220
JavaScript 研修
recruitengineers
PRO
5
1.1k
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
10
3.3k
現場が抱える様々な問題は “組織設計上” の問題によって生じていることがある / Team-oriented Organization Design 20250827
mtx2s
6
41k
RAID6 を楔形文字で組んで現代人を怖がらせましょう(実装編)
mimifuwa
1
320
TypeScript入門
recruitengineers
PRO
29
9.3k
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
10
2.5k
AIエージェントの活用に重要な「MCP (Model Context Protocol)」とは何か
masayamoriofficial
0
160
異業種出身エンジニアが気づいた、転向して十数年経っても変わらない自分の武器とは
macnekoayu
0
150
Featured
See All Featured
Docker and Python
trallard
45
3.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
The Pragmatic Product Professional
lauravandoore
36
6.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
480
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
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