zoukankan      html  css  js  c++  java
  • android开发系列之友盟统计集成

          相比大家都遇到这种情况,当我们的app上线之后,我们想要实时的跟踪了解到app里面的bug情况、新增用户情况、用户相关的行为属性情况等。但是如果自己在app里面去开发集成这些功能,一方面开发工作量还挺大(包括前后端),另一方面统计信息也有可能非常不准确、不全面。那么有没有其他厂商去帮我们做这些事情呢?这个时候友盟就该闪亮登场了。

          今天我们主要看看在android app里面想要集成友盟的话,我们需要做哪些步骤呢?首先我们可以进到友盟的android文档中心,参考文档去集成,我们总结为以下几步:1.通过邮箱(最好为公司邮箱)申请友盟账号,然后通过刚刚申请的友盟账号,登录进到管控台,在里面添加一个app,这个时候我们就能够得到一个appKey。

          2.如果我们的开发环境是ADT,那么就需要到友盟的官网上面下载SDK,里面有统计要用到的jar包;如果我们的开发环境是android studio,那么我们还可以通过gradle里面的maven功能,直接添加如下依赖引用,代码如下:

    dependencies {
       compile 'com.umeng.analytics:analytics:latest.integration'
    }
    

          3.当我们将友盟jar包正确引用之后,就需要添加一下权限了,代码如下:

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
    

          4.这个时候我们还需要在AndroidMenifest.xml文件里面,配置当前app的appkey和渠道号了,代码如下:

    <meta-data android:value="YOUR_APP_KEY" android:name="UMENG_APPKEY"></meta-data>
    <meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>
    

          5.这个时候我们就可以开始设置我们需要用到的统计类型了,其中session统计需要在每个activity的onResume、onPause方法里面调用如下代码:

    public void onResume() {
    super.onResume();
    MobclickAgent.onResume(this);
    }
    public void onPause() {
    super.onPause();
    MobclickAgent.onPause(this);
    }
    

     只有当我们调用了MobclickAgent.onResume()和MobclickAgent.onPause()方法,才能够保证获取正确的新增用户、活跃用户、启动次数、使用时长等基本数据。

          6.至此我们的app集成友盟的工作就大至完成了,如果你还想配置其他更多的统计、配置发送策略的话,请参考友盟官方文档。

          7.可能还有两点需要注意的问题:a.统计数据安全性,我们可以在app入口的activity里面添加如下代码:

    AnalyticsConfig.enableEncrypt(boolean enable);
    

     当参数为true的时候就可以实现对日志信息的加密处理,false就是不加密。b.在对app代码进行混淆的时候,我们需要在混淆文件里面,进行如下配置:

    -keepclassmembers class * {
       public <init> (org.json.JSONObject);
    }
    

           8.还有一点可以认为是友盟统计的高级功能吧,就是计数事件和计算事件,具体区别可参照友盟sdk。

  • 相关阅读:
    Eclipse 不能build, pom文件上面有叉叉 解决办法
    WCF分布式开发必备知识(1):MSMQ消息队列
    MSMQ创建消息队列出现“工作组安装计算机不支持该操作”
    在asp.net利用jquery.MultiFile实现多文件上传(转载)
    让ASP.NET MVC不使用jsonp也可以跨域访问
    设计模式学习之适配器模式(Adapter,结构型模式)(14)
    设计模式学习之策略模式(Strategy,行为型模式)(13)
    设计模式学习之命令模式(Command,行为型模式)(12)
    设计模式学习之代理模式(Proxy,结构型模式)(11)
    设计模式学习之组合模式(Composite,结构型模式)(10)
  • 原文地址:https://www.cnblogs.com/xiaocai20091687/p/xiaocai-android-umeng.html
Copyright © 2011-2022 走看看