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
2.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
430
Lottieアニメーションをカスタマイズしてみた
tahia910
0
350
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
820
Raise accessibility awareness at work as an Android developer
tahia910
1
230
Other Decks in Technology
See All in Technology
SONiCの統計情報を取得したい
sonic
0
120
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
3
2k
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
580
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
110
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
130
新しいVibe Codingと”自走”について
watany
6
310
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
960
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
320
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
140
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
290
EventBridge Connection
_kensh
5
710
スキルと MCP ツール、責務をどう分けるか? AI が迷わないインターフェース設計の戦略
cdataj
1
1k
Featured
See All Featured
The Curse of the Amulet
leimatthew05
1
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
390
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
230
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Deep Space Network (abreviated)
tonyrice
0
170
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
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