Android SDK 版本如下 com.tencent.mm.opensdk:wechat-sdk-android:6.8.0 查看源码发现这里的确对 查看源码发现这里的确对 TYPE_EMOJI = 8 做了判断 thumbData 不可为空, 且要求其长度需居于区间 (0, 64K) 内 那目的到底是什么那?thumbData 的作用是什么那? [图片]
微信分享 GIF 为什么必须添加 thumbData 数据,这个数据似乎没看到使用?环境: 微信 SDK 版本: XCFramework 2.0.2,不包含支付功能。手机: iPhone13,iOS 16.5微信版本: 8.0.43开发功能:分享 GIF 到微信 let emoObject = WXEmoticonObject() emoObject.emoticonData = emojiData let message = WXMediaMessage() message.title = "HelloWorld" message.description = "测试一下" // 这里如果不传指或者传 nil 的话,分享 GIF 就会失败,[errorCode-5-微信不支持] // 这里如果传递了一个完全不同的 GIF,可以发现整个分享过程并没有使用这个 thumbData 内容,而是一直使用 emoObject 内容 // 那么这个 thumbData 作为一个必须传递的参数,到底发挥了什么作用呢? // 是为了兼容低版本吗?如果是为了兼容低版本,可以说一下是为了兼容哪个版本吗?影响范围大概是什么样的呢? // 希望微信官方可以提供一些信息。 message.thumbData = thumbData message.mediaObject = emoObject let request = SendMessageToWXReq() request.bText = false request.message = message WXApi.send(request) { _ in } 使用 WXEmoticonObject.emoticonData 装载了 GIF 文件, 如果我不传 thumbData 的话,分享就会失败。 但是我传递了 thumbData,分享可以成功,但是我发现微信并没有进行使用 thumbData 数据。 我故意传了一个体积很小并且和分享内容完全不同的 GIF作为 thumbData,发现在分享预览时展示的仍然是实际分享的 GIF 没有使用 thumbData 图片。 那么这里 thumbData 到底是起到什么作用呢? 我在开发者文档中,找到了分享小程序时 thumbData 的作用说明。描述如下 //兼容旧版本节点的图片,小于32KB,新版本优先使用 WXMiniProgramObject 的 hdImageData 属性 但是我没有找到分享 GIF 的 thumbData 的使用说明。 那么分享 GIF 时,thumbData 作为一个必须传递的参数,到底是起到了什么作用呢? 是为了兼容低版本吗?如果是为了兼容低版本,可以说一下是为了兼容哪个版本吗?影响范围大概是什么样的呢?希望微信官方可以提供一些信息。
2023-11-16