日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Android SDK接入(本地集成)

本文介紹如何通過本地集成方式添加依賴接入遠程日志服務。

說明
  • 接入遠程日志服務的Android SDK可采用Maven集成和本地集成2種方式添加依賴。推薦使用Maven集成方式添加依賴,可大幅簡化接入操作。

  • 如需使用Maven集成方式添加依賴,操作方法請參見Android SDK接入(Maven集成)

前提條件

  • 已創建項目和應用。具體操作請參見快速入門

  • 已下載配置文件,并獲取AppKey和AppSecret。詳細操作請參見下載配置文件

  • 已下載SDK。詳細操作請參見下載SDK

  • 已獲取遠程日志公鑰,即獲取配置文件中appmonitor.tlog.rsaSecret字段的內容。

使用限制

  • 僅支持Android 4.2及以上版本。

  • 僅支持armeabi-v7a/arm64-v8a/X86/X86_64架構。

  • 日志在手機端最多存儲7天。

接入概述

  1. 添加依賴:采用本地集成方式。

  2. 接入服務:添加自定義Application,以及初始化代碼;配置ABI;設置日志拉入級別。

  3. 打印日志:引入頭文件;在代碼中打印日志信息。

  4. 混淆配置:如App對代碼進行亂序混淆,則修改混淆配置文件。

  5. 編譯

添加依賴

1:將SDK包內所有文件拷貝至項目的libs目錄下。

2:在build.gradle項目文件中,添加本地SDK文件目錄地址。

repositories {
    flatDir {
        dirs 'libs'
    }
}

3:在build.gradle項目文件的dependencies{}代碼段,添加SDK依賴。

//1、本地jar庫引入
compile fileTree(include:['*.jar'],dir:'libs')

//2、公共庫
compile(name:'alicloud-android-ha-adapter-1.2.4.0-open',ext:'aar')
compile(name:'alicloud-android-ha-core-1.1.0.7-open',ext:'aar')
compile(name:'alicloud-android-ha-protocol-1.1.5.0-open',ext:'aar')
compile(name:'alicloud-android-rest-1.7.8-open',ext:'aar')
compile(name:'alicloud-android-tool-1.1.0',ext:'aar')
compile(name:'alicloud-android-utdid-2.6.0',ext:'jar')
compile(name:'fastjson-1.1.73.android',ext:'jar')
compile(name:'alicloud-android-settingservice-1.2.0',ext:'aar')
compile(name:'alicloud-android-logger-1.2.0',ext:'aar')

//3、移動日志,不接入可注釋掉
compile(name:'alicloud-android-tlog-1.1.8.0-open',ext:'aar')
compile(name:'alicloud-android-ha-tlog-message-rpc-1.1.3.2-open',ext:'aar')
compile(name:'alicloud-android-ha-tlog-uploader-oss-1.1.0.9-open',ext:'aar')
compile(name:'alicloud-android-ha-tlog-protocol-1.1.1.0-open',ext:'aar')
compile(name:'alicloud-android-ha-tlog-native-1.1.2.0-open',ext:'aar')
compile(name:'alicloud-android-cpp-shared-1.1.0',ext:'aar')
compile(name:'oss-android-sdk-2.9.15',ext:'aar')
compile(name:'okhttp-3.11.0',ext:'jar')
compile(name:'okio-1.14.0',ext:'jar') 

接入服務

  1. 預初始化SDK

預初始化SDK可以在Application.onCreate函數中完成。

public class MyApplication extends Application {
   @Override
   public void onCreate() {
     super.onCreate();  
     AliHaAdapter.getInstance().preStart(this);
   }
}
  1. 開啟遠程日志

在同意隱私協議之后,可以開啟遠程日志。

private void startHa() {
  AliHaConfig config = new AliHaConfig();
  config.appKey = "xxxxxxxx"; //配置項:appkey
  config.appVersion = "x.xx"; //配置項:應用的版本號
  config.appSecret = "xxxxxxxxxxxx"; //配置項:appsecret
  config.channel = "mqc_test"; //配置項:應用的渠道號標記,自定義
  config.userNick = null; //配置項:用戶的昵稱
  config.application = this; //配置項:應用指針
  config.context = getApplicationContext(); //配置項:應用上下文
  config.isAliyunos = false; //配置項:是否為yunos
  config.rsaPublicKey = "xxxxxxx"; //配置項:tlog公鑰
  AliHaAdapter.getInstance().addPlugin(Plugin.tlog);
  AliHaAdapter.getInstance().start(config);

  TLogService.updateLogLevel(TLogLevel.XXXXXX); //配置項:控制臺可拉取的日志級別
}

配置說明如下:

參數

說明

config.appKey

用于指定App的AppKey。

【數據類型】字符串

【如何獲取】參見:步驟1

【是否必選】是

【是否可為空】否

【默認值】無

config.appVersion

用于設置App的版本號。

【數據類型】字符串

【格式要求】自定義

【取值范圍】任意長度。

說明

該參數值將在控制臺顯示為下拉列表選項,建議短小凝練。

【是否必選】是

【是否可為空】否

【默認值】無

【大小寫敏感】是。例如,vx.x和Vx.x不是一個版本。

【字符類型】英文大小寫、數字。

說明

該參數不支持中文字符、特殊字符。

config.appSecret

用于指定App的AppSecret。

【數據類型】字符串

【如何獲取】參見:步驟1

【是否必選】是

【是否可為空】否

【默認值】無

config.channel

用于設置渠道標識,上報至服務端,進行渠道區分。

【數據類型】字符串

【取值范圍】任意長度

【是否必選】否

【是否可為空】是

【默認值】無

【字符類型】英文大小寫、數字。

