友盟各个插件的使用方法

使用友盟提供的功能之前需要获取应用的AppKey

一:应用统计

  开发文档:http://dev.umeng.com/analytics/android-doc/integration

  session统计

  在每个Activity的onResume方法中调用 MobclickAgent.onResume(Context), onPause方法中调用MobclickAgent.onPause(Context)

  1. 确保在所有的Activity中都调用 MobclickAgent.onResume() 和MobclickAgent.onPause()方法
  2. 请不要同时在父和子Activity中重复添加onPause和onResume方法,否则会造成重复统计,导致启动次数异常增高
  3. 当应用在后台运行超过30秒(默认)再回到前端,将被认为是两个独立的session(启动),例如用户回到home,或进入其他程序,经过一段时间后再返回之前的应用。可通过接口:MobclickAgent.setSessionContinueMillis(long interval) 来自定义这个间隔(参数单位为毫秒)
  4. 调用Process.kill或者System.exit之类的方法杀死进程之前调用MobclickAgent.onKillProcess(Context context)方法,用来保存统计数据。
  5.     @Override
        public void onResume() {
            super.onResume();
            MobclickAgent.onResume(this);
        }
    
        @Override
        public void onPause() {
            super.onPause();
            MobclickAgent.onPause(this);
        }

  页面统计

  1. 只有Activity的应用:只需添加session统计的代码即可
  2. 包含Activity、Fragment、View的应用
  • 使用 onResume 和 onPause 方法统计时长, 这和基本统计中的情况一样(针对Activity)

    public void onResume() {
        super.onResume();
        MobclickAgent.onResume(this);       //统计时长
    }
    public void onPause() {
        super.onPause();
        MobclickAgent.onPause(this);
    }
  • 使用 onPageStart 和 onPageEnd 方法统计页面(针对页面,页面可能是Activity 也可能是FragmentView)

    public void onResume() {
        super.onResume();
        MobclickAgent.onPageStart("MainScreen"); //统计页面
    }
    public void onPause() {
        super.onPause();
        MobclickAgent.onPageEnd("MainScreen");
    }

  行为的统计

  1. 计数事件,统计发生的次数

    MobclickAgent.onEvent(Context context, String eventId);
  2. 计算事件,统计数值型变量的值得分布,如事件持续时间、每次付款金额等,可以调用如下方法:

    MobclickAgent.onEventValue(Context context, String id, Map<String,String> m, int du)
    //示例:统计一次音乐播放,包括音乐类型,作者和播放时长,可以在音乐播放结束后这么调用:int duration = 12000; //开发者需要自己计算音乐播放时长
      Map<String, String> map_value = new HashMap<String, String>();
      map_value.put("type", "popular");
      map_value.put("artist", "JJLin");
    MobclickAgent.onEventValue(this, "music", map_value, duration);

  在线参数

  在线参数使您可以在网站上动态配置预设好的参数的参数值。例如: 动态修改应用的欢迎语,修改应用中开关选项的"on"或"off",以及类似游戏中虚拟物品的价格等。

  需要在程序的入口 Activity 中添加

    

MobclickAgent.updateOnlineConfig( mContext );

String value = MobclickAgent.getConfigParams( mContext, "xxxx" );

  错误统计

  在try-catch捕获到异常后使用

public static void reportError(Context context, String error)
//或
public static void reportError(Context context, Throwable e)

二:自动更新

  优点

  • 快速集成,只需添加一行代码即可集成自动更新组件。开发者在需要发布新版本时,在后台上传最新的安装包、填写更新内容,旧版本的用户即可收到升级提示。

    //只需在需要的地方添加UmengUpdateAgent.update(this);
  • 流量优化与体验优化,开发者可以设置只在特定网络环境(如WiFi)下进行更新,优先使用本地已下载过的安装包,为用户节省宝贵流量。还能设置版本更新检测的时间间隔,防止频繁弹出更新提示。
  • 按渠道更新,Android平台发布渠道众多,更新繁琐,友盟自动更新支持不同渠道更新不同升级包,有效提升运营效率。
  • 增量更新,Android平台SDK在2.0版本后支持增量更新,默认下载增量包,节省时间和流量。
  • 多样展现:开发者可以自定义各种UI样式。

  原理

  友盟自动更新服务首先将用户终端上的应用版本信息(version code)与友盟服务器上开发者上传的应用版本信息进行比较。如果服务器的应用版本更高,则会提示用户有新的应用版本(提示如下图所示,开发者可自定义界面)。用户选择更新之后,友盟自动更新则开始下载新版本应用,然后安装此应用。

  上传App

  

  1. 右上角选中应用
  2. 点击"组件"
  3. 点击右侧菜单“自动更新”

  手动更新

