技术精选问答——小程序API或组件篇
1355 浏览2024年10月28日作者:抖音开放平台团队

本文收录于【百问放大镜】专题,了解专题中更多精彩内容,欢迎点击了解>>

😉嘿~这里汇总了🟦小程序所有关于API/组件的问题解析,快来看看历史哪些问题已经得到答案咯!如果感兴趣其他模块问题的小伙伴,请通过以下🥅传送门一键跳转👇:

👉技术精选问答——疑难问题答案都在这里!

👉技术精选问答——小程序开发者工具相关篇

👉技术精选问答——小程序框架相关篇

👉技术精选问答——移动/网站应用相关篇

🔩小程序API或组件相关问题及解析:

Q1:调起相机/相册/支付等小程序进入后台场景时,返回小程序发现小程序重新启动了

A1:原因是小程序进程的可用内存不足。在手机内存紧张的情况下,为了防止小程序进程被系统清理,会在小程序退后台时主动杀掉小程序实例

Q2:抖音小程序使用 rtc-room组件,提示进房失败 rtcRoom creation failed

A2:安卓在抖音头条等宿主的线上用户的关键依赖SDK的覆盖率超过99%,一般是新安装应用的用户才会出现没有关键依赖SDK的情况,在安装应用后几分钟内即可成功下载关键依赖SDK。因为覆盖率不是100%,所以我们也提供了tt.canIPutStuffOverComponent api,开发者可以通过调用这个api判断对应的组件是否支持所依赖的能力,在不支持所依赖的能力的情况下可以进行fallback,以免导致小程序功能不可用

Q3:为什么分享后发送给抖音好友的模版样式是旧版的,不是新版的分享卡片效果。

A3:需要在onShareAppMessage 的返回值中添加 imMsgType: 1 这个参数才会使用新版分享卡片样式,参考文档:ShareParam

Q4:如何获取小程序当前环境状态(测试环境、线上环境、开发环境)

A4:使用 tt.getEnvInfoSync 方法获取,参考文档:tt.getEnvInfoSync

Q5:小程序通过关联设置,被挂载到两个不同的抖音号,怎么判断用户是打开的哪个挂载?

A5:使用 tt.getAnalysisInfo 方法区分,参考文档:重磅发布丨流量来源识别能力来袭,用户来源大揭秘

Q6:iOS 中 chooseImage上传的图片会把 png 图片自动转成 jpg 图片

A6:此 API 存在双端差异,iOS 会进行格式转换,可以分情况进行差异的处理

Q7:在使用 CDN 时,如何配置 referer 防盗链

A7:在小程序中,网络请求 header 中的 referer 为固定格式:https://tmaservice.developer.toutiao.com/?appid={appid}&version={appVersion},其中 appid为小程序的 APPID,appVersion为小程序的版本号。参考文档:tt.request

Q8:通过调用「拍抖音」API,没有返回 videoId

A8:发布视频的用户需要拥有小程序的挂载权限,且视频成功挂载小程序,才会返回

Q9:安卓机型中小程序视频上元素展示失败

A9:如果是安卓机,一般首次安装抖音容易走到播放兜底方案,无法在 video上覆盖其他组件,过几分钟后重启抖音,并打开小程序即可

Q10:加密视频播放失败,请问原因是什么

A10:请检查视频 token 字段是否正确,或者视频 CDN 是否配置了白名单限制,另暂不支持阿里的 DRM 加密视频

Q11:webview h5如何识别是否是小程序web-view组件

A11:可以使用这段代码进行判断 navigator.userAgent.toLowerCase().includes("toutiaomicroapp")

Q12:为什么调tt.canIUse('video-player')返回false

A12:优先检查行业sdk权限是否配置,如未配置可参考 行业 SDK 的权限配置。其次检查版本问题,video-player 只在抖音、抖极、抖火 23.8 及以上版本支持,若不支持可使用老版video组件进行播放或提示用户升级抖音

Q13:IOS 系统,图库有很多图片,但调用 chooseImage 选择相册的图片只有几张或者是空的

A13:在iOS系统设置-抖音-照片允许访问照片改为所有照片即可

Q14:为什么通过试运营期还没有获取手机号的能力

A14:未配置隐私协议导致,参考:配置隐私协议

Q15:订单创建时间和收到支付回调时间有差异

A15:订单支付完成之后才会发送支付回调

Q16:在调用获取手机号码时,一直报错:getPhoneNumber:fail auth deny

A16:小程序需要上线,且通过试运营期,参考:获取用户手机号

Q17:如何判断小程序激励广告在各个宿主(抖音、抖音火山、抖音极速、头条、头条极速)的支持情况

