日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

      歡迎訪問 生活随笔!

      生活随笔

      當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

      编程问答

      日志服务接入方式之Unity 3D篇

      發布時間:2025/3/19 编程问答 33 豆豆
      生活随笔 收集整理的這篇文章主要介紹了 日志服务接入方式之Unity 3D篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

      Unity3D是由Unity Technologies開發的一個讓玩家輕松創建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型游戲開發工具,是一個全面整合的專業游戲引擎。
      日志服務前不久推出了Web Tracking功能,您可以通過Web Tracking功能非常方便的收集Unity 3D的日志,下面以收集Unity Debug.Log為例,講解如何將Unity日志收集到日志服務中。

      step 1: 開通Web Tracking功能。

      開通方法請參考另外一篇文章:日志服務Tracking功能

      step 2: 注冊Unity3D LogHandler。

      在Unity editor中創建c#文件LogOutputHandler.cs,并將下面的代碼拷貝進去,修改其中的三個成員變量,分別是日志項目的名稱project,日志庫的名字logstore,日志項目的地址serviceAddr,serviceAddr可以從日志服務官方文檔中找到。

      using UnityEngine; using System.Collections;public class LogOutputHandler : MonoBehaviour {//Register the HandleLog function on scene start to fire on debug.log eventspublic void OnEnable(){Application.logMessageReceived += HandleLog;}//Remove callback when object goes out of scopepublic void OnDisable(){Application.logMessageReceived -= HandleLog;}string project = "your project name";string logstore = "your logstore name";string serviceAddr = "http address of your log service project";//Capture debug.log output, send logs to Logglypublic void HandleLog(string logString, string stackTrace, LogType type){string parameters = "";parameters += "Level=" + WWW.EscapeURL(type.ToString());parameters += "&";parameters += "Message=" + WWW.EscapeURL(logString);parameters += "&";parameters += "Stack_Trace=" + WWW.EscapeURL(stackTrace);parameters += "&";//Add any User, Game, or Device MetaData that would be useful to finding issues laterparameters += "Device_Model=" + WWW.EscapeURL(SystemInfo.deviceModel);string url = "http://" + project + "." + serviceAddr + "/logstores/" + logstore + "/track?APIVersion=0.6.0&" + parameters;StartCoroutine(SendData(url));}public IEnumerator SendData(string url){WWW sendLog = new WWW(url);yield return sendLog;} }

      上面的代碼可以異步的將日志發送到阿里云日志服務中,在示例中您可以添加更多想要收集的字段。

      step 3:產生Unity日志。

      在工程中創建LogglyTest.cs文件,并加入下面的代碼:

      using UnityEngine; using System.Collections;public class LogglyTest : MonoBehaviour {void Start () {Debug.Log ("Hello world");} }

      step 4: 到日志服務控制臺查看。

      上述步驟做完之后,運行Unity程序,就可以在日志服務的控制臺看到您發送的日志了。

      總結

      上面的例子中給出了Debug.Log或者類似的比如Debug.LogError、Debug.LogException日志的收集方法,Unity的組件對象模型以及其提供的程序崩潰API、其他各種LOG API使得可以非常方便的收集客戶端的設備信息,這些我將會在接下來的文章中介紹。

      總結

      以上是生活随笔為你收集整理的日志服务接入方式之Unity 3D篇的全部內容,希望文章能夠幫你解決所遇到的問題。

      如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。