【OPPO小游戏】开发问题FAQ
<p>一.接入常见问题
Q1: 能使用 DOM、BOM 相关的库吗?
基于用户体验、性能等考虑,runtime 没有提供 DOM、BOM 等环境,需要 cp 去除相关的 JS 库及 CSS 样式库。
Q2: 支持游戏排行榜功能吗?
OPPO 小游戏已经支持相关的功能。
Q3: 使用了 eval、new Function 等函数无效?
基于安全性、性能的考虑,runtime 禁止相关函数,cp 需要禁止使用该类函数。
Q4: 游戏包体积不能超过多少?
考虑到 OPPO 小游戏即开即玩,对游戏包大小有要求,尽量控制在 5M 以内,最大不超过 10M。如果超过了最大值,建议cp 可以将大的游戏资源放到自己的服务器上。
Q5: 资源路径允许前后出现空格吗?
不允许,需要 cp 检查资源路径,去掉资源路径前后空格。
Q6: 出现了 xxx.js is not in app package 的问题?
造成该原因一般都是路径不对引起的,若有引用第三方脚本推荐在 bin/index.html 通过 script 标签的方式引入。
Q7: 支持 sessionStorage 吗?
不支持,请 cp 修改为 localStorage。
Q8: rpk 包放在 runtime 中打开显示安装失败的原因?
先检查签名包是否有问题,再清除缓存(设置>应用管理>点击显示系统进程>找到快应用>清除数据),实在不行再把已安装的“快应用”调试包卸载了再进行安装。注:快应用是系统级应用,需要在应用管理页面点击显示系统进程才能看到并删除。否则找不到快应用。
Q9: 怎么使用特殊字体?
var url = "<a href="http://example.com/resource/w12.ttf">http://example.com/resource/w12.ttf</a>";</p>
<p>var tempFilePath = qg.env.USER_DATA_PATH+"/w12.ttf";
// 下载对应字体文件
qg.downloadFile({
url: url,
filePath: tempFilePath,
success(msg) {
// 使用下载的字体,w12 代表字体类型
var font = new FontFace("w12", "url('" + tempFilePath + "')");
document.fonts.add(font);
// 直接使用字体
// txt.font = "w12";
},
fail(msg) {
// 下载失败
},
});
Q10: 游戏工程使用了 ES6 编码,导致在运行时报错?
推荐使用 babel + webpack 进行 ES5 的转换。
Q11: 出现设备已安装的快应用高于提供的测试版本?
cp 删除本地高版本的快应用,再重新安装我们的测试版本。注:快应用是系统级应用,需要在应用管理页面点击显示系统进程才能看到并删除。否则找不到快应用。
Q12: 打包使用了默认的图标、或者缺少签名、或者非 release 打包、或者代码没有压缩的情况等?
需要 cp 按照我们提供的文档来改进。详情见《打包 OPPO 小游戏 rpk》。
Q13: 目前支持哪些游戏引擎?
已支持 Cocos Creator、Laya、Egret、unity。对于其他引擎的支持情况,具体可以咨询技术对接。
Q14: 游戏在 runtime 上运行黑屏问题?
cp 可以先通过 adb logcat 日志排查原因,一般游戏内部的错误也会造成黑屏,若是引擎的问题或者在排查错误时存在困难,请咨询技术对接。
Q15: 白鹭游戏相关的一些问题?
• 动画卡顿,cp需要设置帧率为 60 帧
• 矢量绘图无效,涉及到 canvas 2D 绘制的矩形等图形,我们暂不支持
Q16: Laya 游戏相关的一些问题?
• 图集资源找不到,需要在加载图集资源时,Laya.loader.load 中加上参数 Laya.loader.Atlas
Q17: Cocos 游戏相关的一些问题?
• cc.director.getCollisionManager() 返回为空问题:CollisionManager 需要在 require("project.js") 调用完成之后才会被赋值
• rpk 中 json 文件无法找到问题:参考 cocos 资源加载 使用新的资源调用方式
• 部分版本 cocos creater 导出的包摄像头问题:更新到 cocos creator 官方提供新版本
Q18: 小游戏怎么获取平台版本号?
可以通过 getSystemInfo 获取 platformVersion 字段获取。
Q19: 小游戏怎么获取刘海屏高度?
可以通过 getSystemInfo 获取 notchHeight 字段获取。
Q20: 小游戏图标 logo.png 有什么格式要求吗?
有,108 x 108。
Q21: 出现游戏安装失败是什么原因造成的?
可能性1: 平台版本号问题,需要更新到最新的版本号,比如 1031,在 manifest.json 里配置;可能性2:使用了 debug 签名打的游戏包,再切换到 release 签名打的游戏包,会出现这个问题,清除缓存重新进入即可。如果问题还没有解决,请咨询技术对接。
Q22: 调试广告时如果出现报错
需要 cp 按照我们提供的文档来改进。详情见《广告常见问题》。
如果问题还没有解决,请咨询技术对接。
Q23: 游戏 rpk 放进手机里,在调试包上找不到游戏?
确认 rpk 是否放在手机根目录下的 games 文件夹。</p>
<p>Q24: oppo手机安装自测工具,提示手机已经安装了最新的版本,需要如何处理?
在手机“应用管理”--“显示系统进程”——找到“快应用”,卸了后重新安装。</p>
<p>Q25: 问:为什么我安装调试器后,过几天图标会自动不见?
这个是因为版本自动更新把调试包覆盖了。例如安装的调试包是2.7版本,但是2.8版本已经开始灰度测试,被灰测的手机,wifi环境会自动升级到2.8版本,导致图标消失。可以在“软件商店-设置-关闭wifi自更新”。</p>
<p>二.调试常见问题
Q1: oppo 小游戏运行不起来?
• 是否 oppo 手机,如果不是 oppo 手机,可能会不支持
• 是否安装了最新版本的调试包
• 确认不是上面两个原因,且仍然一直黑屏,请使用 Chrome 调试工具排查原因。如果问题还没有解决,请咨询技术对接。
Q2: Chrome 调试工具无法连接上?
确认手机和电脑是否在同一局域网内,如果问题还没有解决,请咨询技术对接。
Q3: oppo 手机连接不上电脑?
• 确认开发者模式是否打开,调试功能是否打开
• 电脑是否安装了设备所需驱动 如果问题还是没有解决,请咨询技术对接。
Q4: quickgame-toolkit 工具无法使用?
查看环境变量是否配置正确,具体操作见 安装和配置。
Q5: 小游戏的数据怎么清除?
打开 手机设置–应用管理–点击显示系统进程–点击显示系统进程–快应用,点击清除数据。
Q6: 广告报10003问题
查看包名是否与商务审核通过后所填写的包名一致
Q7: 广告播放完毕之后出现黑屏问题
广告视频看完后 不要立即恢复游戏的绘制 可以在 onShow 上做恢复</p>
<p>Q8: 在浏览器测试时 无法查看到日志 连接游戏 出现Reconnect DevTools 时
1. 首先确定在手机上游戏是否运行了
2. 把12345 中的5 改为6 查看是否OK
3. 查看手机 是否和 电脑 在同一个局域网中</p>
<p>Q9: 小游戏创建桌面图标了之后,点开手机桌面上的图标会显示“游戏包下载失败”请问这个是什么原因?</p>
<p>清理下快应用缓存试试</p>
<p>Q10: 游戏已经上线了,但是正式包我打的时候忘记签名了,还是用的调试秘钥库,这个对线上版本有什么影响呢?</p>
<p>1. 这个对游戏正常运行没啥影响
2. 这个存在安全隐患 最好就换成 release</p>
<ol>
<li>版本更新的话 如果你的调试密钥库 和你上一次的不一样的话 就 会按照签名丢失处理 需要重新创建游戏 </li>
<li>先看看加上签名,提交新包是否成功,成功则OK,不成功则按签名丢失处理
建议重新提审</li>
</ol>
<p>Q11: 广告出现errcode是20003,errmsg是1003 问题 </p>
<p>这是广告问题和开发者无关 出现这种问题 换手机重新测试 如果没有手机的话 请使用云真机测试https://open.oppomobile.com/newservice/capability?pagename=cloudmachine
Q12: 在快应用中打开游戏包显示游戏包下载失败
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/5ea21bfe279a680b2c2e280df1dc7be4?showdoc=.jpg" alt="" />
删除下载快应用缓存
如果还是不行,直接卸载,重新安装下载快应用</p>