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

通過Unity Plugin接入數(shù)據(jù)

本文介紹如何通過Unity Plugin將Unity平臺的移動端游戲App的崩潰數(shù)據(jù)、應(yīng)用數(shù)據(jù)接入到日志服務(wù)移動運維監(jiān)控中。移動運維監(jiān)控用于實時監(jiān)控游戲崩潰、ANR等問題,并且支持智能分析,幫助您低成本、高效率地發(fā)現(xiàn)App中的各類隱患。

前提條件

已創(chuàng)建移動運維監(jiān)控應(yīng)用。具體操作,請參見添加應(yīng)用

步驟一:集成SDK

  1. 下載最新版本Unity Plugin

  2. 雙擊.unitypackge文件,將Plugin相關(guān)文件導(dǎo)入到您的Unity工程中。

    .unitypackage文件中的目錄說明如下表所示。

    文件

    說明

    Assets/Plugins/Unity4SLS

    Unity插件腳本。

    Assets/Plugins/Unity4SLS/Android/libs

    Android平臺依賴的SDK和NDK。

    Assets/Plugins/Unity4SLS/iOS/

    iOS平臺依賴的framework和靜態(tài)庫。

    Assets/Scenes/

    示例Scenes。實際集成時,可以刪除。

    Assets/Scripts/

    示例Scripts。實際集成時,可以刪除。

步驟二:SDK初始化

選擇第一個或主場景(Scene),在任意腳本文件(建議選擇較早加載的腳本)中調(diào)用如下代碼進行初始化。

重要

上報日志到日志服務(wù)時需使用阿里云賬號或RAM用戶的AccessKey,用于鑒權(quán)及防篡改。為避免將AccessKey保存在移動端應(yīng)用中,造成安全風(fēng)險,推薦您使用移動端日志直傳服務(wù)配置AccessKey。具體操作,請參見采集-搭建移動端日志直傳服務(wù)

// 初始化憑證信息。
Credentials credentials = new Credentials();

#if UNITY_IPHONE || UNITY_IOS
credentials.instanceId = "移動運維監(jiān)控應(yīng)用(iOS)ID";
credentials.endpoint = "移動運維監(jiān)控應(yīng)用(iOS)所綁定的Project的訪問域名";
credentials.project = "移動運維監(jiān)控應(yīng)用(iOS)所綁定的Project";
#elif UNITY_ANDROID
credentials.instanceId = "移動運維監(jiān)控應(yīng)用(Android)ID";
credentials.endpoint = "移動運維監(jiān)控應(yīng)用(Android)所綁定的Project的訪問域名";
credentials.project = "移動運維監(jiān)控應(yīng)用(Android)所綁定的Project";
#endif

private void requestAccessKey() {
    // 推薦您先使用移動端日志直傳服務(wù)配置AccessKey信息。
    // ...

    // 獲取AccessKey信息后,完成更新。
    updateAccessKey(accessKeyId, accessKeySecret, new-securityToken);
}

// 更新AccessKey信息。
private void updateAccessKey(String accessKeyId, String accessKeySecret, String securityToken) {
    // 通過STS服務(wù)獲取的AccessKey包含securitToken,需要使用以下方式更新。
    Credentials credentials = new Credentials();
    credentials.accessKeyId = accessKeyID;
    credentials.accessKeySecret = accessKeySecret;
    credentials.securityToken = secretToken;

    Unity4SLS.SetCredentials(credentials);
}
// 初始化Unity Plugin。
Unity4SLS.Initialize(credentials);

參數(shù)

示例

說明

credentials.instanceId

sls-****d60f

您在日志服務(wù)移動運維監(jiān)控平臺上所添加的應(yīng)用ID。更多信息,請參見獲取應(yīng)用ID

credentials.endpoint

https://cn-hangzhou.log.aliyuncs.com

日志服務(wù)Project的訪問域名,此處必須添加https://前綴。如何獲取,請參見服務(wù)入口

重要

只支持公網(wǎng)服務(wù)入口。

credentials.project

sls-ayasls-demo

您在日志服務(wù)移動運維監(jiān)控平臺上添加應(yīng)用時所綁定的日志服務(wù)Project。更多信息,請參見添加應(yīng)用

API列表

API名稱

功能描述

SetLogLevel

設(shè)置Debug日志等級,可選值:VERBOSE、DEBUG、INFO、WARN、ERROR。

當插件出現(xiàn)異常時,您可以通過調(diào)整日志等級打印更多的日志,進行排查。

SetCredentials

更新憑證信息。

