用户工具

站点工具


差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
razor:android-developer-guide [2015/03/20 14:53]
cobub [3.1 错误报告]
razor:android-developer-guide [2017/07/14 11:18] (当前版本)
行 1: 行 1:
 +~~Title:​Android 开发者指南 - 开源移动应用运营平台 - 移动统计、移动推送解决方案 - Cobub 移动开发者中心~~
 +{{description>​Android 开发者指南}}
 +{{keywords>​Cobub Razor,​开源移动应用分析,​移动分析,​移动应用分析,​开发者指南,​android}}
 +====== Android 开发者指南 ======
  
  
行 4: 行 8:
  
 ===== 1.1   ​注册应用,获取AppKey,下载开发文档 ===== ===== 1.1   ​注册应用,获取AppKey,下载开发文档 =====
- 
  
 登陆账号后,到管理后台注册应用,填写Android应用的相关信息。App建立成功后,可获得该App的AppKey以及最新的开发文档。 登陆账号后,到管理后台注册应用,填写Android应用的相关信息。App建立成功后,可获得该App的AppKey以及最新的开发文档。
  
 ===== 1.2   ​Android SDK使用步骤 ===== ===== 1.2   ​Android SDK使用步骤 =====
-==== 1.2.1   ​导入com.wbkit1.0.jar(简称SDK) ==== +==== 1.2.1   ​导入Cobub的SDK jar包 ​====
  
-打开放在服务端的android_sdk,​ 导入android_sdk到eclipse,打包生成的bin\classes下com文件夹为com.wbkit1.0.jar。+打开下载文件中sdk\android_sdk目录, 导入SDK项目到eclipse(或其它IDE),打包生成jar
  
-Eclipse用户右键工程根目录,选择Properties —>​Java ​ Build Path —>​libraries,然后点击Add External JARs…选择指向 ​com.wbkit1.0.jar的路径,点击OK,即导入成功。+Eclipse用户右键工程根目录,选择Properties —>​Java ​ Build Path —>​libraries,然后点击Add External JARs…选择指向上述生成的jar包文件的路径,点击OK,即导入成功。
  
 ==== 1.2.2    配置AndroidManifest.xml ==== ==== 1.2.2    配置AndroidManifest.xml ====
行 89: 行 91:
 **import com.wbtech.ums.UmsAgent;​** **import com.wbtech.ums.UmsAgent;​**
  
-  * 设置服务器URL +  * 初始化Ums对象 
-在Android应用的入口Activity的onCreate()方法中调用UmsAgent.setBaseURL(String url)方法,注意这个方法应置于所有其他的方法之前。+在Android应用的入口Activity的onCreate()方法中调用UmsAgent.init(Context context, ​String url)方法,**注意这个方法应置于所有其他的方法之前**。url为自行安装的Cobub Razor服务端地址,注意地址以index.php?​结束,如"​http://​demo.cobub.com/​razor/​index.php?"​
  
   * 获取用户ID   * 获取用户ID
-在可以获得用户唯一标识符的地方调用UmsAgent.bindUserIdentifier(String userID)方法,该方法会记录下该标示 ​         符,以确定某一用户在使用。该方法后需要调用UmsAgent.postClientData(Context con)方法(稍后介绍)才能将 ​   数据上传至服务器,否则只在本地保存该用户的标示符记录+在可以获得用户唯一标识符的地方(如登录界面)调用UmsAgent.bindUserid(Context context, ​String userID)方法,该方法会记录下该标示符(如app应用的用户名手机号或邮箱等标识用户唯一性的id),函数会将设备与户id的关系发至服务保存。
  
   * 绑定tag   * 绑定tag
行 129: 行 131:
     setContentView(R.layout.activity_main);​     setContentView(R.layout.activity_main);​
     button = (Button) findViewById(R.id.button1);​     button = (Button) findViewById(R.id.button1);​
