You need to enable JavaScript to run this app.
导航

辅助文件上传

最近更新时间2024.03.18 17:29:58

首次发布时间2022.11.24 11:54:00

Parfait支持上传任意文件到APMPlus PC端监控的控制台,比如崩溃时的日志文件,图片数据,用于崩溃归因,用户反馈归因等等。

接入要求

初始化Parfait SDK。持有初始化成功的parfait_wrapper_ptr指针。

完整流程

  1. 创建一个struct parfait::CustomFileUploadRequest请求。

    注意

    此接口1.2.9.0版本开始支持。

  2. 注入必要的参数(file_path),上传结果会通过result callback返回。
  3. 调用下面的接口上传文件。
  4. 如果在文件上传时,需要退出应用,调用DestroyParfaitWrapper后,parfait默认自动中断当前文件上传,走退出流程。如需确保文件上传完后再退出,可在request里设置interruptible参数为false

    注意

    此功能1.3.4.0版本开始支持。

    struct CustomFileUploadRequest {
     const unsigned int struct_size = sizeof(CustomFileUploadRequest);
     /**
      * @brief 返回上报结果
      *
      * @param file_path 上传文件路径
      * @param is_success 上传结果
      */
     void (*result)(const char* file_path, bool is_success) = nullptr;
     const char* file_path = nullptr;  // 必填,文件绝对路径
     bool interruptible = true;        // 选填,'false'时用户DestroyParfaitWrapper会阻塞直到文件上传完成
    };
    
    /**
    * @brief 上传自定义文件,异步接口
    *
    * @param request 请求参数,具体细节参考上面的结构体说明
    */
    void ParfaitWrapperBase::UploadCustomFile(const CustomFileUploadRequest request);
    

最佳实践

  1. 初始化sdk,获得初始化后的parfait_wrapper_ptr指针。
  2. 调用UploadCustomFile方法上传文件。
    void GetFileUploadRes(const char* file_path, bool is_success) {
      printf("%s custom file: %s\n", is_success ? "Uploaded" : "Failed to upload", file_path);
    }
    
    void UploadACustomFile() {
      struct parfait::CustomFileUploadRequest request;
      request.file_path = "C:\\Users\\Admin\\pc\\parfait\\demo\\test_upload.txt";
      request.result = GetFileUploadRes;
      parfait_wrapper_ptr->UploadCustomFile(request);
    }
    

消费文件

上传成功后,可以在日志文件检索页面输入DID,检索上传的文件。
图片