8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

Cocos Creator 打包华为快游戏/小游戏+广告接入指南

小鹿黑科技 25天前 67

cocos Creator 打包
发布平台选择“华为快游戏”,根据项目设置一些选项,打包输出即可。如下图:
可以直接生成华为小游戏的 RPK。构建->生成 一键关联完成。
后面整体流程打通后,可以在cocos中这样一键生成。如果是需要在电脑上调试游戏,查看运行log的话,还需要用到 Huawei QuickGameAssistant 华为快游戏开发者工具。

 

华为快游戏开发者工具 打包运行
Huawei QuickGameAssistant 华为快游戏开发者工具 官方下载地址:

https://developer.huawei.com/consumer/cn/doc/quickApp-Guides/quickgame-releasenotes-tool-0000001792810589

华为快游戏开发者工具 相当简单,或者说简陋。主要功能就2个:* 打包cocos构建的输出。* 连接真机运行游戏。如果开发者想真机运行调试小游戏,用这个工具是最简单的。
华为快游戏开发者工具 界面如下图
选择cocos构建的目录,设置appid,点确定就会来到下图的界面:
连接手机,点菜单栏的“开始运行”按钮即可。
非华为的手机也可以连接运行调试,本人本文用的手机就是一加 OnePlus。
如果手机没有安装“花瓣轻游”这个APP的话,会提示安装。“花瓣轻游”又会要求安装“HMS Core”。反正根据提示一路安装下去即可。
调试运行有个要求,就是这个PC的“华为快游戏开发者工具”和手机的“花瓣轻游”要登录同一个账号才行。
每次启动运行游戏,手机端都会提示要求安装个叫 HiSmartPerf 的应用。该APP是华为性能调优工具。本人的一加手机安装不上,提示说:“已安装了签名冲突的应用。” 但不影响运行调试。只是打包运行游戏,测试广告正确显示的话,目前也不需要这个工具。
HiSmartPerf 官方文档:

https://developer.huawei.com/consumer/cn/doc/AppGallery-connect-Guides/smartperf-tool-0000001873208929

 
华为云真机运行快游戏
除了上面介绍的使用“华为快游戏开发者工具”打包真机运行外,还可以使用华为的云调试来运行。
云调试:

https://developer.huawei.com/consumer/cn/agconnect/cloud-adjust

 

云调试每天有300分钟的免费使用时长。

 

云调试业务介绍:

https://developer.huawei.com/consumer/cn/doc/AppGallery-connect-Guides/agc-clouddebug-introduction-0000001057034023

以上链接有用的信息就一句话:HarmonyOS NEXT设备仅支持调试HAP和APP格式的应用。
由于本文介绍的是调试 RPK 快游戏 ,所以要找非 HarmonyOS NEXT 的设备。 
 
打包运行总结
 
在还没接入广告时会比较繁琐,流程是:cocos构建 -> 华为开发者工具打包->真机调试运行。
 
接入广告一切调通稳定后,可以直接cocos构建生成RPK即可。
 
华为快游戏开发者工具使用体验
 
华为开发者工具相当简陋,和微信开发者工具,抖音开发者工具 不是一个级别的,甚至连4399小游戏开发者工具都不如。你敢信这是华为的小游戏开发者工具?
 
对比下来,华为开发者工具有如下问题:
 
繁琐的登录操作。每次打开这玩意都要登录一次,没登录记录功能。所有小游戏开发者工具都有的这个基础功能,华为没。
 
没有基础的项目管理功能。简单说就是连记住项目目录功能都没。每次构建都要得手动选择目录导入项目。比如有多个项目要上架华为小游戏,那就只能一个一个选择目录打开项目。而那个appid的输入框像抽风一样,有时候能记住appid,有时候不能。
 
客观说,4399,OPPO,Vivo 等的小游戏工具都比华为的强很多。
 
广告接入
 
按照以上步骤,调通打包-真机运行后,就到接入广告了。
 
快游戏广告接入官方文档:

https://developer.huawei.com/consumer/cn/doc/quickApp-Guides/quickgame-runtime-ad-kit-0000001159778259

 

可以使用广告测试ID先把广告显示流程跑通了后,再换成正式的广告ID。

 

广告测试ID:
https://developer.huawei.com/consumer/cn/doc/distribution/monetize/changjianwenti-0000001132481583
 
使用测试ID,在获取广告时可能出现这种错误:
{"errCode":1004,"errMsg":"No suitable advertising."}
解决方法:尝试换一个测试ID。本人作者在实践时,Banner广告播放出现如上错误,换一个测试ID即解决。
 
RPK 接入广告有一些要求,如下:
广告接入的一些问题总结
 
切换前台,插屏循环显示
 
如果开发者做了切换到前台时显示插屏。那么就会出现个问题,显示一个插屏,点击关闭的话,就会弹出另一个插屏,没完没了。原因是,点击插屏关闭按钮后回到游戏,就算是一次切换到前台。
 
解决办法:
作者的解决办法是:当关闭插屏时保存一个时间戳,显示插屏时当前时间和上次关闭的时间不能小于1秒,否则不播放。
 
同样的,如果开发者做了分享,分享完毕后返回游戏,也算是一次切换到前台。
 
激励视频重复调用回调
 
本文作者在接入激励视频的时候,发现一个Bug,就是成功失败的回调会重复调用。第1次播放广告没问题,第2次播放广告,成功回调会调用2次,第3次播放广告,成功回调会调用3次,... 以此类推。
 
作者原先的做法是,当要显示广告时,就 qg.createRewardedVideoAd 创建对象,设置回调,当播放完成后,就 ad.destroy() ; 销毁对象。按理说,对象都被销毁了,之前设置的回调就不应该调用了。但实际上是设置了几次回调就调用几次。猜测是 qg.createRewardedVideoAd 返回的是一个单例。微信小游戏默认的做法就是这样。而加上 ad.offClose 也没解决问题。
 
解决办法:
作者的解决办法是,qg.createRewardedVideoAd 和设置回调只调用一次,保存创建的广告对象,需要显示广告时就调用 ad.load。
 

总结:

 

广告接入有很多问题可以在SDK层面解决,比如激励视频的广告入口防快速点击。不明白为什么要在上层开发者在调用上层自行解决,让无数开发者写无数重复代码。不管是广告SDK还是开发者工具,都很拉胯。

 

希望本文能给一些后来者帮助。

最新回复 (0)
    • 小白资源网
      2
        立即登录 立即注册 
返回
发新帖