UmengUpdateAgent.setUpdateAutoPopup(false);
UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() {
    @Override
    public void onUpdateReturned(int updateStatus,UpdateResponse updateInfo) {
        switch (updateStatus) {
        case UpdateStatus.Yes: // has update
            UmengUpdateAgent.showUpdateDialog(mContext, updateInfo);
            break;
        case UpdateStatus.No: // has no update
            Toast.makeText(mContext, "没有更新", Toast.LENGTH_SHORT).show();
            break;
        case UpdateStatus.NoneWifi: // none wifi
            Toast.makeText(mContext, "没有wifi连接, 只在wifi下更新", Toast.LENGTH_SHORT).show();
            break;
        case UpdateStatus.Timeout: // time out
            Toast.makeText(mContext, "超时", Toast.LENGTH_SHORT).show();
            break;
        }
    }
});
UmengUpdateAgent.update(this);

  自定义更新

    修改自定义文件:umeng_update_dialog.xml

三:用户反馈

  使用默认的反馈功能

//跳转到友盟默认的反馈页面mFeedbackAgent.startFeedbackActivity();

//回复通知mFeedbackAgent.sync();

  自定义反馈:

  1. 自定义布局页面
  2. 设置用户信息

    UserInfo info = agent.getUserInfo();
    if (info == null)
      info = new UserInfo();
    Map<String, String> contact = info.getContact();
    if (contact == null)
    contact = new HashMap<String, String>();
    String contact_info = contactInfoEdit.getEditableText()
    .toString();
    contact.put(KEY_UMENG_CONTACT_INFO_PLAIN_TEXT, contact_info);
    
    contact.put("email", "*******");
    //contact.put("qq", "*******");
    //contact.put("phone", "*******");
    //contact.put("plain", "*******");
    info.setContact(contact);
    
    // optional, setting user gender information.
    info.setAgeGroup(1);
    info.setGender("male");
    //info.setGender("female");
    
    agent.setUserInfo(info);
    
    new Thread(new Runnable() {
                @Override
                public void run() {
                    boolean result = fb.updateUserInfo();
                }
            }).start();

  

时间: 2024-11-10 17:22:10

友盟各个插件的使用方法的相关文章

phoneGap在iOS上的简单使用:自定义实现友盟分享插件

说明:本插件仅针对个人当前项目,参照支付宝支付插件类进行开发,不保证对任何项目都具有通用性,代码仅供参考. 找到项目中的config.xml文件,在相似位置插入如下代码: <feature name="UM_SharePlugin"> <param name="ios-package" value="UM_SharePlugin"/> </feature> 具体插件类代码如下: // // UM_SharePl

线上应用bug跟踪查找-友盟统计

线上的应用只要用心点点都能发现些bug,连微信,QQ也不列外.但是bug中最严重的算是闪退了,这导致了用户直接不能使用我们的app. 我们公司是特别注重用户反馈和体验的,我们会定期打电话咨询用户的使用情况.我们也有自己的天使用户群,这些用户会跟我们及时的反馈应用的使用情况,bug情况,还有他们的需求. 用户不是技术人员他无法跟你清楚的描述怎么产生闪退的,于是我们需要一个bug统计的功能,我们公司采用友盟统计实现bug的记录.我们在iOS应用中植入友盟统计的功能,我也经常在查看友盟的错误统计和错误

Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件

Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件 上一篇博客给大家介绍了如何分析网页并且使用jsoup这个库对html代码进行解析,本篇博客继续给大家介绍如何集成友盟社会化组件,如何使用SDK提供的API轻松实现多平台的社会化分享,官网的文档和Demo看起来很头疼的有木有,小巫在集成这个社会化的组件也有点烦躁,所以也需要各位耐心看下面的博文把友盟社会化组件集成到你的应用中去.为什么要选择友盟呢,这里也是答应了小喵的,要帮忙集成他们的服务,所以也顺带帮他们写一篇这样的博文,千

