@skhye05/app-center
Microsoft App Center Nativescript 插件
npm i --save @skhye05/app-center

@nativescript/app-center

先决条件 / 要求

前往 https://appcenter.ms 登录并创建您的应用(可以是安卓或 iOS)。

为了启动插件,您需要 App Secret 密钥。App Secret 可以在 App Center 站点的“入门”页面或“设置”页面找到。

安装

ns plugin add @skhye05/app-center

用法

在 Android 中使用插件

在您的视图模型或组件中添加代码(确保在上面的代码示例中将 {您的 App Secret} 替换为您的 App Secret。)

TypeScript

    import { AppCenter } from 'nativescript-app-center';

let appCenter = new AppCenter();

// To Analytics Callbacks

appCenter.onAnalyticsListener({
onBeforeSending: (report: any) => {
console.log('before');
},
onSendingFailed: (log: any) => {
console.log('failed');
},
onSendingSucceeded: (log: any) => {
console.log('success');
}
});

// To Add Crashes Callbacks

appCenter.onCrashesListener({
shouldProcess: (report: ErrorReport) => {
console.log('should Process');
return true;
},
shouldAwaitUserConfirmation: () => {
console.log('Confirm');
return false;
},
getErrorAttachments: (report: ErrorReport) => {
return null;
},
onBeforeSending: (report: ErrorReport) => {
console.log('before');
},
onSendingFailed: (report: ErrorReport, e: any) => {
console.log('failed');
},
onSendingSucceeded: (report: ErrorReport) => {
console.log('success');
}
});

// Start App Center

appCenter.start({
analytics: true,
crashes: true,
appSecret: '{Your App Secret}'
});


// To Track Event Add

trackEvent(): void {
let property: Array<PropertyOption> = new Array<PropertyOption>();

property.push({ key: "firstname", value: "john" }, { key: "surname", value: "doe" });
appCenter.trackEvent('Clicked', property);
}

// To Test Crashes
testCrash(): void {
appCenter.testCraches();
}

JavaScript

    var AppCenter = require("@nativescript/app-center");

var appCenter = new AppCenter();

// To Analytics Callbacks

appCenter.onAnalyticsListener({
onBeforeSending: (report: any) => {
console.log('before');
},
onSendingFailed: (log: any) => {
console.log('failed');
},
onSendingSucceeded: (log: any) => {
console.log('success');
}
});

// To Add Crashes Callbacks

appCenter.onCrashesListener({
shouldProcess: (report: ErrorReport) => {
console.log('should Process');
return true;
},
shouldAwaitUserConfirmation: () => {
console.log('Confirm');
return false;
},
getErrorAttachments: (report: ErrorReport) => {
return null;
},
onBeforeSending: (report: ErrorReport) => {
console.log('before');
},
onSendingFailed: (report: ErrorReport, e: any) => {
console.log('failed');
},
onSendingSucceeded: (report: ErrorReport) => {
console.log('success');
}
});

// Start App Center

appCenter.start({
analytics: true,
crashes: true,
push: false,
distribute: false,
appSecret: '{Your App Secret}'
});


// To Track Event Add

appCenter.trackEvent = function() {
var property = [];

property.push({ key: "firstname", value: "john" }, { key: "surname", value: "doe" });
appCenter.trackEvent('Clicked', property);
}

// To Raised an Error Manually

appCenter.trackError = function() {
const properties: Array<PropertyOption> = new Array<PropertyOption>();
properties.push({ key: "test-email", value: "[email protected]" });
properties.push({ key: "test-error-name", value: "error name" });
const text = `App Center error text...`;

const attachment = ACErrorAttachmentLog.attachmentWithText(text, 'error.txt');

this.appCenter.trackError('Error', properties, [attachment]).then((response) => {
console.log('response-->', response);
}, (error) => {
console.log('error-->', error);
});
}

// To Test Crashes
appCenter.testCrash = function() {
appCenter.testCraches();
}
  • 在手机或仿真器上运行应用程序
    tns run android

API

属性

InitOption

属性 类型 描述
analytics 布尔值 将此设置为 true 以向您的应用添加 App Center 分析
crashes 布尔值 将此设置为 true 以向您的应用添加 App Center Crashes,以在应用崩溃时生成崩溃日志
appSecret 字符串 这指的是您的应用 App Center 的值

PropertyOption

属性 类型 描述
key 字符串 属性标识符
value 字符串 属性实际值

AnalyticsListener(仅限 Android)

属性 类型 描述
onBeforeSending 回调函数 在发送日志之前调用。回调可以根据日志数量多次调用。
onSendingFailed 回调函数 在发送日志失败时调用。
onSendingSucceeded 回调函数 在成功发送日志时调用。

CrashesListener(仅限 Android)

属性 类型 描述
shouldProcess 回调函数 用于确定是否在发送崩溃报告之前等待用户确认(如果崩溃报告应处理,则返回 true,否则返回 false)。
shouldAwaitUserConfirmation 回调函数 用于确定是否在发送崩溃报告之前等待用户确认(如果您刚刚构建了一个用于用户同意的 UI 并等待对该自定义 UI 的用户输入,则返回 true,否则返回 false)。)
getErrorAttachments 回调函数 用于获取作为单独 ErrorAttachmentLog 日志发送的附加信息。
onBeforeSending 回调函数 在发送崩溃报告之前调用。根据崩溃报告的数量多次调用回调。
onSendingFailed 回调函数 在发送崩溃报告失败时调用。
onSendingSucceeded 回调函数 在成功发送崩溃报告时调用。

方法

方法 类型 参数 描述
start() void (InitOption) 使用要启动的服务列表配置 SDK。这只能在应用程序进程生命周期中调用一次。

Analytics 方法

方法 类型 参数 描述
trackEvent() void (eventName: string, poperty?: PropertyOption) 使用名称跟踪自定义事件。
trackError() Promise<boolean> (exceptionMessage: string, properties?: PropertyOption[]), attachments?: any[]) 手动引发错误。
isAnalyticsEnabled Promise<boolean> none 检查 Analytics 服务是否启用。 (返回一个布尔值)
isAnalyticsEnabledSync 布尔值 none 检查 Analytics 服务是否启用。 返回一个布尔值
setAnalyticsEnabled void (value: boolean) 启用或禁用分析服务。
onAnalyticsListener void (回调:AnalyticsListener) 设置分析回调监听器。(仅限Android)

崩溃方法

方法 类型 参数 描述
testCrash() void none 生成崩溃测试。
hasCrashedInLastSession() Promise<boolean> none 检查应用在最后会话中是否崩溃。(返回一个布尔值)。 (仅限Android)
hasCrashedInLastSessionSync() 布尔值 none 检查应用在最后会话中是否崩溃。 返回一个布尔值。 (仅限Android)
isCrashedEnabledSync() Promise<boolean> none 检查崩溃服务是否已启用。(返回一个布尔值
isCrashedEnabled() 布尔值 none 检查分析崩溃是否已启用。返回一个布尔值
setCrashesEnabled() void (value: boolean) 启用或禁用崩溃服务。
onCrashesListener() void (回调:AnalyticsListener) 设置崩溃回调监听器。(仅限Android)
crashesNotifyUserConfirmationDontSend() void none 通知插件确认不发送和处理崩溃报告。(仅限Android)
crashesNotifyUserConfirmationSend() void none 通知插件确认发送和处理崩溃报告。(仅限Android)
crashesNotifyUserConfirmationAlwaysSend() void none 通知插件确认始终发送和处理崩溃报告。(仅限Android)

作者

Jonathan Mayunga, [email protected]

许可证

Apache许可证版本2.0,