华为快应用(1)

   游戏基于cocos creator 2.0.7版本开发,之前做的解密类游戏。

   首先使用creator打包到为huawei fast game,基本操作,平台版本填最小的1035,平台版本就相当于android中的api level。loglevel改为off,可以在调试器上看到所有的输出,方便调试定位问题。不使用调试秘钥库,点击新建,creator会弹出窗口,填写信息即可生成两个.pem秘钥文件,生成完成后点击控制条打印证书指纹。可以看到控制台输出一串字符,这个字符我们在开启华为服务的时候要用到。

   cocos creator给我挖了一个坑,在他们的官方文档里边给了华为快游戏的开发文档传送门,点开之后如果不细看直接着手接入的话,就跟我一样完了。因为他们这个文档指向的是华为快游戏H5版。

https://developer.huawei.com/consumer/cn/service/hms/catalog/fastgame.html?page=fastapp_fastgame_introduction

华为快应用(1)_第1张图片然后我就根据实例代码去在creator里边写自己的代码,怎么写怎么错,后边打印了一下他们这个文档上给的华为全局变量HwFastappObject的值,竟然是undefined。

后来在华为官网上看到的华为运营的QQ,加了群之后,他们给的快游戏开发文档链接,指向的是华为快游戏runtime版。

https://developer.huawei.com/consumer/cn/service/hms/catalog/fastgameRuntime.html?page=fastapp_fastgameRuntime_devguide_open_ability

华为快应用(1)_第2张图片 在这里的文档,给的华为全局变量是hbs,根据这个开发文档,一下子就弄好了。之前白白浪费那么多时间。

 

接入账号服务:首先要申请华为的游戏服务和账号服务。先在华为开发者联盟上的应用市场发布一个新的应用,选填免安装/快应用,填入包名,项目名称然后取消。在华为开发者联盟中的应用服务下的开发服务选中对应的账号服务和游戏服务,申请开通服务,选中之前创建的项目,SHA256证书指纹填之前在creator中生成的证书指纹。具体图文流程:https://developer.huawei.com/consumer/cn/service/hms/catalog/fastgameRuntime.html?page=fastapp_fastgameRuntime_prepare_create_game

游戏服务和账号服务都申请好之后,在creator的代码中调用hbs.gameLogin方法登录,appid改成自己的,在登录的回调success中调用开启悬浮窗的接口,hbs.showFloatWindow()接口,appid改成自己的。在手机上调试,如果正常的话就可以在顶部看到登录的提示。

真机测试有两种方法,手机先安装好调试器,https://docs.cocos.com/creator/manual/zh/publish/publish-huawei-fast-games.html这里可以下载到。下载的是一个.apk文件,拖入手机,安装就可以了。creator打好的包默认生成在项目目录下build/huawei/dist,一个rpk文件。你可以把这个文件拷贝到手机sdCard上,然后在手机的调试器上按返回,点击本地安装,打开这个rpk文件。或者构建好creator的包之后,直接点击运行,creator就会弹出一个调试窗口,这时候你的手机要打开开发者模式,并且开启usb调试。推荐第二种方法,更方便调试,有错误也能根据控制台输出快速定位到。

我还遇到了一个问题,在接入第一个游戏的时候,账号登录没有问题,换了一个包之后,再登录就一直报错6004,数据也都没有错,服务也确认开启了。这里是错误码的对应状态https://developer.huawei.com/consumer/cn/service/hms/catalog/huaweipush_agent.html?page=hmssdk_huaweipush_api_reference_errorcode

后边在华为的faq里边看到了解决办法,原来是缓存没有清除。清一下缓存,就可以了。

本来项目是有支付接口的,接入也是只需要开通支付服务,但是华为的支付签名好麻烦啊,单机游戏又没有服务器,对接组的人又说用js写签名算法不安全,推荐放在服务器上。所以就先屏蔽掉了支付接口。

两个项目现在都提交审核了,资质上的要求华为快应用只需要版权和版号。就先看能不能上架。 

你可能感兴趣的:(华为快应用(1))