2.0.6 • Published 7 years ago

react-native-hubbledata-ios v2.0.6

Weekly downloads
16
License
-
Repository
-
Last release
7 years ago

react-native-hubbledata-ios npm version PRs Welcome

如何安装

1. 下载包文件

$ npm i --save react-native-hubbledata-ios

2. 链接库文件到你的项目中

参考 https://reactnative.cn/docs/0.43/linking-libraries-ios.html#content

3. 根据HubbleData SDK文档需要做的一些设置

详见./RCTDATracker/RCTDATracker/HubbleDataSDK/ios.readme.md


添加依赖库
  • AdSupport.framework - 启用 Apple ADID 支持
  • CoreTelephony.framework - 获取运营商
  • Security.framework - 加密支持
  • CoreLocation.framework - 获取定位信息的支持
  • SystemConfiguration.framework - 获取联网方式(wifi, cellular)
  • libsqlite3.dylib - sqlite 支持
  • libz.dylib - gzip 压缩支持

路径:TARGETS -> Build Phases -> Link Binary With Libraries

如何使用

1、iOS工程项目AppDelegate.m配置相关参数

*AppDelegate.m application:didFinishLaunchingWithOptions 方法中调用如下方法,参数依次为 app key,版本和来源渠道。

[[DATracker sharedTracker] startTrackerWithAppKey:@"app-key" appVersion:@"0.1" appChannel:@"AppStore"];

如需要禁用 SDK 自动上传数据功能,调用

[[DATracker sharedTracker] startTrackerWithAppKey:@"app-key" appVersion:@"0.1" appChannel:@"AppStore" autoUpload:NO];

如需要设置只在 wifi 环境下发送数据,调用

[[DATracker sharedTracker] startTrackerWithAppKey:@"app-key" appVersion:@"0.1" appChannel:@"AppStore" autoUpload:YES sendOnWifi:YES];

设置为只在 WIFI 下发送数据,会导致服务器接收数据延迟,对统计系统结果的及时性会产生影响,不建议使用

如需要使用自定义设备标识(比如 UDID),调用

[[DATracker sharedTracker] startTrackerWithAppKey:@"app-key" appVersion:@"0.1" appChannel:@"AppStore" autoUpload:YES sendOnWifi:NO deviceUDID:@"id-set-by-app"];

App Key 可从移动分析系统网站获取,不得使用为空值或者 null

以下所有调用均需发生在 启用 API 之后


手动发送数据请调用

[[DATracker sharedTracker] upload];

设置两次数据发送的最小时间间隔,单位秒。默认定时发送为关闭状态,设置大于0的时间间隔开启定时器,否则关闭定时器

- (void)setUploadInterval:(NSInteger)uploadInterval;

本地缓存的最大事件数目

- (void)setUploadBulkSize:(NSInteger)uploadBulkSize;

手动禁用自动上传

[[DATracker sharedTracker] setAutoUploadOn:NO];

手动开启只在 WIFI 下发送数据

[[DATracker sharedTracker] setSendOnWifiOn:YES];

2、React Native使用

以下接口详细的参数说明,见RCTDATracker.m

获取 Device ID

import DATracker from 'react-native-hubbledata-ios';

DATracker.getDeviceId((res => {
   console.log(res);
}));

用户帐号管理

import DATracker from 'react-native-hubbledata-ios';

var userId = 'xiaoming';
DATracker.loginUser(userId);
DATracker.logoutUser;

用户位置记录

import DATracker from 'react-native-hubbledata-ios';

var lattitude = 32.0;
var longtitude = 128.0;
DATracker.setLocation(latitude, longtitude);

事件捕捉

/**
 *  参数为一个dictionary类型,对应key值需与以下参数一致
 *
 *  @param eventId     事件ID
 *  @param seconds     事件耗时
 *  @param latitude    纬度
 *  @param longitude   经度
 *  @param category    分类
 *  @param label       标签
 *  @param attributes  事件属性
 */

import DATracker from 'react-native-hubbledata-ios';

var dic = {eventId 	  : 'reactnative',
		   attributes : {key : 'value'}};
DATracker.trackEvent(dic);

页面埋点

import DATracker from 'react-native-hubbledata-ios';

var screenName = 'page1';
DATracker.trackScreen(screenName);

统计事件的时长,事件开始的定时器开启

import DATracker from 'react-native-hubbledata-ios';

var eventId = 'reactnative';
DATracker.trackTimer(eventId);

清空统计事件时长的所有定时器

import DATracker from 'react-native-hubbledata-ios';

DATracker.clearTrackTimer;

开启崩溃统计

import DATracker from 'react-native-hubbledata-ios';

DATracker.enableCrashReporting;

手动上传

import DATracker from 'react-native-hubbledata-ios';

DATracker.upload;

设置上传的时间间隔

import DATracker from 'react-native-hubbledata-ios';

DATracker.setUploadInterval(15);

设置上传的最大事件条数

import DATracker from 'react-native-hubbledata-ios';

DATracker.setUploadBulkSize(100);

获取当前公共属性

import DATracker from 'react-native-hubbledata-ios';

DATracker.currentSuperProperties((res => {
   console.log(res);//res为获取的公共属性
}));

设置公共属性

import DATracker from 'react-native-hubbledata-ios';

var dic = {key : 'value'};
DATracker.registerSuperProperties(dic);

删除已经设置的公共属性

import DATracker from 'react-native-hubbledata-ios';

DATracker.unregisterSuperProperty('key');

置用户的地理位置

import DATracker from 'react-native-hubbledata-ios';

DATracker.setPopolationLocation('China', 'Zhejiang', 'Hangzhou');

设置用户的个人信息

import DATracker from 'react-native-hubbledata-ios';

DATracker.setPopulationWithAccount('xiaoming', 'zhouxiaoming', '2017-05-17T06:35:56.045Z', 0);

当前用户添加属性

import DATracker from 'react-native-hubbledata-ios';

DATracker.set({key : 'value'});

当前用户添加属性,不会覆盖已经存在的属性值

import DATracker from 'react-native-hubbledata-ios';

DATracker.setOnce({key : 'value'});

删除属性

import DATracker from 'react-native-hubbledata-ios';

DATracker.unset('key');

删除用户信息

import DATracker from 'react-native-hubbledata-ios';

DATracker.deleteUser;

用户消费记录

import DATracker from 'react-native-hubbledata-ios';

DATracker.trackCharge(50, {key : 'value'});

清空消费记录

import DATracker from 'react-native-hubbledata-ios';

DATracker.clearCharges;
2.0.6

7 years ago

2.0.5

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago