SlideShare une entreprise Scribd logo
1  sur  76
Télécharger pour lire hors ligne
Services you can use to
monitor and analyze
mobile app
Koji Lin @ Taipei GTUG
About me
● koji lin
○ http://twitter.com/kojilin
● Engineer, Cubie Inc.
● The Organizer of JavaWorld@TW
○ http://www.javaworld.com.tw
● The Organizer of Taiwan Java User Group
○ http://twjug.org
Cubie Messenger
Outline
● Why?
● Analytics Platform
● A/B Test
● App Crash Report
● Distribute Beta Test
Why?
開發
使用
修改
使用
使用
❤
使用
● 提高相關功能的使用率
● 黏著度更高
● 主動與更多朋友分享
Every change brings...
Every change brings...
● 功能越改越...
● 使用者抱怨
● 更高的移除率
回饋
修改
回饋
使用
開發
除了用戶主動回饋
我們更需要數據來分析
??????????
Mobile Analytics
What we want to know?
● Retention
○ 多少人會在一段時間後會再回來使用
● Conversion rates
○ 哪些流程使用者在中途就不想完成?
● 新功能的使用狀況
● 改版是否造成不好的影響
● 以上都還要能搭配各種分類條件
Mobile Analytics
● In-House Product
● Google Analytics
● Flurry
● Mixpanel
In-House Product
In-House Product
● 依照自己的需求客製
In-House Product
● 依照自己的需求客製
● 容易缺乏各式文件和資料
● 我們有更多更重要的功能得去做
● 提供服務的通常更好,更專業且更多功能
● ...其它更多缺點
In-House Product
● 依照自己的需求客製
● 容易缺乏各式文件和資料
● 我們有更多更重要的功能得去做
● 提供服務的通常更快,更專業且更多功能
● ...其它更多缺點
Google Analytics
● Google Analytics Mobile
○ SDK for iOS, Android(v2 beta)
● 需要較多過程,步驟來完成報表
○ Cohort Analytics
○ Segmentation
○ 透過 Custom Var 的方式來完成
Flurry
● 從 2008 年開始
○ 4個 android app 中就有一個有裝
● Sessions / Frequency of Use
● Estimate Gender / Age / Personas
● Segementation
● Funnel
● 免費!!
● Demo
Install Flurry
@Override
protected void onStart()
{
super.onStart();
FlurryAgent.onStartSession(this, "YOUR_API_KEY");
}
@Override
protected void onStop()
{
super.onStop();
FlurryAgent.onEndSession(this);
}
Log Event in Flurry
Map<String, String> params =
new HashMap<String, String>();
// Capture author info
params.put("Author", "John Q");
// Capture user status
params.put("User_Status", "Registered");
FlurryAgent.logEvent("Article_Read", params);
Mixpanel
● From Y Combinator
● Real-time
● Cohort Analysis
● Funnel
● Retention
● 隨時想看什麼就看什麼
● Demo
Install MixPanel
MixpanelAPI mixpanel = MixpanelAPI.getInstance(context,
"YOUR_API_TOKEN");
Track Event in MixPanel
JSONObject properties = new JSONObject();
properties.put("gender", "male");
properties.put("age", 20);
mixpanel.track("register", properties);
A/B Test
Why A/B Test?
A: 到底決定哪一種比較好?
B: 上面比較好,不然版面太亂
C: 下面比較好, 不然沒有人知道這個功能
D: 可是...
Why A/B Test?
A: 到底決定哪一種比較好?
B: 上面比較好,不然版面太亂
C: 下面比較好, 不然沒有人知道這個功能
D: 可是...
10 分鐘後
B: 還是上面比較....
A: #!@!....
別再吵了,直接試試看
A/B Test
A/B Test
35%
25%
A/B Test
● Layout
○ 消極的顯示? 積極的顯示?
● Workflow
○ 更多步驟? 減少步驟? 順序?
● Text
○ 詳細一點? 簡述一點? 柔性一點?
● Color
○ 典型的綠色紅色按鈕範例
A/B Test
● 幫使用者註冊一個UUID
● 挑選一定比例的使用者當測試用戶
○ 使用固定的UUID去計算,讓每次結果相同
● 送出事件
● 在後台統計
○ 依照 test group 分開資料
Android First
A/B Testing
New Features
Easy to publish
Android First
A/B Testing
New Features
Easy to publish
Reviewing......
所以 A/B Test 就這樣?
● A/B Test 是一門不太簡單的學問
○ 測試期間要多久?
○ 應該設定"多少/哪些"用戶當對照?
○ 局部優化?徹底大改?
○ 先做 A/A Test ?
○ ...其他
所以 A/B Test 就這樣?
● A/B Test 是一門不太簡單的學問
○ 測試期間要多久?
○ 應該設定"多少/哪些"用戶當對照?
○ 局部優化?徹底大改?
○ 先做 A/A Test ?
○ ...其他
from http://visualwebsiteoptimizer.com/split-testing-blog/seven-ab-testing-mistakes-to-stop-in-2013/
HiPPO
Highest Paid Person’s Opinion
Reference
1. http://en.wikipedia.org/wiki/A/B_testing
2. http://circa.cs.ualberta.ca/index.php/CIRCA:
A/B_Testing
3. http://visualwebsiteoptimizer.com/
4. http://www.clickz.
com/clickz/column/1704390/a-b-testing-
mathematically-disinclined
Some A/B Test Services
● clutch.io
● arise.io
● Amazon A/B Testing Service
● PATHMAPP ( iOS)
App Crash Report
App Crash Report
● Google Play
Google Play
App Crash Report
● Google Play
● ACRA
ACRA
Install ACRA
● add jar
● add permissions
○ android.permission.INTERNET
● add code in class extends Application
ACRA.init(this);
ACRA
● Google Docs
○ Don't and now you can't
● Acralyzer
● ACRA Reporter
○ Google App Engine
○ Android widget
● BugSense, HockeyApp, Zubhium
App Crash Report
● Google Play
● ACRA
● Crittercism
Crittercism
Install Crittercism
● add jar
● add permissions
○ android.permission.INTERNET
○ android.permission.READ_LOGS
○ android.permission.GET_TASKS
● add code
Crittercism.init(getApplicationContext(), appId);
Crittercism
● Crash Reports
● Crash Trends (Premium)
● Handled Exceptions (Premium)
● Connect JIRA/GitHub
● Demo
Crittercism.logHandledException(exception);
App Crash Report
● Google Play
● ACRA
● Crittercism
● Crashlytics
Crashlytics
● Crash Reports(Issues)
Crashlytics
● Crash Reports(Issues)
● 界面很炫
● 年初被 Twitter 買了
● Connect to JIRA / HipChat / Redmine...etc
● Demo
Crashlytics
● Crash Reports(Issues)
● 界面很炫
● 年初被 Twitter 買了
● Connect to JIRA / HipChat / Redmine...etc
● Demo
Coming Soon
Distribute Beta Test
Testflight
● iOS
● Android(beta)
iOS 上做 beta test
1. 收集使用者的UDID
2. 將 UDID 加到 Distribution Provisioning Profie
3. 打包成 IPA 將檔案丟給測試人員
4. 測試人員使用跟裝置同步的電腦安裝
iOS 上做 beta test
1. 收集使用者的UDID
2. 將 UDID 加到 Distribution Provisioning Profie
3. 打包成 IPA 將檔案丟給測試人員
4. 測試人員使用跟裝置同步的電腦安裝
Android 上做 beta test
1. 產生 apk 將檔案丟給測試人員
2. 直接安裝測試
Android 上做 beta test
1. 產生 apk 將檔案丟給測試人員
2. 直接安裝測試
?
?
Testflight
● 方便管理並了解測試狀況
● 搭配 SDK 可以有更多進階功能
● Demo
Thank you!!
Q&A

