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. selenium Chromediver

    Here we use wget to fetch the version number of the latest release, then plug the version into anoth ...

  2. DOMContentLoaded

    setTimeout(function(){ alert("settimeout"); },0); EventUtil.addHandler(window, "DOMCo ...

  3. fiddler 路由设置

    REGEX:^http://data.51buy.com/biz/oppmsmobile/web/js/app/(.+)/(.+).js E:\svns\new\dev\webapp\data_ics ...

  4. CSS3动画效果——js调用css动画属性并回调处理详解

    http://www.jb51.net/css/258407.html 这篇文章主要详细介绍了CSS3动画效果回调处理,需要的朋友可以参考下 我们在做js动画的时候,很多时候都需要做回调处理,如在一个 ...

  5. NodeMCU之旅(二):断线自动重连,闪烁连接状态

    事件监听器 NodeMCU采用了事件响应的方式.也就是说,只需为事件设置一个回调函数,当事件发生时,回调函数就会被调用. 注册事件监听器 wif.sta.eventMonReg() 开始监听 wifi ...

  6. Linux在线安装git(亲测成功)

    一.先检测是否已安装 安装git需要安装一些依赖,但是安装依赖之前需要先检测一下是否已经安装了git. rpm -qa | grep zlib-devel 二.具体安装命令 如果以前没有安装过,则下载 ...

  7. 介绍一个开源的在线管理SQLServer的小工具--SQLEntMan

    近来有许多人问起SQL在线管理的问题,遂将以前用过的一个开源SQL 在线管理工具修改了一下,并分享. 看下效果图: 原项目的地址:http://sourceforge.net/projects/asp ...

  8. ASP.NET Core MVC压缩样式、脚本及总是复制文件到输出目录

    前言 在.NET Core之前对于压缩样式文件和脚本我们可能需要借助第三方工具来进行压缩,但在ASP.NET MVC Core中则无需借助第三方工具来完成,本节我们来看看ASP.NET Core MV ...

  9. js面试题-2

    // 1.截取字符串 var aa = "abcd"; console.log(aa.substr(,)); var str = "qweda"; consol ...

  10. 对于Java泛型的理解

    源起:查看COLLECIOTNS类 Q1:为什么java需要泛型? 因为java对于对象类型的确认在编译期,那么强制类型转换就可以通过编译,但是运行时的错误却无法避免,那么泛型的存在可以避免强制类型转 ...