FAQ
FAQ
Q: 需要手动创建 TudadaSDKHandler GameObject 吗?
不需要。首次访问 TudadaSDK.Instance 时会自动创建。无需手动创建,也请不要更改其名称。
Q: 可以在 Unity Editor 中测试吗?
可以。所有 API 在 Editor 中均以模拟(mock)方式运行。Storage 使用 PlayerPrefs,广告会立即模拟成功/完成。
Q: Storage 和 TudadaStore 有什么区别?
- Storage(SetStorage/GetStorage):保存在设备本地。卸载应用后数据丢失。最大 10MB。
- TudadaStore(TudadaStoreSave/TudadaStoreGet):保存在云端。更换设备后数据仍然保留。value 最大 2KB。
建议将游戏进度等重要数据存储在 TudadaStore 中,将设置值或缓存等数据存储在 Storage 中。
Q: 广告的 isEnded 为 true/false 时有什么区别?
onClose 事件的 isEnded 为 true 表示用户观看了完整广告,此时应发放奖励。false 表示中途关闭了广告。
Q: WebGL 构建后 C# API 调用不工作
请确认 TudadaSDK.jslib 插件文件是否位于 Assets/Plugins/WebGL/ 路径下。该文件在 Unity WebGL 构建时会被编译包含在构建产物中,是 C# 调用 JavaScript 函数所必需的。通过 .unitypackage 安装会自动放置到正确位置,但如果导入后移动了文件,请将其恢复到原始位置。
Q: 每次 Unity 构建都需要修改 index.html 吗?
是的,Unity WebGL 构建时 index.html 每次都会重新生成。每次构建后都需要重新应用 WebGL 构建应用 中的修改内容。
如需自动化,可以自定义 Unity 的 WebGL Template:
- 创建
Assets/WebGLTemplates/TudadaTemplate/文件夹 - 将修改完成的
index.html放入该文件夹(保留 Unity 变量{{{ }}}语法) - 在 Project Settings > Player > WebGL > Resolution and Presentation > WebGL Template 中选择
TudadaTemplate
这样每次构建时都会自动生成包含 SDK 的 HTML。
Q: 压缩(Gzip)构建中 SDK 也能正常工作吗?
可以。SDK 与 Unity 构建文件是独立的,无论是否使用 Gzip 压缩,工作方式都相同。index.html 的修改方法也相同。但 不支持 Brotli 压缩,请在 Unity Build Settings 中将 Compression Format 设置为 Gzip 或 Disabled。