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.3k
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
Lottieアニメーションをカスタマイズしてみた
tahia910
0
180
Customize your Lottie animations
tahia910
0
120
2024年のナビゲーション・フォーカス対応:Composeでキーボード・ナビゲーションをサポートしよう
tahia910
0
830
Navigation Focus Support in 2024: Support Keyboard Navigation with Compose!
tahia910
0
120
Handling focus in 2024
tahia910
0
1.3k
文字拡大されても怖くない レイアウト作りのコツ
tahia910
5
3k
社内でできるアクセシビリティのはじめかた
tahia910
3
710
Raise accessibility awareness at work as an Android developer
tahia910
1
170
社内でのアクセシビリティ推進
tahia910
3
5.4k
Other Decks in Technology
See All in Technology
熱々🔥のUDN🍜を喰らえ❗マルチテナントもVM統合も思いのまま❗新機能で切り拓くk8sネットワークの未来
tsukaman
0
190
主要ライブラリの実例に学ぶ、TypeScriptで実現する型安全な座標定義
tiroljpn
1
220
撤退危機からのピボット : 4年目エンジニアがリードする TypeScript で挑む事業復活 / crisis-to-pivot-4th-year-engineer-ts-relaunch
carta_engineering
2
740
大事なのは、AIの精度だけじゃない!〜1円のズレも許されない経理領域とAI〜
jun_nemoto
8
4.6k
Standard Schema: スキーマライブラリの統一企画とは何か
nozomuikuta
1
440
エッジ活用の最適解とは? 新しいエッジ処理アーキテクチャ「Edge-as-a-Service」構想について
kakerucom
0
120
Rebase エンジニアリング組織の現状とこれから
rebase_engineering
0
110
情熱と工夫で走り抜け! コミュニティをささえるObservability実践録
b1gb4by
1
120
さくらのクラウド 開発の挑戦とその舞台裏
kazeburo
0
690
Data Hubグループ 紹介資料
sansan33
PRO
0
1.7k
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-not-bad
hanhan1978
8
12k
新卒から4年間、20年もののWebサービスと向き合って学んだソフトウェア考古学 - PHPカンファレンス新潟2025 / new graduate 4year software archeology
oguri
2
240
Featured
See All Featured
For a Future-Friendly Web
brad_frost
178
9.7k
Producing Creativity
orderedlist
PRO
345
40k
Site-Speed That Sticks
csswizardry
6
570
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
33k
The Cult of Friendly URLs
andyhume
78
6.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
What's in a price? How to price your products and services
michaelherold
245
12k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
42
2.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.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