Evernote 分析机制学习

优秀不是偶然的,evernote 内嵌有 google analytics 分析器,一博内嵌有友盟分析器。几款口碑不错的 android 应用软件都有分析器。就来学习一下 evernote 是如何利用分析器的。

Evernote 记录的机器信息:

IsTablet: 根据屏幕尺寸和分辨率来判断设备是否具备 Tablet 能力

Locale: java.util.Locale.getDefault().toString()

Service: commerce_service

Package: AndroidManifest.xml 中定义的 package

Brand: android.os.Build.BRAND

Model: android.os.Build.MODEL

Network operator: TelephonyManager.getNetworkOperator() + " / " + TelephonyManager.getNetworkOperatorName()

Android version:  android.os.Build.VERSION.RELEASE

Evernote version: AndroidManifest.xml 中定义的 android:versionName

Evernote revision: Enum.REVISION=unknown 

Evernote type: Enum.BUILD_TYPE=public

Internal storage: StatFs.getBlockSize*getAvailableBlocks

External storage: StatFs.getBlockSize*getAvailableBlocks

SDCardStatus: SD

 

反馈crash报告:Android应用如何反馈Crash报告

(1)主线程中设置处理程序,DefaultExceptionHandler

(2)在主Activity的onCreate(Bundle savedInstanceState) 方法中增加代码 

Thread.setDefaultUncaughtExceptionHandler(new DefaultExceptionHandler( this.getApplicationContext() ));  

 

evernote 处理异常:

(1)全局处理 Thread.UncaughtExceptionHandler 的实现

(2)StackTraceElement 中包含com.google.android.apps.analytics了就交给 GoogleAnalytics 处理

(3)异常及处理类型:

  • CrashHandler
  • NullPointerException
  • restartEvernote
  • IndexOutOfBoundsException
  • SecurityException
  • IllegalStateException
  • OtherException

(4)日志:slf4j

(5)analytics 记录或发送的 evernote 内容

  • category: Exception
  • action: Evernote
  • label: NullPointerException
  • value: 0

(6)analytics 完整的记录

  • id
  • random
  • timestampCurrent
  • timestampPrevious
  • timestampFirst
  • visits: 访问次数
  • value: 
  • category
  • action
  • label
  • screen_width: 
  • screen_height: 

(7)analytics 保存

  • google_analytics.db
  • GoogleAnalyticsTracker 大于1000条后不再保存
  • 删除原来的 hits 记录

(8)发送

  • org.apache.http.message.BasicHttpEntityEnclosingRequest
  • POST

Evernote 使用举例:

(1)创建新的笔记本:createBusinessNotebook

调用:log("Generic", "businessNotebookCreated", label, 0)

label内容:

  • content://com.evernote.evernoteprovider
  • linkednotebooks
  • guid: UUID.randomUUID()
  • notebook_guid: UUID.randomUUID()
  • share_name
  • user_name: null
  • usn: 0
  • dirty: true
  • sync_mode: 1
  • business_id: 0
  • stack: 
  • uploaded: 0
  • permissions: 2304

交给 google analystics 的 action

Classcategoryactionlabelvalue
ExceptionHandler ExceptionEvernoteCrashHandler

0

 ExceptionEvernoteNullPointerException0
 ExceptionEvernoterestartEvernote0
 ExceptionEvernoteIndexOutOfBoundsException0
 ExceptionEvernoteSecurityException0
 ExceptionEvernoteIllegalStateException0
 ExceptionEvernoteOtherException0
BillingActivityGenericBillingActivityBilling pending0
 GenericBillingActivityBilling already purchased0
BillingServiceGenericBillingActivityEvernote server returned successful response code

0

 GenericBillingActivityEvernote server returned error response code0
 GenericBillingActivityEvernote server returned un-successful response code0
 GenericBillingActivityException occurred while communication with evernote server,setting alarm0
 GenericBillingActivityEvernote server returned pending response code,setting alarm0
EvernoteServiceGenericbusinessNotebookCreated{Notebook}0
 Loginfailure...0
 Loginfailureexception0
 Loginfailurethrowable0
 Loginreaunthenticatesuccess0
 RegistersuccesscreateUser0
 Registerfailure...0
 RegisterfailureAll...0
 RegisterfailurecreateUserEx0
 Loginloginsuccess0
 LoginfailureClientUnsupported0
 Loginloginfailure0
 ResetPasswordfailure...0
 Loginlogoutsuccess0
SyncServiceExceptionSyncService-updateQuotaquota-notification-950
 ExceptionSyncService-updateQuotaquota-notification-750
 ExceptionSyncService-updateQuotaquota-notification-500
FeatureDiscoveryPromoButtonClickFeatureDiscoveryPromoHidePromo1
 ButtonClickFeatureDiscoveryPromoRemindLater1
 ButtonClickFeatureDiscoveryPromoActivateButton1
 GenericFeatureDiscoveryPromoBackPressed1
UserSetupActivityGenericsetupUserfailure0
 GenericsetupUseralreadyPreactivated0
 GenericsetupUsersuccess0
LandingActivityShow...ShowOneClickRegistration0
 RegisterfailureregistrationUrls0
 LoginfailureLoadingDialog...0
 Registersuccessregistration0
RegistrationFragmentShowPopulateCreateEmailnull0
 Registersubmitattempt0
 RegisterfailureemailValidation0
 RegisterfailureemailExists0
 RegisterfailureusernameValidation0
 RegisterfailureusernameExists0
 RegisterfailurepasswordValidation0
 RegisterfailurenetworkUnreachable0
 RegistercheckUsernamesuccess0
 RegistercheckUsernamefailure0
 Registerfailureregistration0

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值