nativeScript-segment
您出色的 NativeScript 插件。
npm i --save nativescript-segment

Nativescript-Segment

一个提供便捷访问原生 Segment SDK 的 NativeScript 插件。主要基于这个 仓库

安装

tns plugin add nativescript-segment

要访问原生 SDK 类型定义,请在您的 references.d.ts 中指定定义

/// <reference path="./node_modules/nativescript-segment/platforms/android/typings/android.d.ts" />
/// <reference path="./node_modules/nativescript-segment/platforms/ios/typings/ios.d.ts" />

警告:根据您的项目结构,上述显示的路径可能不准确。

用法

示例

所有与库的交互都应该通过在 Segment 导入上的静态函数调用来完成,因为 iOS 和 Android SDK 会在成功调用 configure 方法后以单例的形式实例化 Segment。

const config: SegmentConfig = {
trackLifeCycleEvents: true,
recordScreenViews: true
};
Segment.configure(SEGMENT_KEY, config); // SEGMENT_KEY being your secret key
import { Segment } from 'nativescript-segment';

public someInteraction(type: string) {
Segment.track(type);
}

对于更高级的使用,或者如果需要访问基础 SDK 方法,可以访问 SDK 的共享实例

// iOS
Segment.ios.track('some event');

// Android
Segment.android.track('some event');

警告:直接访问 SDK 的方法可能需要转换为原生对象和集合类型

平台特定

Android

如果您的应用中尚未启用,则需要 网络 权限。

<uses-permission android:name="android.permission.INTERNET"/>

iOS 最佳实践

在您的应用程序的代理中

import { Segment } from 'nativescript-segment';

public applicationDidFinishLaunchingWithOptions(application, launchOptions): boolean {
const config = {
setDebug: true; // set to show full debug logging by the native APIs
}
Segment.configure(key, config);
return true;
}

API

configure

const config: SegmentConfig = {
trackLifeCycleEvents: true,
recordScreenViews: true
};
Segment.configure('your segment write key', config);

SegmentConfig 属性(全部可选)

属性 默认 描述
trackLifeCycleEvents true 启用或禁用自动跟踪生命周期事件
recordScreenViews true 启用或禁用自动跟踪屏幕视图
options 默认集成选项,请参阅 SegmentOptions
proxyUrl null 通过代理转发所有 Segment 调用
setLogging false 设置 Android SDK 和插件本身的基础 INFO 日志
setDebug false 在 Android 和 iOS 中设置完整的调试日志
middlewaresAndroid [] Android 中间件列表。根据数组顺序应用。有关更多信息,请参阅 此处
middlewaresIOS [] iOS 中间件列表。根据数组顺序应用。有关更多信息,请参阅 此处

SegmentOptions 属性(全部可选)

属性 默认 描述
useAll true 启用所有集成(Segment SDK 的默认设置)
excluded [] 排除 Segment 与指定服务的集成
included [] 包括 Segment 与指定服务的集成(注意:如果 useAll 设置为 false,则此设置才会生效)

identify

识别当前用户。支持额外的属性,并提供自定义属性。

const traits: SegmentTraits = {
firstName: 'Dave',
email: '[email protected]'
};
const customTraits: any {
favoriteColor: 'blue'
};
Segment.identify('userId', traits, customTraits);

SegmentTraits 属性(全部可选)

有关所有可用属性及其描述,请参阅 Segment 的官方规范

track

跟踪事件。

Segment.track('Some event');

const properties = {
productName: 'Bread',
revenue: 4
};
Segment.track('Product Purchased', properties);

有关要添加到 track 调用的属性详情,请参阅 Segment 的官方规范

screen

手动按名称和可选类别记录屏幕视图。对于Android,类别是默认选项,但对于iOS,它将类别名称连接到同一个屏幕

Segment.screen('signup', 'verify password');

请参阅Segment的官方规范了解有关屏幕调用详情。

group

将当前用户与一个组关联。用户可以属于多个组。

Segment.group("0e8c78ea9d97a7b8185e8632", {
name: "Initech",
industry: "Technology",
employees: 329,
plan: "enterprise",
"total billed": 830
});

请参阅Segment的官方规范了解有关调用详情。

alias

alias是用来将一个身份与另一个身份关联的方式。

Segment.alias(newId);

请参阅Segment的官方规范了解有关alias调用详情。

optout

禁用或启用所有分析,设置在整个应用重启过程中。

Segment.optOut(true);

许可证

Apache许可证版本2.0,2004年1月