调用track,报错415
Closed this issue · 6 comments
报错内容:
I/SA.AnalyticsMessages(28072): ret_code: 415
I/SA.AnalyticsMessages(28072): ret_content: {"timestamp":"2022-11-24T02:26:45.496+0000","status":415,"error":"Unsupported Media Type","message":"Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported","path":"/app/event/data"}
I/SA.AnalyticsMessages(28072): ResponseErrorException: flush failure with response '{"timestamp":"2022-11-24T02:26:45.496+0000","status":415,"error":"Unsupported Media Type","message":"Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported","path":"/app/event/data"}', the response code is '415'
I/SA.AnalyticsMessages(28072): Events flushed. [left = 0]
目前的情况就是,我们使用的是老版本的SDK,我们的数据接收地址是一个不带project和token参数的接收地址;
在老版本SDK上是可以正常上报的,但是在新版本上调用track方法就报错如上,上面的内容是调用Flutter插件给出的报错;flutter插件里面是使用的6.6.0的Native SDK;
目前测试的情况是:
老版本Native SDK,数据接收地址携带token和不携带token都是OK的;
新版本Native SDK,数据接收地址携带token是OK的,不携带token就是如上报错
Flutter插件也是使用最新版的6.6.0版本的Native SDK,数据接收地址携带token是OK的,不携带token就是如上报错;
因为某些原因,暂时不能使用6.6.0新版本。
Flutter插件那边小哥给了个地址:
https://sdkdebugtest.datasink.sensorsdata.cn/sa?project=default&token=cfb8b60e42e0ae9b
这个地址有token和没有token都是OK的;
我在神策上创建账号拿到的体验地址:
https://sademo.datasink.sensorsdata.cn/sa?project=VideoWebcastDemo&token=3c559e14653ef272
去掉token报的是403token校验错误;
I/SA.AnalyticsMessages(27194): ret_code: 403
I/SA.AnalyticsMessages(27194): ret_content: Invalid Token
I/SA.AnalyticsMessages(27194): ResponseErrorException: flush failure with response 'Invalid Token ', the response code is '403'
基于以上:
首先想知道为什么会出现这样的问题?
是否可以解决这个问题?
新版本SDK有没有通过设置参数配置的方式来解决这个问题或者绕开这个问题?
- 错误的原因是数据接收地址不对,导致服务端请求返回的 responsecode 不是 200,SDK 会打印异常日志;
- 初始化时设置正确的数据接收地址;
- 这是网络请求服务端返回的异常信息,SDK 本身没有方式来忽略,使用正确的数据接收地址就行了。
那个数据接收地址目前在老版本SDK是OK的,没有问题的;在最新版本的SDK是不行的,报错415;
I/SA.AnalyticsMessages(28072): ret_code: 415
I/SA.AnalyticsMessages(28072): ret_content: {"timestamp":"2022-11-24T02:26:45.496+0000","status":415,"error":"Unsupported Media Type","message":"Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported","path":"/app/event/data"}
I/SA.AnalyticsMessages(28072): ResponseErrorException: flush failure with response '{"timestamp":"2022-11-24T02:26:45.496+0000","status":415,"error":"Unsupported Media Type","message":"Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported","path":"/app/event/data"}', the response code is '415'
I/SA.AnalyticsMessages(28072): Events flushed. [left = 0]
而在神策体验demo中提供的数据接收地址,在新老SDK都是OK的;
目前我们的数据接收地址只是在新版SDK不行,在老板SDK是没问题的;这点比较疑惑
@xieyang94 「目前我们的数据接收地址只是在新版SDK不行,在老板SDK是没问题的;这点比较疑惑」这点我也没遇到过,你们的数据接收地址是从我们的神策分析拷贝出来的嘛?
@xieyang94 你遇到的问题还存在吗
存在,但是因为别的原因,这个东西被搁置了。
因为没有排查出具体的原因,所以目前使用的是老版本SDK
@xieyang94 你这边如果有时间可以整个 Demo,我来看看