问题汇总
登录对接
1. 无法搜索到当前接入的游戏
参考调试说明,或联系平台人员,告知需要调试的迅雷平台用户 ID。
2. 如何查看迅雷平台用户 ID ?
- 登录迅雷个人中心。
- 页面中显示的数字账号就是迅雷平台用户 ID。

3. 无法进入游戏,启动游戏报错?
支付对接
1. 无法调起内购支付?
检查后端的内购支付功能是否已经正确接入。
iOS 特性
1. localStorage 无法持久化导致游戏进度丢失
一些游戏会将游戏进度保存在本地的 localStorage
,这在许多浏览器场景(包括未开启“阻止跨站跟踪”的 Safari 浏览器)没有问题。
然而,iOS 迅雷客户端使用的 WKWebView
默认开启“阻止跨站跟踪”。这导致端内的浏览器在 iframe
内页面的 localStorage
数据会随浏览器进程的关闭而丢失,从而导致用户进度丢失,引发负反馈。
解决方案
我们提供了一个 storage-proxy
SDK 来尽量规避此问题,这需要游戏方在 html 顶部引入一个脚本。
<!-- 此脚本用于代理iOS环境下的localStorage方法,src中type=child的参数必须保留 -->
<!-- 此脚本需要在游戏涉及localStorage的操作之前引入 -->
<script src="https://xlgamebox-youxi.xunlei.com/xl-libs/storage-proxy/1.0.0.js?type=child"></script>
<!-- ……任意代码…… -->
<!-- 非强制要求,但建议引入上面的storage-proxy脚本后,再引入迅雷游戏的JS-SDK -->
<script src="https://static2-youxi.a.88cdn.com/backend/xl-lib/xl-game.min.2.2.0.js"></script>
SDK 核心原理是在 iOS 端通过代理用户的 localStorage,在 setItem
removeItem
clear
的同时持久化一份数据到父 window ;同时在页面每次启动时,会将父 window 持久化的数据写入到 localStorage,进而模拟 localStorage 的持久化能力
注意
- 由于 SDK 的机制问题(存在异步操作),
storage-proxy
脚本需要尽可能早的引入,且不建议添加defer
或async
属性,也不建议使用动态插入的方式。 - 如游戏同时接入了
小川科技
的小游戏平台,且使用了他们提供的 storage-proxy.1.0.0.js 脚本 解决相同问题,请勿将这个脚本和此处提供的脚本同时引入。 - 虽然上述方法能尽量解决 iOS 端进度丢失问题,但仍然建议有条件的游戏方将游戏进度保存在服务器。
其它
1. 游戏接入方需要提供几个回调地址?
一个游戏仅需要提供一个回调地址,不同的接口功能通过消息类型 notify_type
字段来区分
2. 鸿蒙系统(非鸿蒙 Next)上游戏页面反转了 360°?
游戏方调用了 requestFullscreen
做游戏横向全屏,在部分鸿蒙系统上存在兼容性问题。解决方案:改用其他全屏方案,或使用前端 SDK 的全屏功能。