A17:可以参考以下版本信息:

- 抖音和抖音火山版支持的版本是2980

- 抖音极速版和头条极速版支持的版本是2980

- 头条lite支持的版本是9.8.1

Q18:小程序 Image 组件是否支持 webp 格式图片

A18:webp 属性为 false 时,iOS 13及以下版本只能解析有.webp 后缀的 webp 图片;其他版本或设置 webp 为 true 后支持任意后缀的 webp 图片,参考文档:image 图片

Q19: Webview跳转不支持打开非法业务域名

A19:1. 确认已在控制台配置 ;2. 确认打开链接是否携带port ;【说明】如果最终打开链接如果是.im.bdsaas.com/xxxx,配置的需要是im.bdsaas.com ,如果打开链接是im.bdsaas.com:1443/xxxx,配置的需要是im.bdsaas.com:1443

Q20:为什么安全检测接口可以通过,但备案派出所审核说明违规?

A20:内容安全接口是为开发者提供的通用内容检测工具,但在不同场景下的适配性可能会存在差异。实际的内容规范应以《小程序运营规范》、相关行业规范以及当地所属管辖部门的要求为准。

Q21:展示插屏广告时,控制台报错,错误代码为1003

A21:1003 错误不是开发者的异常情况,一般情况下可以忽略,等待一段时间后错误会自动恢复。

Q22:现在使用tt.getUserProfile,需要配置隐私协议才能生效,如何处理?

A22:用户信息需要配置隐私协议才能生效,具体操作可以参考社区公告:小程序隐私接口/组件调用升级公告

Q23:在使用https://developer.toutiao.com/api/apps/jscode2session方法请求时,提示bad code

A23:重复获取code会导致上一次获取的code失效,要用最后获取的code。

Q24:订单已提交给抖音进行核销,但未到账

A24:订单提交后未到账,可能需要进行分账操作。请参考以下文档进行分账处理:发起分账

Q25:如何获取自己小程序的当前版本信息和版本号?

A25:可以使用API获取小程序的当前版本信息和版本号,具体请参考文档链接:tt.getEnvInfoSync

Q26:canvas转图片的API canvaToTempPath在v2版本里面对应的是什么?

A26:使用 Canvas V2 的 toDataURL 方法获取图片展示的 data URI。如需下载到临时目录,请自行将 data URI 调用 fileSystemManager.writeFile 下载

Q27:小程序点击右上角分享里面有个复制链接,如何通过其他方式获取

A27:可以在服务端生成链接或二维码,生成 Link V2

Q28:code2session 换取 openid,40014 bad params

A28:类似 OpenApi 的调试问题,推荐使用文档 -> 在线调试,直接进行接口调试。或直接访问调试台 https://developer.open-douyin.com/docs/openapi-explorer?id=30dca443-57c5-47f5-b98a-8382f92eec80

Q29:使用 Webview 时,只能由 Webview 向小程序发消息,不能小程序给 Webview 发消息吗?

A29:目前小程序没有提供主动向 Webview 发送消息的接口。可以考虑通过改变 URL 中的 # 来实现一定程度的通信。

Q30:偶现tt.getSystemInfoSync获取到的信息很少

A30:建议在onReady生命周期中调用tt.getSystemInfoSync,因为只有在onReady之后,小程序容器才已创建,可以获取到这些参数。如果需要更晚的时机,可以考虑在onShow生命周期中调用。

Q31Unresolved dependency: 'com.douyin.openapi:sdk:jar:1.0.0',maven无法引入以上jar包

A31在pom.xml文件添加仓库和依赖,具体详情可参考:小程序 OpenAPI SDK 总览

<repository>

<id>douyin-openapi-repo</id>

<url>https://artifacts-cn-beijing.volces.com/repository/douyin-openapi/</url>

</repository>

Q32:页面内容高度超出一屏后。点击弹窗,在弹窗内滚动内容,但是页面的内容也跟着滚动。

A32:触发了事件穿透,可以在展示弹窗的时候,给页面的最外层元素添加一些样式,比如overflow: hidden;

Q33:小程序预下单,签名一直通不过

A33:参考签名算法文档,并结合文中提供的验证工具保证算法的正确,签名算法

Q34:短剧播放组件video-player,测试号appid可以播放,正式号不行,提示 errNo: 100000

A34:短剧未上线时不可播放,需要调用短剧上线的接口进行上线。

Q35为什么小程序提示无法访问 http?

A35仅支持 https 的请求协议,并添加到域名白名单内。

最后一次编辑于 2025 年 04 月 10 日
94 条评论

相关问答

专题推荐

热门文章

热门问答