SlideShare a Scribd company logo
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
Services you can use to monitor and analyze mobile app
Cubie Messenger
Outline
● Why?
● Analytics Platform
● A/B Test
● App Crash Report
● Distribute Beta Test
Why?
開發
使用
修改
使用
使用
❤
使用
● 提高相關功能的使用率
● 黏著度更高
● 主動與更多朋友分享
Every change brings...
Every change brings...
● 功能越改越...
● 使用者抱怨
● 更高的移除率
回饋
修改
回饋
使用
開發
除了用戶主動回饋
我們更需要數據來分析
??????????
Services you can use to monitor and analyze mobile app
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
● 依照自己的需求客製
Services you can use to monitor and analyze mobile app
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
○ 典型的綠色紅色按鈕範例
Services you can use to monitor and analyze mobile app
Services you can use to monitor and analyze mobile app
Services you can use to monitor and analyze mobile app
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

More Related Content

KEY
Ab test -互联网渐进式解决方案
PDF
Test corner #20 誰說只有測試金字塔
PDF
docker intro
PDF
Idea13
PDF
Use Lambdas in Android
PDF
Jcconf
ODP
Raspberry Pi with Java
PDF
Annotation processing and code gen
Ab test -互联网渐进式解决方案
Test corner #20 誰說只有測試金字塔
docker intro
Idea13
Use Lambdas in Android
Jcconf
Raspberry Pi with Java
Annotation processing and code gen

Viewers also liked (8)

PDF
使用 Java 上的 future/promise API
PDF
Java8 lambda
PPTX
G1GC
PDF
Using armeria to write your RPC
PDF
Java8 time
PDF
Java8 stream
ODP
CompletableFuture
PDF
Programming with Threads in Java
使用 Java 上的 future/promise API
Java8 lambda
G1GC
Using armeria to write your RPC
Java8 time
Java8 stream
CompletableFuture
Programming with Threads in Java
Ad

Services you can use to monitor and analyze mobile app