Contenu connexe

En vedette (8)

使用 Java 上的 future/promise API
使用 Java 上的 future/promise  API使用 Java 上的 future/promise  API
使用 Java 上的 future/promise API
 
Java8 lambda
Java8 lambdaJava8 lambda
Java8 lambda
 
G1GC
G1GCG1GC
G1GC
 
Using armeria to write your RPC
Using armeria to write your RPCUsing armeria to write your RPC
Using armeria to write your RPC
 
Java8 time
Java8 timeJava8 time
Java8 time
 
Java8 stream
Java8 streamJava8 stream
Java8 stream
 
CompletableFuture
CompletableFutureCompletableFuture
CompletableFuture
 
Programming with Threads in Java
Programming with Threads in JavaProgramming with Threads in Java
Programming with Threads in Java
 

Similaire à Services you can use to monitor and analyze mobile app

Drupalthon team report for Ubuntu TW
Drupalthon team report for Ubuntu TWDrupalthon team report for Ubuntu TW
Drupalthon team report for Ubuntu TW
t ky
 

Similaire à Services you can use to monitor and analyze mobile app (20)

ProductTank Taipei #2 數據驅動的用戶研究 - by Jason Hou 侯宗成
ProductTank Taipei #2 數據驅動的用戶研究 - by Jason Hou 侯宗成ProductTank Taipei #2 數據驅動的用戶研究 - by Jason Hou 侯宗成
ProductTank Taipei #2 數據驅動的用戶研究 - by Jason Hou 侯宗成
 
Ab测试分享
Ab测试分享Ab测试分享
Ab测试分享
 
HTC RE Camera 開發分享
HTC RE Camera 開發分享HTC RE Camera 開發分享
HTC RE Camera 開發分享
 
Ab tesing
Ab tesingAb tesing
Ab tesing
 
初入敏捷測試的困境 (2019.09.26 Agile Neihu Sprint 28.1)
初入敏捷測試的困境 (2019.09.26 Agile Neihu Sprint 28.1)初入敏捷測試的困境 (2019.09.26 Agile Neihu Sprint 28.1)
初入敏捷測試的困境 (2019.09.26 Agile Neihu Sprint 28.1)
 
极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)
 
Agile Summit 希平方-攻其不背 消費管道入口A/B Testing實戰分享
Agile Summit 希平方-攻其不背 消費管道入口A/B Testing實戰分享Agile Summit 希平方-攻其不背 消費管道入口A/B Testing實戰分享
Agile Summit 希平方-攻其不背 消費管道入口A/B Testing實戰分享
 
Continuous Delivery Chat8
Continuous Delivery Chat8Continuous Delivery Chat8
Continuous Delivery Chat8
 
Drupalthon team report for Ubuntu TW
Drupalthon team report for Ubuntu TWDrupalthon team report for Ubuntu TW
Drupalthon team report for Ubuntu TW
 
Growth 的基石 用戶行為追蹤
Growth 的基石   用戶行為追蹤Growth 的基石   用戶行為追蹤
Growth 的基石 用戶行為追蹤
 
利用免費服務建立R的持續整合環境
利用免費服務建立R的持續整合環境利用免費服務建立R的持續整合環境
利用免費服務建立R的持續整合環境
 
The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous delivery
 
#3月瘋行動 行動SEO大揭秘 讓網站和App在手機搜尋結果中脫穎而出
#3月瘋行動 行動SEO大揭秘   讓網站和App在手機搜尋結果中脫穎而出#3月瘋行動 行動SEO大揭秘   讓網站和App在手機搜尋結果中脫穎而出
#3月瘋行動 行動SEO大揭秘 讓網站和App在手機搜尋結果中脫穎而出
 
Agile scrum in startup
Agile scrum in startup  Agile scrum in startup
Agile scrum in startup
 
Web Analytics 2.0 的新世界
Web Analytics 2.0 的新世界Web Analytics 2.0 的新世界
Web Analytics 2.0 的新世界
 
Tip for Editors
Tip for EditorsTip for Editors
Tip for Editors
 
0918 產品經理先修班
0918 產品經理先修班0918 產品經理先修班
0918 產品經理先修班
 
初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法
 
银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011
 
主管不會教、自己學不會的 Google analytics
主管不會教、自己學不會的 Google analytics主管不會教、自己學不會的 Google analytics
主管不會教、自己學不會的 Google analytics
 

Services you can use to monitor and analyze mobile app