其他数据相关接口

获取用户标识

通过添加「用户标识」可在基调听云报表平台通过该标识检索到具体用户的性能问题。

  • 相关接口
/**
 * 设置用户标识符,不能超过256个字符,可以在任意位置多次调用(值覆盖)
 * @userId:唯一标识一个用户的信息
 */
+ (void)setUserIdentifier:(NSString *)userId;
  • 代码示例
- (void)viewDidLoad
{
    [super viewDidLoad];
    // 用户标识可为邮箱、手机号等能够标识用户身份的信息,如xxx@tingyun.com
    [NBSAppAgent setUserIdentifier:@"userId"];
}

首次启动开启模块功能开关

出于兼容性考虑,首次启动 SDK 仅在调试模式下开启全部功能模块,非调试模式下仅开启崩溃模块,可通过以下接口开启 SDK 的模块开关 模块功能开关接口。

  • 相关接口
/**
 * SDK首次初始化由于尚未与听云平台交互,默认模块开关仅开启「崩溃模块」,可以通过开启「网络模块」和「用户体验模块」来采集应用首次启动数据。
 * @warning:调用该接口设置启动选项,SDK首次启动不受听云平台开关控制 
 */
+ (void)setStartOption:(NBSOPTION)option;
  • 代码示例
// 在SDK初始化之前调用,首次启动开启网络、crash采集功能、用户体验分析。 
[NBSAppAgent setStartOption:NBSOption_Net|NBSOption_UI|NBSOption_Crash]; 
[NBSAppAgent startWithAppID:@"Your_appkey"];

自定义App版本号

SDK 默认使用应用的「CFBundleShortVersionString」作为版本号上传,如需自定义版本号可以在初始化 SDK 之前调用该接口进行配置。

  • 相关接口
/**
 * @brief 设置自定义App版本号,最多包含64个字符,支持中文、英文、数字、下划线
 */
+ (void)setVersionName:(NSString *)versionName;
  • 代码示例
int main(int argc, char * argv[]) {
 @autoreleasepool {
       [NBSAppAgent setVersionName:@"1.0.0"];
    [NBSAppAgent startWithAppID:@"appkey" location:YES];
    ...
    }
}

获取基调听云设备 ID

应用首次启动时,基调听云服务器会下发 deviceId 用以标识设备。用户可以通过接口获取基调听云的 deviceId 值。

  • 相关接口
/**
 * @return 返回基调听云平台生成的设备id,该id为服务端返回,首次获取可能为空
 */
+ (NSString *)getTingyunDeviceId;
  • 代码示例
- (void)getTyDeviceId
{
  NSString *tyDid = [NBSAppAgent getTingyunDeviceId];
  ...
}

设置地理位置信息

可通过调用接口设置经纬度以便精准获取设备地理位置信息。

  • 相关接口
/**
 * @brief 设置经纬度。
 */
+ (void)setLatitude:(double)latitude longitude:(double)longitude;
  • 代码示例
- (void)doSomething
{
        ...
    [NBSAppAgent setLatitude:latitude  longitude:longitude];
    ...
}

合规配置

鉴于「隐私安全」要求第三方 SDK 需要在用户同意【隐私权限】后进行初始化,您可以通过「合规配置」接口来控制 SDK 的数据传输行为。仅首次安装启动生效。

  • 相关接口
/**
 * @brief 通知SDK,用户是否同意了隐私协议。应保证每次启动该接口至少调用一次
 * @param agreement YES 说明用户同意了隐私协议
 * @discussion
 该接口需配合「+startWithAppID:launchImmediately:」使用;应用安装后第一次启动,当launchImmediately:设置为NO,在agreement设置为YES之前SDK只采集数据,不发起上传数据请求;在agreement设置为YES后SDK会发起上传数据请求并上传agreement设置为YES之前采集的数据
 * @warning 清除沙盒Library/Cache/NBSCache目录的数据会导致该功能异常,请慎重
 */
+ (void)setUserPrivacyAgreement:(BOOL)agreement;
  • 代码示例
int main(int argc, char * argv[]) {
    NSString * appDelegateClassName;
    @autoreleasepool {
        [NBSAppAgent startWithAppID:@"APPKey" launchImmediately:NO];
      appDelegateClassName = NSStringFromClass([AppDelegate class]);
    }
    return UIApplicationMain(argc, argv, nil, appDelegateClassName);
}


- (void)getConsumerAgreement
{
  ...
   if(agreement)
   {
       [NBSAppAgent setUserPrivacyAgreement:YES];
   }
  ...
}

获取SDK版本号

获取当前 SDK 版本。

  • 相关接口
/**
 * @brief 获取SDK版本号
 */
+ (NSString *)agentVersion;
  • 代码示例
NSString *sdkVesion = [NBSAppAgent agentVersion];

开启SDK Log

调用接口后,可以打印 SDK INFO日志。

  • 相关接口
/**
 * @brief 是否打开嵌码控制台日志,默认关闭。
 */
+ (void)setLogEnable:(BOOL)enale;
  • 代码示例
[NBSAppAgent setLogEnable:YES];
[NBSAppAgent startWithAppID:@"Your_appkey"];

设置业务线名称

使用「设置业务线」接口可以将崩溃、卡顿、网络错误以业务线进行区分,以便查看具体业务的性能数据。

  • 相关接口
/**
 * @brief 设置当前业务,相同的key值会覆盖,保留最新值
 * @params businessLine 业务名称,最大长度为256字节
 * @params key 固定为 bname
 */
+ (void)setBusinessLine:(NSString *)businessLine forKey:(NSString *)key;
  • 代码示例
- (void)shoppingCar
{
    [NBSAppAgent setBusinessLine:@"购物车" forKey:@"bname"];
}
© 2007-2024 北京基调网络股份有限公司 all right reserved,powered by Gitbook本文档更新于: 2024-03-04 10:18

results matching ""

    No results matching ""