关于友盟分享

友盟分享不单单是申请友盟分享的key就行了,在进行qq.微信的分享时还需要再额外申请key才行. 以下是官方给出的使用具体操作方法: 由于苹果审核政策需求,建议大家对未安装客户端平台进行隐藏,在设置QQ.微信AppID之后调用下面的方法,[UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToQzone, UMShareToWechatsession, UMShareToWechatTimeline]]; 1.  分享流

使用友盟统计分析常见问题100篇(回帖更新)

友盟统计使用流程http://bbs.umeng.com/thread-55-1-1.html 常见的疑难杂症汇总如下: 1.appkey.channel与version(版本)常见问题 友盟统计认为,appkey是每个应用的唯一标识,同一应用的不同平台请使用不同appkey,建议您在友盟后台命名为“应用名-平台(友盟统计客户端-Android)”:channel是指您发布的市场和推广渠道标识,android平台上,如代码中没有填写则记为“unknown”,IOS平台中,如代码中没有填写则记为“

android 集成友盟分享之后,想自定义分享面板的看过来

第一种情况 首先上传一张默认的友盟分享的效果图 看起来还不错,但是总是有这样那样的原因,需要我们对默认效果做出一些改变. 第二种情况 如果你想做出下面的效果: 或者这样的效果 : 总之上面的效果总是在默认的基础上(及原有的控件基础上做出改变,改变颜色,背景,背景颜色等等一些基本的改变), 如果你真的遇到了这样的需求很简单:你可以直接登录友盟的开发文档中有十分详细的介绍,很简单的 下面是一些截图: 好,截图结束. 你可以直接进去看. 第三章情况 有了前两种情况,如果还没有满足你的需求,那么咱们今天

友盟消息推送

博主也是第一次使用友盟消息推送,其中的配置我也不需要多讲,在这里附上iOS客户端友盟消息推送的集成文档,并讲讲个人使用心得 iOS友盟消息推送集成文档 这里既有集成文档的讲解步骤,还有证书配置的指南,只需要按照步骤集成即可. 1.配置服务器地址 友盟消息推送后台:适配iOS9,在info.plist文件中按截图配置 以iOS9 SDK编译的工程会默认以SSL安全协议进行网络传输,即HTTPS,如果依然使用HTTP协议请求网络会报系统异常并中断请求.目前可用如下两种方式保持用HTTP进行网络连接:

如何使用友盟 Cocos2d-x 分享组件实现 Android/iOS 分享功能

Cocos2d-x作为一款优秀的跨平台游戏引擎,已经被越来越多的开发者使用,而在游戏中使用分享组件能够有效的提供用户粘性,通过分享回流来提高APP安装量,但是目前市面上能够在Cocos2d-x环境下使用的分享插件并不多,开发者们只能自己对原生分享SDK进行封装来实现,前一段时间友盟推出Cocos2d-x分享组件,能够帮助开发者快速集成.友盟也把组件的源码放在GitHub上,有好的想法也可以直接在GitHub上修改(PS.在GitHub上提bug可以获得友盟的小奖品),同样也可以对源码进行学习,对

android使用友盟实现第三方登录、分享以及微信回调无反应问题解决办法

        Leaning_wk每一次的进步都会拉近与成功的距离! 帐号设置退出   关闭 qq_15855289的博客 目录视图 摘要视图 订阅 异步赠书:Kotlin领衔10本好书      免费直播:AI时代,机器学习如何入门?      程序员8月书讯      每周荐书:Java Web.Python极客编程(评论送书) android使用友盟实现第三方登录.分享以及微信回调无反应问题解决办法 标签: android友盟第三方登录分享微信登录回调问题 2017-02-10 16:2