You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
合作与生态
支持与服务
开发者
了解我们
导航

辅助文件上传

更新时间:2022.11.24 11:54:00

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

接入要求
  1. 初始化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);
}
消费文件:

上传成功后,可以在ApmPlus平台-日志文件检索,输入device_id检索上传的文件:
alt