Harmony Gradle本地部署

获取SDK

基调听云App SDK目录结构如下:

nbs-newlens-harmony-sdk

    --> tingyun-harmony-version.har

将「tingyun-harmony-version.har」复制到嵌码项目工程的 libs 目录下。

添加SDK

  1. 获取基调听云AppKey。

  2. 初始化 SDK。

    在 Application 的 onCreate() 方法初始化Android SDK。

    //"Appkey" 请从基调听云平台获取
    //"Host" 为基调听云平台「Redirect」服务器地址,无需添加协议头
    NBSAppAgent.setLicenseKey("Appkey").setRedirectHost("Host").start(this);
    

    SDK 默认以 HTTPS 上传数据,若是私有化部署且服务端只支持 HTTP,需设置 「setHttpEnabled(true)」。

    NBSAppAgent.setLicenseKey("AppKey").setRedirectHost("Host").setHttpEnabled(true).start(this);
    

    说明:鸿蒙默认只支持 HTTPS 请求,开启 HTTP 需修改 config.json 的 deviceConfig 配置。

    "deviceConfig": {
        "default": {
          "directLaunch": false,
          "network": {
            "cleartextTraffic": true
          }
        }
    },
    

权限使用说明

基调听云 SDK 为了与服务端交互需要使用以下权限。

// 非敏感权限,允许使用网络 socket
{
        "name": "ohos.permission.INTERNET"
},
// 非敏感权限,允许应用获取数据网络信息
{
        "name": "ohos.permission.GET_NETWORK_INFO"
}

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

出于兼容性考虑, 首次启动 SDK 仅在开启崩溃崩溃,可通过以下接口开启 SDK 的模块开关。

/*
 SDK首次初始化由于尚未与基调听云平台交互,默认模块开关仅开启「崩溃模块」,可以通过本接口自定义首次启动开启的模块,详细模块开关说明参见《接口说明》文档。
 @warning:调用该接口设置启动选项,SDK首次启动不受基调听云平台开关控制
 */
NBSAppAgent.setStartOption(int option);
  • 代码示例
//在SDK初始化时调用,首次启动全部功能模块
NBSAppAgent.setLicenseKey("AppKey").setRedirectHost("Host").setStartOption(511).start(this);//首次初始化开启全部功能

获取用户标识

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

  • 相关接口
//userIdentifier 最多包含64个字符,支持中文、英文、数字、下划线,但不能包含空格或其他的转义字符
NBSAppAgent.setUserIdentifier(String userIdentifier);
  • 代码示例
String userIdentifier = getUserID();
NBSAppAgent.setLicenseKey("AppKey").setRedirectHost("Host").start(this);
//用户标识可为邮箱、手机号等能够标识用户身份的信息,如:xxx@tingyun.com
NBSAppAgent.setUserIdentifier(userIdentifier);

网络数据

HttpURLConnection/HttpsURLConnection网络库。

  • 相关接口

    //connection 为 URLConnection 实例
    NBSURLConnectionInstrument.openConnection(URLConnection connection)
    
  • 代码示例

    URL url = new URL("https://www.baidu.com");
    // 替换成基调听云的网络嵌码接口
    //URLConnection urlConnection = url.openConnection();
    URLConnection urlConnection = NBSURLConnectionInstrument.openConnection(url.openConnection());
    

配置混淆

在 proguard 混淆配置文件中增加以下内容,以免基调听云 SDK 不可用。

# ProGuard configurationsfor NetworkBench Lens
-keep class com.networkbench.** { *; }
-dontwarn com.networkbench.**
-keepattributes Exceptions, Signature, InnerClasses
# End NetworkBench Lens

若需要保留行号信息,请在 proguard.cfg 中添加以下内容。

-keepattributes SourceFile,LineNumberTable

打包编译

gradle clean build

嵌码验证

嵌码完成后可通过 “LogCat” 查看基调听云App SDK 日志输出结果,用以进行数据收集服务器校验 TAG 为 NBSAgent,标准日志输出结果如下所示:

NBSAgent start
NBSAgent enabled
NBSAgent V “TingYun_Version” //TingYun_Version 为当前 SDK 的版本号
connect success

功能模块开关校验

嵌码完成后可通过 “LogCat” 查看基调听云App SDK 日志输出结果,用以进行功能模块校验,过滤「TAG」为「NBSAgent」,标准日志输出结果如下所示:

Network Switch is true
UI Switch is true
Crash switch is true
webView switch is true
ANR monitor switch is true
UserAction Switch  is true
© 2007-2024 北京基调网络股份有限公司 all right reserved,powered by Gitbook本文档更新于: 2023-11-07 10:58

results matching ""

    No results matching ""