Unity异常上报飞书工具


背景

  • 平常在测试人员做回归测试时,包体会有报错、界面异常等问题,通过这个工具会自动上报异常到飞书表格,方便更全面收集问题。比如自动上报报错,并截图;自动收集非中文环境下,界面存在中文的节点和文本。
  • 相比bugly,能更自由设置要收集的信息和规定格式。不单纯只收集报错。

ID


获取tenant_access_token


获取表格obj_token


上传图片资源

c# 复制代码
curl --location --request POST 'https://open.feishu.cn/open-apis/drive/v1/medias/upload_all' \
--header 'Authorization: Bearer t-g1044hgIxxxxx' \
--header 'Content-Type: multipart/form-data' \
--form 'file_name="bd.png"' \
--form 'parent_type="bitable_image"' \
--form 'parent_node="Njfxxxxxxx"' \
--form 'size="4020"'
  • 上传成功拿到file_token
c# 复制代码
// C# 代码实现上传图片
static public void UploadMedia()
{
    // 1. 定义请求 URL
    string url = "https://open.feishu.cn/open-apis/drive/v1/medias/upload_all";

    // 2. 构建表单数据
    List<IMultipartFormSection> formData = new List<IMultipartFormSection>();

    // 添加文本字段
    formData.Add(new MultipartFormDataSection("file_name", "demo.png"));
    formData.Add(new MultipartFormDataSection("parent_type", "bitable_image"));
    formData.Add(new MultipartFormDataSection("parent_node", "Njfdxxxx"));

    // 添加文件字段(注意路径需要指向实际文件)
    string filePath = Path.Combine(Application.streamingAssetsPath, "demo.png");
    byte[] fileData = File.ReadAllBytes(filePath);
    formData.Add(new MultipartFormDataSection("file", fileData));
    formData.Add(new MultipartFormDataSection("size", fileData.Length.ToString()));

    // 3. 创建 UnityWebRequest
    UnityWebRequest request = UnityWebRequest.Post(url, formData);
    
    // 4. 设置请求头
    request.SetRequestHeader("Authorization", "Bearer t-g1044xxxxxx");
    // request.SetRequestHeader("Content-Type", "multipart/form-data; boundary=---7MA4YWxkTrZu0gW");

    // 5. 发送请求
    request.SendWebRequest();

    while (request.isDone == false);
    
    // 6. 处理响应
    if (request.isHttpError || request.isNetworkError)
    {
        Debug.LogError($"上传失败: [{request.error}][{request.downloadHandler?.text}]");
    }
    else
    {
        Debug.Log("上传成功: " + request.downloadHandler.text);
    }
}

新增一条记录

c# 复制代码
curl -i -X POST 'https://open.feishu.cn/open-apis/bitable/v1/apps/Njfxxxxb/tables/tbxxxx/records' \-H 'Content-Type: application/json' \
-H 'Authorization: Bearer t-g1044hxxxxx' \
-d '{
    "fields": {
        "文本": "啊啊啊大王"
    }
}'

新增多条记录

https://open.feishu.cn/open-apis/bitable/v1/apps/NjfdbMsdGalzJ2sz9JTcukN1nMb/tables/tblQNkGF8LsTt8E4/records/batch_create

c# 复制代码
{ 
    "records": [
        {
            "fields": {
                "问题": "您那还好abe",
                "附件":[
                    {
                        "file_token": "Vl3FbVkvnowlgpxpqsAbBrtFcrd"
                    }
                ]
            }
        },
        {
            "fields": {
                "问题": "您那还好abccc"
            }
        }
    ]
}

查询已有记录

c# 复制代码
{ 
  "view_id": "vewBA13Fjq",
  "field_names": [
    "文本",  "版本"
  ],
  "filter": {
    "conjunction": "and",
    "conditions": [
      {
        "field_name": "文本",
        "operator": "is",
        "value": [
          "啊啊啊大王"
        ]
      },
      {
        "field_name": "版本",
        "operator": "is",
        "value": [
          "1.3.222"
        ]
      }
    ]
  }
}

上报流程

最终效果

  • 报错表格

  • 黑名单配置

相关推荐
xiezhr8 天前
折腾半小时,终于让AI 能直接帮我写飞书文档了
ai·飞书·ai agent·飞书cli·飞书文档
叶帆13 天前
【YFIOs】用C#开发硬件之设备上云
开发语言·unity·c#
久数君13 天前
AI三维建模工具“造形家”:地理场景三维化的高效解决方案
unity·glb·ai算法·ai三维建模工具·地图框选·造形家·城市建筑模型
会思考的猴子14 天前
Unity VFX 属性 Postion 和 TargetPostion
unity
hai31524754314 天前
九章编程法 · 猜数字游戏 (GW-BASIC 重构版) *
人工智能·microsoft·游戏引擎·游戏程序
心前阳光14 天前
Unity资源导入之自动化资源导入
unity·自动化·游戏引擎
心前阳光14 天前
Unity之2021.3.45f2c1发布安卓程序遇到的问题
android·unity·游戏引擎
纪纯14 天前
PicoVR Unity Integration SDK 3.4 常用交互API
unity·游戏引擎·vr·pico
龙智DevSecOps解决方案14 天前
3A 游戏优化技术栈:如何打通引擎级分析工具与 DevOps 持续集成管线?
unity·性能优化·游戏开发·技术美术·perforce·unrealengine
葛兰岱尔14 天前
从 SolidWorks 到 Three.js,从 Inventor 到 Unity——制造业CAD模型“几何-语义一体化“转换,不再是天方夜谭!
开发语言·javascript·unity