友盟(软件异常实时监听的好帮手:Crash)接入教程

这次的接入和上次的XBanner有所不同(多了个buildscript的操作),请耐心阅读混淆等操作就不演示了,现在还不会,下次再发

本次使用的文档:https://developer.umeng.com/docs/119267/detail/118584

注册友盟账户

个人中心添加应用(方法很多)

填写应用信息,这些产品选这几个就够用了

添加个图标以便于友盟上传应用图标使用(自己找个图就行了)

这里推荐阿里icon图标库:https://www.iconfont.cn/自取

创建工程,并替换应用图标

命名为app.png自动替换()

添加Maven和依赖

这个链接(添加应用后推荐的文档)就不发了,用上面的文档就行

重点是这个!!!(小白请关注这里)这里其实有两块配置代码(分开如下)

build.gradle代码

buildscript {repositories {google()jcenter()maven { url 'https://repo1.maven.org/maven2/' }}dependencies {classpath 'com.android.tools.build:gradle:3.4.0'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
}

maven库代码老规矩,这玩意儿需要添加到总项目settings.gradle里使用(重复的自己删除)

allprojects {repositories {google()jcenter()maven { url 'https://repo1.maven.org/maven2/' }}
}

添加依赖

不同点出现了哦!!!)这里是工程 build.gradle要注意,是app目录下的,不是整个项目里的(而且AS规定buildscript必须在plugins前使用(添加)!!!!!)

// 友盟统计SDKimplementation  'com.umeng.umsdk:common:9.4.7'// 必选implementation  'com.umeng.umsdk:asms:1.4.1'// 必选implementation 'com.umeng.umsdk:apm:1.5.2' // 错误分析升级为独立SDK,看crash数据请一定集成,可选

创建全局变量APP类(Aplication)

APP.java
初始化友盟

Channel名遵循规则,随便起,两处保持一致

下面的代码里我添加了注释