-    UmsAgent.setBaseURL("​http://​192.168.1.204/​UMS/​index.php?"​);​+    UmsAgent.init(context,"​http://​192.168.1.204/​UMS/​index.php?"​);​
     UmsAgent.update(this);​     UmsAgent.update(this);​
-    UmsAgent.onError(this);​ + 
-    UmsAgent.setDefaultReportPolicy(this, ​1); +    UmsAgent.setDefaultReportPolicy(this, ​SendPolicy.REALTIME); 
-    UmsAgent.bindUserIdentifier(this, "xd.."); +    UmsAgent.bindUserid(this, "cobub"); 
-    ​UmsAgent.postClientData(this);​+
     button.setOnClickListener(new OnClickListener() {     button.setOnClickListener(new OnClickListener() {
  
行 152: 行 154:
  
 ==== 1.2.5   ​注意事项 ==== ==== 1.2.5   ​注意事项 ====
- 
  
     * AppKey     * AppKey
行 169: 行 170:
  
 ===== 2.1   ​错误报告 ===== ===== 2.1   ​错误报告 =====
- 
  
 SDK可以帮您捕捉用户在使用应用过程中出现的异常退出(FC),并将错误报告发送给服务器,错误报告包含应用程序版本、操作系统版本和设备型号以及程序出现异常时的Stacktrace,这些数据将帮助您调试应用程序的错误。我们提供两种方式报告错误信息,一种是我们自动捕获的错误信息,一种是开发者自己传递的错误 SDK可以帮您捕捉用户在使用应用过程中出现的异常退出(FC),并将错误报告发送给服务器,错误报告包含应用程序版本、操作系统版本和设备型号以及程序出现异常时的Stacktrace,这些数据将帮助您调试应用程序的错误。我们提供两种方式报告错误信息,一种是我们自动捕获的错误信息,一种是开发者自己传递的错误
行 183: 行 183:
 后者需要开发者调用**UmsAgent.onError(Context,​String)**方法,在第二个参数中传入自己捕获的错误信息。 后者需要开发者调用**UmsAgent.onError(Context,​String)**方法,在第二个参数中传入自己捕获的错误信息。
  
-===== 3.2   ​自定义事件 ===== +===== 2.2   ​自定义事件 =====
  
 除了基本统计分析功能外,SDK还支持您自定义的事件的统计分析,例如您可以统计广告点击次数或者视频被播放的次数等等,这里我们将提供几个简单而通用的接口: 除了基本统计分析功能外,SDK还支持您自定义的事件的统计分析,例如您可以统计广告点击次数或者视频被播放的次数等等,这里我们将提供几个简单而通用的接口:
-<​code>​+<​code ​java>
 UmsAgent.onEvent(Context context,​String event_id)</​code>​ UmsAgent.onEvent(Context context,​String event_id)</​code>​
 在您需要发送事件报告的代码段,调用如下方法就可以向服务器发送事件记录,将统计event_id对应事件发送次数,变化趋势,例如广告点击,短信发送量等等。参数context为当前context的引用,event_id为当前统计事件的ID。 在您需要发送事件报告的代码段,调用如下方法就可以向服务器发送事件记录,将统计event_id对应事件发送次数,变化趋势,例如广告点击,短信发送量等等。参数context为当前context的引用,event_id为当前统计事件的ID。
  
 比如,监测应用程序里广告的点击次数,事件ID为“ad_click”。那么需要在程序里每次广告点击时调用UmsAgent.onEvent(this,​“ad_click“)通知服务器一个广告点击事件发生。 比如,监测应用程序里广告的点击次数,事件ID为“ad_click”。那么需要在程序里每次广告点击时调用UmsAgent.onEvent(this,​“ad_click“)通知服务器一个广告点击事件发生。
-<​code>​+<​code ​java>
 UmsAgent.onEvent(Context context,​String event_id,​String label)</​code>​ UmsAgent.onEvent(Context context,​String event_id,​String label)</​code>​
 除了能够统计event_id所对应事件的发生次数,变化趋势外,还能统计事件中具体标签所占的比例,label为当前标签,同样这里的event_id字符串中也不能有空格。 除了能够统计event_id所对应事件的发生次数,变化趋势外,还能统计事件中具体标签所占的比例,label为当前标签,同样这里的event_id字符串中也不能有空格。
行 199: 行 198:
  
 对于程序中的某些可能被频繁触发的事件,开发者可以再程序中维护一个计数器,这样事件被多次触发只需要生成一个消息,这个消息包括该事件被触发的次数,这里我们重载了之前的两个接口: 对于程序中的某些可能被频繁触发的事件,开发者可以再程序中维护一个计数器,这样事件被多次触发只需要生成一个消息,这个消息包括该事件被触发的次数,这里我们重载了之前的两个接口:
-<​code>​+<​code ​java>
 UmsAgent.onEvent(Context context,​String event_id,​int acc)</​code>​ UmsAgent.onEvent(Context context,​String event_id,​int acc)</​code>​
-<​code>​+<​code ​java>
 UmsAgent.onEvent(Context context,​String event_id,​String label,int acc)</​code>​ UmsAgent.onEvent(Context context,​String event_id,​String label,int acc)</​code>​
 acc:对应事件被触发的次数。 acc:对应事件被触发的次数。
  
 这里我们除了可以对某个事件的发生次数统计外,增加了一个针对事件下某一标签的价值的保存和统计。重载方法如下: 这里我们除了可以对某个事件的发生次数统计外,增加了一个针对事件下某一标签的价值的保存和统计。重载方法如下:
-<​code>​+<​code ​java>
 UmsAgent.onEvent(Context context,​String event_id,​String label,​double value)</​code>​ UmsAgent.onEvent(Context context,​String event_id,​String label,​double value)</​code>​
 例如 event_id代表一个“下单”事件,那么label可以标记为某个“订单号”,而value就为该“订单号”的金额(即价值)。 例如 event_id代表一个“下单”事件,那么label可以标记为某个“订单号”,而value就为该“订单号”的金额(即价值)。
-===== 3.3 分发渠道分析 ===== 
  
 +===== 2.3 调试 =====
  
-不同发布渠道对应着不同appkey统计结果可使您很好了解有多少户从联想乐园或者Google android market ​载到您应用程序+Cobub Android SDK提供了调试功能提供尽可能多日志信息,以确定可能出现问题。 
 +函数,可以打开调试功能,sdk所有上报数据可以在logcat中显示。**注意:请在产品正式发布时,关闭该功能** 
 +<code java> 
 +UmsAgent.setDebugEnabled(true);​ 
 +</​code>​
  
-====== 4   ​应用程序更新 ======+Log的不同等级,可以通过以下函数设置: 
 +<code java> 
 +UmsAgent.setDebugLevel(UmsAgent.LogLevel);​ 
 +</​code>​ 
 +LogLevel分为Info,Debug,Warn,Error和Verbose。
  
-===== 4.1   ​上传APK ​=====+====== 3   ​应用程序更新 ======
  
 +===== 3.1   ​上传APK =====
  
 这个功能将帮助您把新版的Android应用程序推送给用户,您只需修改AndroidManifest.xml中的VersionCode,并把应用程序的apk文件上传到服务器。 这个功能将帮助您把新版的Android应用程序推送给用户,您只需修改AndroidManifest.xml中的VersionCode,并把应用程序的apk文件上传到服务器。
  
-===== 4.2   ​添加权限 ===== +===== 3.2   ​添加权限 =====
  
 **android.permission.WRITE_EXTERNAL_STORAGE** **android.permission.WRITE_EXTERNAL_STORAGE**
  
-===== 4.3   ​基本功能 =====+===== 3.3   ​基本功能 =====
 在Android应用程序的入口Activity的onCreate()方法中调用**UmsAgent.update(this)**,应用程序将自动检测服务端是否有新的版本。 在Android应用程序的入口Activity的onCreate()方法中调用**UmsAgent.update(this)**,应用程序将自动检测服务端是否有新的版本。
-<​code>​+<​code ​java>
 public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
    ​super.onCreate(savedInstanceState);​    ​super.onCreate(savedInstanceState);​
行 236: 行 243:
 </​code>​ </​code>​
 考虑到用户流量的限制,目前我们默认在Wi-Fi介入情况下才进行自动提醒。 考虑到用户流量的限制,目前我们默认在Wi-Fi介入情况下才进行自动提醒。
-===== 4.4   ​机制说明 ===== +===== 3.4   ​机制说明 =====
  
 每次更新Android应用程序,您只需要修改VersionCode,把Android应用程序的apk文件上传到服务器。UmsAgent.update()方法会判断是否有新版应用程序,如果发现可更新的应用程序安装包,会提示用户是否更新。用户选择更新后,安装包会下载安装更新。(按照version code来检测是否需要更新) 每次更新Android应用程序,您只需要修改VersionCode,把Android应用程序的apk文件上传到服务器。UmsAgent.update()方法会判断是否有新版应用程序,如果发现可更新的应用程序安装包,会提示用户是否更新。用户选择更新后,安装包会下载安装更新。(按照version code来检测是否需要更新)
  
 +====== 4  数据发送 ======
  
-====== 5   ​数据发送 ======+===== 4.1   ​模式解释 ​=====
  
-===== 5.1   ​模式解释 ===== +    ​* 启动时发送
- +
- +
-    ​* 启动时发送(推荐使用)+
 应用程序每次只会在启动时向服务器发送一次消息,在应用程序过程中产生的所有消息都会在下次启动时候发送。如果应用程序启动时处在不联网状态,那么消息将会缓存在本地,下次再尝试发送。 应用程序每次只会在启动时向服务器发送一次消息,在应用程序过程中产生的所有消息都会在下次启动时候发送。如果应用程序启动时处在不联网状态,那么消息将会缓存在本地,下次再尝试发送。
  
-    * 实时发送 +    * 实时发送(推荐使用) 
-应用程序每产生条消息时,就立即发送到服务器+应用程序每产生条消息时,就立即发送到服务器。这种方式使得计算更及时
  
-===== 5.2   ​设置发送模式 =====+===== 4.2   ​设置发送模式 =====
 在Android应用程序的入口Activity中调用**UmsAgent.setDefaultReportPolicy(Context,​int)**,参数int可取值0或者1,其中1表示实时发送,0表示启动时发送。 在Android应用程序的入口Activity中调用**UmsAgent.setDefaultReportPolicy(Context,​int)**,参数int可取值0或者1,其中1表示实时发送,0表示启动时发送。
  
- +====== ​  使用在线配置功能 ====== 
-====== ​  使用在线配置功能 ====== +<​code ​java>
-<​code>​+
 UmsAgent.updateOnlineConfig(Context)</​code>​ UmsAgent.updateOnlineConfig(Context)</​code>​
 在Android应用程序的入口Activity的onCreate()方法中调用。SDK将联网检测您的在线配置,将这些信息保存在本地。你也可以通过下面的方法读取您的自定义参数。 在Android应用程序的入口Activity的onCreate()方法中调用。SDK将联网检测您的在线配置,将这些信息保存在本地。你也可以通过下面的方法读取您的自定义参数。
- 
-**UmsAgent.updateOnlineConfig(Context context,​String key)** 其中key为在网站上编辑好的key,​返回值是对应的value ,如果没有读到相应的value将返回空字符串。 
razor/android-developer-guide.1426834388.txt.gz · 最后更改: 2017/07/14 11:12 (外部编辑)