npm i --save nativescript-segment
- 版本:1.0.4
- GitHub: https://github.com/rhanb/nativescript-segment
- NPM: https://npmjs.net.cn/package/nativescript-segment
- 下载
- 昨天: 0
- 上周: 3
- 上个月: 11
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月