您可以通過該接口更新Credentials中的字段。

RegisterCredentialsCallback

注冊憑證回調(diào)接口。

當數(shù)據(jù)發(fā)送成功或憑證無效、過期時,系統(tǒng)將回調(diào)該接口。您可以通過注冊該接口進行憑證信息的動態(tài)更新。

SetUserInfo

設(shè)置用戶信息,支持動態(tài)更新。

設(shè)置后,所有上報的數(shù)據(jù)都會攜帶該信息。

SetExtra

設(shè)置擴展信息。

您可以通過該接口設(shè)置業(yè)務(wù)等各種定制信息。設(shè)置后,所有上報的數(shù)據(jù)都會攜帶該信息。

RemoveExtra

移除擴展信息。

ClearExtra

清空所有擴展信息。

ReportCustomLog

上報自定義日志。

您可以通過該接口上報任何的自定義日志。

ReportError

上報自定義錯誤日志。

您可以通過該接口上報自定義異常日志,例如捕獲到的腳本異常信息等。

ReportLuaError

上報Lua腳本錯誤日志。

ReportCSharpError

上報C#錯誤日志。

常見問題

1. 如何通過STS方式獲取訪問憑證信息,并動態(tài)更新到SDK?

通過STS方式獲取訪問憑證信息,可以有效避免AccessKey固定寫在代碼中,從而避免造成數(shù)據(jù)泄露。具體操作,請參見采集-搭建移動端日志直傳服務(wù)

通過STS方式獲取到訪問憑證信息后,還需要把該信息更新到SDK,建議通過如下方式。

// 調(diào)用憑證回調(diào)函數(shù),該函數(shù)會在數(shù)據(jù)寫入、發(fā)送狀態(tài)發(fā)生變化時,憑證無效、過期時被回調(diào)。
// feature: 插件名稱,一般無需關(guān)注。
// result: 回調(diào)結(jié)果。
public void credentialsCallback(string feature, string result)
{
    // 開發(fā)階段,建議打印日志,便于排查問題。
    Debug.Log("[Unity4SLS] <DEBUG> - credentialsCallback. feature: " + feature + ", result: " +  result);

    if ("LOG_PRODUCER_SEND_UNAUTHORIZED" == result || 
        "LOG_PRODUCER_PARAMETERS_INVALID" == result) {
    	  // LOG_PRODUCER_PARAMETERS_INVALID: 初始化憑證信息不合法。
        // LOG_PRODUCER_SEND_UNAUTHORIZED: 訪問憑證過期或無效。

         // 當出現(xiàn)上面兩個錯誤碼時,建議通過STS重新獲取訪問憑證信息,并按照下面的方式進行更新。
         // 1. 通過STS獲取訪問憑證。
         // 2. 更新SDK的憑證信息。
        Credentials credentials = new Credentials();
        credentials.accessKeyId = accessKeyId;
        credentials.accessKeySecret = accessKeySecret;
        credentials.securityToken = securityToken;
        Unity4SLS.SetCredentials(credentials);
    }

}

// 調(diào)用下面方法注冊SDK的憑證回調(diào)接口。
public void setCredentialsCallback()
{
    callback_delegate callback = new callback_delegate(credentialsCallback);
    Unity4SLS.RegisterCredentialsCallback(callback);
}

2. 如何采集C#、Lua等腳本異常信息?

目前,日志服務(wù)SDK沒有內(nèi)置C#、Lua等腳本異常的自動采集,可參考其他產(chǎn)品的實現(xiàn)。采集到異常數(shù)據(jù)后,通過相關(guān)API進行上報,示例如下:

  • 上報C#異常信息

    Unity4SLS.ReportCSharpError("C# message", "C# stacktrace");
  • 上報Lua異常信息

    Unity4SLS.ReportLuaError("lua message", "lua stacktrace");
  • 上報其他類型的異常信息

    Unity4SLS.ReportError("stacktrace");
    Unity4SLS.ReportError("custom type, 根據(jù)實際業(yè)務(wù)填寫", "stacktrace");
    Unity4SLS.ReportError("custom type, 根據(jù)實際業(yè)務(wù)填寫", "message", "stacktrace");

3. 如何上報業(yè)務(wù)自定義的日志信息?

SDK支持上報業(yè)務(wù)定義日志信息,包含業(yè)務(wù)數(shù)據(jù)、日志信息等,示例如下:

Unity4SLS.ReportCustomLog("custom type, 根據(jù)實際業(yè)務(wù)填寫", "custom log 1");