import android.app.Application;import com.umeng.commonsdk.UMConfigure;public class APP extends Application {@Overridepublic void onCreate() {super.onCreate();//设置LOG开关,默认为falseUMConfigure.setLogEnabled(true);/*   Channel渠道的命名规范可以由英文字母、阿拉伯数字、下划线、中划线、空格、括号组成,可以含汉字以及其他明文字符,但是不建议使用中文命名,会出现乱码。首尾字符不可以为空格。不要使用纯数字作为渠道ID。最多256个字符。“unknown” 及其各种大小写形式,作为【友盟+】保留的字段,不可以作为渠道名。*///友盟预初始化UMConfigure.preInit(getApplicationContext(), "你的appkey", "Umeng");//这里的Umeng随便起,和下面一致就行//友盟真正初始化UMConfigure.init(this, "你的appkey", "Umeng", UMConfigure.DEVICE_TYPE_PHONE, "");}
}

配置权限和全局应用(APP类)

 <!--权限--><uses-sdk android:minSdkVersion="8"></uses-sdk><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.INTERNET" />...<!--全局变量类,这个也要配置哦-->android:name=".APP"

添加意图过滤(intent-filter),并填写你的appkey

         <intent-filter><category android:name="android.intent.category.BROWSABLE" /><category android:name="android.intent.category.DEFAULT" /><data android:scheme="um.该app对应的appkey" /></intent-filter>

再次查找appkey的方法这里多谢:柯凡同学爱编程(B站用户,IU浏览器的开发者哦),然后我才很快的找到,哈哈哈

友盟官网>个人中心>点击上方的管理即可(我的码就不给大家看了,嘻嘻,你们看自己的就行)

MainActivity.java文件的配置

(来!自己写个Bug测试一下,没想到啊还有自己专门写Bug的一天,哈哈哈哈)


import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;public class MainActivity extends AppCompatActivity {private int aA =1;//定义一个假的变量@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//这里一定要有try...catch(捕获异常)不然还没等友盟上传你软件就崩了!!!!!!!!!!try {Button c = findViewById(aA);//获取假的idc.setText(55);//调用一些下不然不会报错}catch (Exception e){}}@Overrideprotected void onStart() {super.onStart();Log.e("测试","据说这玩意儿不算错误");}

来看一下效果

运行后你AS的Run里面会出现的内容,自己看吧


此时的软件

此时的友盟后台

个人中心>管理>点击你添加的应用

点这个

首次进入需要开通实时监控功能,自己点击开通就是了(因为我忘记截图了,所以就不发图了,哈哈哈),如果刚开通后没有错误,你就再运行一下你的APP,就会有了

下滑就可以查看了

OK了

小提示:这次的官方文档里有用AS上方工具栏添加maven库的方法

so文件是用来适配不同设备用的,想学的可以自取

图片是自己一张张添加的,引用请说明
大哥!来吧!动手吧!我不拦着您点赞!嘻嘻~

友盟(软件异常实时监听的好帮手:Crash)接入教程(有点基础的小白最易学的教程)相关推荐

  1. Java实时监听文件夹,实现实时监听微信接收的文件,去掉文件的只读属性

    前言 众所周知,小而美软件每次更新都不干人事啊.上次忘了哪个版本更新的,接收到的文件一律是只读文件,虽然只需要右键属性把只读勾选去掉就行,但是每次接收了个文件都要这么做属实是有点麻烦.所以就自己写了个 ...

  2. php监听input,jQuery如何实时监听获取input输入框的值

    jQuery实时监听获取input输入框的值,在我们日常web项目开发也常需要去实现这样的功能效果.为了作出即时动作去引导浏览者,以便提高网站的用户体验感. 下面我们就结合具体的代码示例,为大家介绍j ...

  3. Android实时监听网络状态

    Android开发实时监听网络状态变化一般有两种方法: 1. 新建一个基类BasicActivity.class,在基类中注册网络监听广播NetworkChangeReceiver.class,所有页 ...

  4. html 监听input输入框的值,利用原生JS实时监听input框输入值

    利用原生JS实时监听input框输入值 原生JS中可以使用oninput,onpropertychange,onchange oninput,onpropertychange,onchange的用法 ...

  5. vue动态获取元素距离页面顶部的高度_VUE如何实时监听元素距离顶部高度

    VUE如何实时监听元素距离顶部高度 发布时间:2020-07-30 09:09:43 来源:亿速云 阅读:150 作者:小猪 这篇文章主要讲解了VUE如何实时监听元素距离顶部高度,内容清晰明了,对此有 ...

  6. vue图片宽高自适应_Echarts图标宽度变成100px,让图表宽度随着父元素自动适应,Vue实时监听宽度的变化,这可能是史上最好的解决方案!...

    源码解读:当Echarts绘制图表计算宽度的时候,由于初始化图表设置为display: none,所以无法获取到clientWidth,而 parseInt(stl.width, 10)) 将widt ...

  7. vue获取元素距离页面顶部的距离_VUE实时监听元素距离顶部高度的操作

    效果图如下所示 .html 今日热门 今日热销 .js mounted(){ window.addEventListener('scroll',this.handleScrollx,true) }, ...

  8. JS实时监听DOM元素变化 - MutationObserver

    使用 MutationObserver API实时监听DOM元素变化 创建 MutationObserver 实列,接受一个用于监听到DOM元素变化的回调函数 const handleListenCh ...

  9. 实时监听输入框值变化的完美方案:oninput onpropertychange

    实时监听输入框值变化的完美方案:oninput & onpropertychange 原文:实时监听输入框值变化的完美方案:oninput & onpropertychange 在 W ...

最新文章

  1. leetcode算法题--第一个只出现一次的字符
  2. 【实施工程师之家】——mysql四种索引PRIMARY(主键索引)、INDEX(一般索引)、UNIQUE(非空索引)、FULLTEXT(全文索引)应用
  3. Leetcode题库 11.盛水最多的容器(双指针法 C实现)
  4. Collection集合总结
  5. 对未来人机融合智能领域的思考
  6. iOS-单例设计模式
  7. 计算机c盘只能新建文件夹,1.C盘只能新建文件夹不能新建文件(用户权限问题)...
  8. 渗透之——网站入侵思路
  9. python画建筑物_通过Python将故宫的建筑物图片,转化为手绘图
  10. windows电脑截截屏截图的方法
  11. 一张表看懂英式音标和美式音标的差异
  12. 单字母密码密码分析(上)
  13. 那些年,我们遇到的傻X问题
  14. Linux服务器开发,手把手设计实现epoll
  15. 鸡嗉囊病预防的方法 鸡防治嗦囊炎病用什么药
  16. 文件被其他程序占用及解决方法
  17. Diagnosing OSGi uses conflicts
  18. lg g5 android,【LGG5SE评测】Android中的SE 模块化LG G5 SE评测(全文)_LG G5 SE_手机评测-中关村在线...
  19. 飞凌嵌入式丨千兆网之RGMII SGMII解析
  20. springmvc后台获取图片,到jsp页面显示

热门文章

  1. RxJava实用小技巧 --- 随手记
  2. VaR和CVaR举例说明_笔记转载
  3. C++ primer 第9章顺序容器 思维导图
  4. 学Java是自学好还是去培训机构学好?
  5. 一网打尽:贝佐斯与亚马逊时代
  6. 【转】存储系统的分类
  7. 代码生成器 generator
  8. Java大型医院电子病历管理系统源码 B/S架构+MYSQL数据库 病历过四级 SaaS服务
  9. “京通随心购”生活服务平台简介—宁德本地商户的福音
  10. 支付宝余额提现要手续费吗(如何免手续费)