Ionic2混合开发,入坑系列:Ionic2中集成腾讯Bugly之自定义插件

1、编写Bugly.js代码
var exec = require('cordova/exec');
module.exports = {
/**
* 发送Bugly异常信息
* @param success 成功回调函数
* @param error 错误回调函数
* @param params 参数值
*/
buglySend: function (success, error, params) {
exec(success, error, "CallCordovaBugly", "buglySend", [params]);
}
};
2、配置plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- Bugly自定义插件配置--> <plugin xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:rim="http://www.blackberry.com/ns/widgets"
id="cordova-plugin-bugly" version="1.0.0"
xmlns="http://apache.org/cordova/ns/plugins/1.0">
<name>Bugly</name>
<description>Cordova Bugly Plugin</description>
<license>Apache 2.0</license>
<keywords>cordova,bugly</keywords>
<engines>
<engine name="cordova" version=">=3.0.0" />
</engines>
<js-module name="bugly" src="www/bugly.js">
<clobbers target="window.plugins.bugly" />
</js-module>
</plugin>
3、编写TypeScript代码
import { Plugin, Cordova } from 'ionic-native'

@Plugin({
pluginName: 'Bugly',
plugin: 'cordova-plugin-bugly',
pluginRef: 'window.plugins.bugly',
platforms: ['Android', 'iOS']
})
export class Bugly {
@Cordova({ promise: true })
static buglySend(params: string): Promise<string> { return; }
}
4、配置config.xml文件
<feature name="CallCordovaBugly">
<param name="android-package" value="org.apache.cordova.bugly.CallCordovaBugly" />
</feature>
5、编写自定义插件类(Java代码)
package org.apache.cordova.bugly;
import android.util.Log;
import com.tencent.bugly.crashreport.CrashReport;
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject; /**
* //TODO (用一句话描述该文件做什么)
*
* @package: org.apache.cordova.bugly.CallCordovaBugly
* @author: ailsabe@126.com
* @date: 2017/1/20
* @description: //TODO (详细描述该文件做什么)
*/
public class CallCordovaBugly extends CordovaPlugin { @Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { try {
if (args.length() > ) {
Log.i("Bugly", args.toString());
//RuntimeException e = new RuntimeException("自定义异常上报");
throw new RuntimeException(args.toString());
} } catch (Exception e) {
CrashReport.postCatchedException(e);
}
return true;
}
}
6、在Application中初始化Bugly环境
Bugly有自动上报与手动上报区分
//初始化Bugly收集器(为了保证运营数据的准确性,建议不要在异步线程初始化Bugly)
//CrashReport.initCrashReport(getApplicationContext(),"VvqUAywlen5oT4IH",false);
CrashReport.initCrashReport(getApplicationContext());
 

Ionic2中集成腾讯Bugly之自定义插件的更多相关文章

  1. Ionic2中集成第三方控件Sweetalert

    Ionic2混合开发,入坑系列:Ionic2中集成第三方控件Sweetalert 注:Sweetalert2已经可以直接从npm中下载安装 npm install --save sweetalert2 ...

  2. 集成腾讯Bugly日志- Android(1)

    Bugly 是腾讯公司为移动开发者开放的服务之一,这里主要指 Crash 监控.崩溃分析等质量跟踪服务. 一.登录BUGLY官网 1.登录BUGLY官网以后,选择新建产品,选择IOS或ADNROID平 ...

  3. 在ionic2中集成swiper插件

    1. 下载官方的js和css文件分别放在assets下的js和css文件夹,然后在index.html中引入 <!DOCTYPE html> <html lang="en& ...

  4. Andoird Crash的跟踪方法,使用腾讯Bugly来捕捉一些疑难杂症,让我们APP稳定上线

    Andoird Crash的跟踪方法,使用腾讯Bugly来捕捉一些疑难杂症,让我们APP稳定上线 我们在开发中常常会注意到一些Crash,这正是很头疼的,而且Crash会带来很多意想不到的状态,很恶心 ...

  5. Ionic2系列——在Ionic2中使用ECharts

    在群里看到有人问怎么在Ionic2中集成ECharts来显示图表.当时答应说写个blog,简单写下步骤. 在TypeScript中如果要使用第三方库,必须要有d.ts,也就是定义文件,没有这个文件的话 ...

  6. 你的专属定制——JQuery自定义插件

        前  言 絮叨絮叨 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗 ...

  7. Ionic2中腾讯Bugly异常捕获以及上报

    Ionic2混合开发,入坑系列:Ionic2中腾讯Bugly异常捕获以及上报 1.Ionic2中处理全局异常,直接继承IonicErrorHandler即可,代码如下 import { IonicEr ...

  8. 【腾讯Bugly干货分享】深度学习在OCR中的应用

    本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5809bb47cc5e52161640c5c8 Dev Club 是一个交流移动 ...

  9. 【腾讯Bugly干货分享】浅谈Android自定义锁屏页的发车姿势

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57875330c9da73584b025873 一.为什么需要自定义锁屏页 锁屏 ...

随机推荐

  1. Delphi遍历文件夹及子文件夹(可查找固定格式文件)

    Delphi遍历文件夹及子文件夹 {-------------------------------------------------------------------------------过程名 ...

  2. 用JS的数组缓存一些东西

    var cache_index = new Array(); //首页的ajax缓存 //ajax 推荐的游戏和软件 function change_tuijian(sid,div_class){ i ...

  3. Struts2框架学习(三) 数据处理

    Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:Value ...

  4. HDU2066:一个人的旅行(Dijkstra)

    Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...

  5. Linux释放内存脚本

    vi recover_mem.sh #!/bin/bash  ################## #author:rrhelei@126.com# ################## #系统分配的 ...

  6. 修改GitHub上项目语言显示的问题

    问题 最近将自己写的博客放到github上了.由于使用了富文本编辑器.jQuery.Bootstrap等第三方插件,导致js.css等代码远远超过你自己写的代码. 于是也就成这样了 而且这里也显示Ja ...

  7. Raphael初始化,path,circle,rect,ellipse,image

    path jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pag ...

  8. HTML <div> 和<span>

    HTML <div> 和<span> HTML 可以通过 <div> 和 <span>将元素组合起来. HTML 区块元素 大多数 HTML 元素被定义 ...

  9. 动态加载css方法实现和深入解析

    一.方法引用来源和应用  此动态加载css方法 loadCss,剥离自Sea.js,并做了进一步的优化(优化代码后续会进行分析).  因为公司项目需要用到懒加载来提高网站加载速度,所以将非首屏渲染必需 ...

  10. Jcompress: 一款基于huffman编码和最小堆的压缩、解压缩小程序

    前言 最近基于huffman编码和最小堆排序算法实现了一个压缩.解压缩的小程序.其源代码已经上传到github上面: Jcompress下载地址 .在本人的github上面有一个叫Utility的re ...