說明

該參數不支持中文字符、特殊字符。

config.userNick

用于設置用戶昵稱,上報至服務端,進行用戶區分。后續可能依據該參數,進行數據檢索。

【數據類型】字符串

【取值范圍】任意長度

【是否必選】否

【是否可為空】是

【默認值】無

【字符類型】英文大小寫、數字。

說明

該參數不支持中文字符、特殊字符。

【命名規范】自定義

config.application

用于指定本應用。

重要

不能指向其他應用。

【數據類型】對象

【是否必選】是

【是否可為空】否

【默認值】無

config.context

用于指定App的上下文對象,設置getApplicationContext();即可。

【數據類型】對象

【是否必選】是

【是否可為空】否

【默認值】無

config.isAliyunos

用于判斷App所在平臺是否為YunOS。

【數據類型】布爾型

【取值范圍】false/true

【是否必選】否

【是否可為空】是

【默認值】false

config.rsaPublicKey

用于指定遠程日志公鑰。

【數據類型】字符串

【如何獲取】參見:步驟1

【是否必選】是

【是否可為空】否

【默認值】無

TLogLevel.XXXXXX

用于全局設置控制臺可拉取的日志的級別。

【數據類型】枚舉型

【取值范圍】

  • VERBOSE:可拉取所有級別的日志。

  • DEBUG:可拉取DEBUG/INFO/WARN/ERROR級別的日志。

  • INFO:可拉取INFO/WARN/ERROR級別的日志。

  • WARN:可拉取WARN/ERROR級別的日志。

  • ERROR:可拉取ERROR級別的日志。

【是否必選】是

【默認取值】ERROR

【配置說明】

  • TLogService.updateLogLevel()函數可選調用,如未調用,則全局默認可拉取的日志級別為ERROR。

  • 日志級別說明請參見基本概念

  1. 數據采集

您需要在滿足合規要求下盡可能早的進行信息采集設置,默認是采集設備信息、系統信息和網絡信息。

AliHaConfig config = new AliHaConfig();
//可以根據合規要求禁止采集設備信息、系統信息和網絡信息
config.noCollectionDataType = AliHaConfig.NO_DEVICE_DATA | AliHaConfig.NO_OS_DATA | AliHaConfig.NO_NETWORK_DATA;  

采集參數:

敏感數據類型

說明

信息字段詳情

NO_DEVICE_DATA

不采集設備信息

包括:品牌(Build.BRAND)、型號(Build.MODEL)、屏幕分辨率、CPU信息(Build.CPU_ABI)、硬件名稱(Build.HARDWARE)

NO_OS_DATA

不采集系統信息

包括:語言、系統版本(Build.VERSION.RELEASE、Build.VERSION.SDK_INT)、系統編譯唯一標識(Build.FINGERPRINT)

NO_NETWORK_DATA

不采集網絡信息

包括:運營商、接入點信息、網絡類型

  1. AndroidManifest.xml中添加代碼段注冊Application

<application
    android:name=".MyApplication"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    ...
</application>

打印日志

1:如業務流程觸發日志輸出,需引入頭文件:

import com.alibaba.ha.adapter.service.tlog.TLogService;

2:在適當位置添加代碼,輸出日志信息。示例代碼:

TLogService.logv("MODEL","TAG","MESSAGE");
TLogService.logd("MODEL","TAG","MESSAGE");
TLogService.logi("MODEL","TAG","MESSAGE");
TLogService.logw("MODEL","TAG","MESSAGE");
TLogService.loge("MODEL","TAG","MESSAGE");

函數TLogService.<LogLevel>(<MODEL>,<TAG,<MESSAGE>);

說明:用于輸出指定級別的日志信息。

參數

說明

LogLevel

指定拉取的日志級別。日志級別說明請參見基本概念

【數據類型】枚舉型

【取值范圍】

  • logv:輸出VERBOSE(調試詳情)級別的日志。

  • logd:輸出DEBUG(調試信息)級別的日志。

  • logi:輸出INFO(一般信息)級別的日志。

  • logw:輸出WARN(警告信息)級別的日志。

  • loge:輸出ERROR(錯誤信息)級別的日志。

【配置說明】輸出的日志是否可以被控制臺拉取,取決于TLogService.updateLogLevel()函數的參數設置。例如,當TLogService.updateLogLevel(TLogLevel.WARN)時,則控制臺拉取不到通過logv/logd/logi輸出的日志。

MODEL

用于設置輸出日志內容的功能模塊,便于后續根據來源篩選日志。

【數據類型】字符串

【字符類型】英文大小寫、中文、數字、特殊字符

【是否必選】是

【是否大小寫敏感】否

【示例】“推送功能模塊Push”

TAG

用于設置日志的關鍵字,便于后續根據標簽篩選日志。

【數據類型】字符串

【字符類型】英文大小寫、中文、數字、特殊字符

【是否必選】是

【是否大小寫敏感】否

【示例】“推送功能模塊收到了推送Push.receive,推送功能模塊點擊了推送Push.click”

MESSAGE

用于輸出日志信息。

【數據類型】字符串

【字符類型】英文大小寫、中文、數字、特殊字符

【是否必選】是

混淆配置

如App對代碼進行亂序混淆,則在混淆配置文件中添加代碼段:

-keep class com.taobao.tao.log.**{*;}
-keep public class * extends com.taobao.android.tlog.protocol.model.request.base.FileInfo{*;}
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod

編譯

如同時使用其他阿里云產品,可能會因為依賴中存在UTDID沖突,造成編譯失敗。解決辦法請參見SDK UTTID沖突解決方案

樣例代碼

遠程日志服務Android SDK接入工程樣例請參見Demo工程