优秀不是偶然的,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
Class | category | action | label | value |
ExceptionHandler | Exception | Evernote | CrashHandler |
0 |
Exception | Evernote | NullPointerException | 0 | |
Exception | Evernote | restartEvernote | 0 | |
Exception | Evernote | IndexOutOfBoundsException | 0 | |
Exception | Evernote | SecurityException | 0 | |
Exception | Evernote | IllegalStateException | 0 | |
Exception | Evernote | OtherException | 0 | |
BillingActivity | Generic | BillingActivity | Billing pending | 0 |
Generic | BillingActivity | Billing already purchased | 0 | |
BillingService | Generic | BillingActivity | Evernote server returned successful response code |
0 |
Generic | BillingActivity | Evernote server returned error response code | 0 | |
Generic | BillingActivity | Evernote server returned un-successful response code | 0 | |
Generic | BillingActivity | Exception occurred while communication with evernote server,setting alarm | 0 | |
Generic | BillingActivity | Evernote server returned pending response code,setting alarm | 0 | |
EvernoteService | Generic | businessNotebookCreated | {Notebook} | 0 |
Login | failure | ... | 0 | |
Login | failure | exception | 0 | |
Login | failure | throwable | 0 | |
Login | reaunthenticate | success | 0 | |
Register | success | createUser | 0 | |
Register | failure | ... | 0 | |
Register | failureAll | ... | 0 | |
Register | failure | createUserEx | 0 | |
Login | login | success | 0 | |
Login | failure | ClientUnsupported | 0 | |
Login | login | failure | 0 | |
ResetPassword | failure | ... | 0 | |
Login | logout | success | 0 | |
SyncService | Exception | SyncService-updateQuota | quota-notification-95 | 0 |
Exception | SyncService-updateQuota | quota-notification-75 | 0 | |
Exception | SyncService-updateQuota | quota-notification-50 | 0 | |
FeatureDiscoveryPromo | ButtonClick | FeatureDiscoveryPromo | HidePromo | 1 |
ButtonClick | FeatureDiscoveryPromo | RemindLater | 1 | |
ButtonClick | FeatureDiscoveryPromo | ActivateButton | 1 | |
Generic | FeatureDiscoveryPromo | BackPressed | 1 | |
UserSetupActivity | Generic | setupUser | failure | 0 |
Generic | setupUser | alreadyPreactivated | 0 | |
Generic | setupUser | success | 0 | |
LandingActivity | Show | ... | ShowOneClickRegistration | 0 |
Register | failure | registrationUrls | 0 | |
Login | failureLoadingDialog | ... | 0 | |
Register | success | registration | 0 | |
RegistrationFragment | Show | PopulateCreateEmail | null | 0 |
Register | submit | attempt | 0 | |
Register | failure | emailValidation | 0 | |
Register | failure | emailExists | 0 | |
Register | failure | usernameValidation | 0 | |
Register | failure | usernameExists | 0 | |
Register | failure | passwordValidation | 0 | |
Register | failure | networkUnreachable | 0 | |
Register | checkUsername | success | 0 | |
Register | checkUsername | failure | 0 | |
Register | failure | registration | 0 |
相关推荐
Evernote_6.21.6.2195.exe
Evernote_6.22.14.3461
资源分类:Python库 所属语言:Python 资源全名:exporteer_evernote_osx-0.0.1-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
使用wine在Docker中运行Evernote 在Linux上访问Evernote的方法有很多,例如Nevernote,Geeknote和Everpad。 作为Evernote的长期用户和Docker爱好者,将两者结合起来是很有意义的。 这项工作基于: : #版本 ...
evernote Mac 国际版,如果以前使用的是evernote国际版,现在国内版不太好用,可以试试这个
使用方法var enmail = require('evernote-enmail').evernote_mail;var mailOpts = { user: '', // 自己邮箱的用户名 password: '', // 自己邮箱的密码 host: '', // 自己邮箱的stmp地址 ssl: , // boolean值 from: '...
Evernote SDK for C# Evernote API版本1.29 概述 该SDK包含用于从C#应用程序调用Evernote Cloud API的包装器代码。 该SDK还包含三个示例解决方案。 样本/客户端中的解决方案演示了.NET应用程序中SDK的基本用法,...
Evernote转Markdown转换器 Evernote2md是一个CLI工具,可将以* .enex格式导出的Evernote笔记转换为带有markdown文件的目录。 主要特点: 零依赖-下载并运行每个便签创建一个markdown文件转换附件文件(两个目录将被...
简介此玩具用于为evernote web版添加外部md编辑器。构成编辑器使用作业部落的md编辑器,其中已整合流程图、时序图和公式。evernote web <-> background <-> editor存储结构:pre.hide + div.notice + parsed ...
假小子2印象笔记到导出和同步工具。...tomboy2evernote 来了它可以将所有(或仅部分)您的 Tomboy 笔记和笔记本上传到您的 Evernote 帐户(是的,您必须拥有一个)。 因此,您将能够使用 Evernote 手机应用程
Evernote2HTML 将Evernote ENEX备份文件转换为一系列HTML文件 # python3 -m venv env # env/bin/pip install -r requirements.txt ... # env/bin/python enex2html.py -h usage: enex2html.py [-h] -i INPUT [-o ...
enex转md文档小工具 window版本,本地测试通过 分享给大家帮助解决印象比较导出md文件问题
Evernote 和 Markdown 格式之间的 2 向转换。evernote2markdown已经支持将Evernote导出的html转换为Markdown,并且可以自动添加Jekyll的front matter
Evernote认证开发人员计划练习安装 git clone git@github.com:mattnorris/evernote-dev-cert-cli.gitcd evernote-dev-cert-clinpm install配置切换到所需的分支(每个分支都是一个练习)。 例如: git checkout ...
android-evernote-client 能够访问Evernote帐户以读取现有笔记并发布新笔记的Android应用程序。用途这是一个自我教育的应用程序,用于测试新的Evernote Android SDK。 此应用程序的计划目标是: 以标准用户身份登录...
EvImSync是在Evernote和GMail之间同步笔记的简单工具。Evernote2Onenote是将Evernote笔记导入OneNote的工具。
提供React客户端和快速服务器实现,以从Evernote API中获取随机注释。在小故障上混音单击混音: 更新文件(TODO对此进行了修复): package.json代理应显示...
Evernote_6.22.42.3932
这是一款evernote笔记安装包,本人已经使用多年,该笔记可以联网同步,在公司保存的笔记家里也能看到,好几年使用的笔记一直保存在那里,建议大家使用。
Evernote去广告教程[归纳].pdf