Cocos Creator中快速接入U8SDK(Android平台)

作者: 分类: U8SDK 发布时间: 2020-07-14 15:16 6Cocos Creator中快速接入U8SDK(Android平台)已关闭评论

之前我们已经介绍过Egret(白鹭引擎)LayaAir中如何接入U8SDK了。这篇博客我们来介绍下如何在Cocos Creator中接入U8SDK手游联运聚合SDK。这里我们使用的Cocos Creator版本是目前最新版本V 2.4.0,语言我们采用TypeScript。

在开始之前,我们需要先了解一下Cocos Creator中,原生java平台是如何和游戏引擎交互的。 关于这个,官方文档中已经有了详细的说明,我们这里简单用示例总结一下:

1、TypeScript中调用android层java代码的逻辑如下:

2、android层java代码调用TypeScript代码的示例如下:

知道TypeScript和Java交互的方式之后,我们就可以着手来写接入代码了。 另外,为了方便调用和后期扩展,我们在两个平台之间的参数,统一采用json格式来传递。

和之前各个游戏引擎平台中接入思路一致, 我们先在TypeScript中封装一个U8SDK组件,负责和原生平台的交互调用;然后,我们再编译生成原生工程,在原生工程中封装一个供TypeScript中调用的原生类组件。

首先,我们在TypeScript里面,增加一个U8SDK.ts组件,里面定义和封装U8SDK和原生平台相互调用的API以及回调处理逻辑等。很简单的组件,我们直接上源码(看源码注释):

定义好该组件之后, 游戏中登录,支付等地方,就可以直接调用u8sdkApi来完成U8SDK API的调用了。 我们看Hello World.ts:

这样TypeScript里面的组件,我们就封装完毕了;接下来,我们就需要将游戏工程编译成Android Studio工程。 如果这里有疑问或者不清楚如何编译,请参考[Cocos Creator官方文档]

生成之后,我们用Android Studio打开生成的Android项目工程,开始编写代码之前,我们先对工程做一些配置:

1、引用U8SDKRelease

将U8SDKRelease放到生成的Android工程目录下, 然后打开settings.gradle文件,在其中加上一句:

工程目录/app/build.gradle中最下面dependencies依赖配置中,增加一个U8SDKRelease工程的引用,如下:

同样的,工程目录/game/build.gradle中最下面dependencies依赖配置中,也增加一个U8SDKRelease工程的引用,如下:

然后在AS工程中gradle视图中,重新Refresh一下同步一下工程。

2、设置U8Application

接入U8SDK时,我们需要将工程的Application设置为com.u8.sdk.U8Application。 打开工程目录/app/AndroidManifest.xml文件,在application节点中增加一个android:name配置:

如果游戏有自己的Application,那么可以将游戏自己的Application继承com.u8.sdk.U8Application。

3、实现代码

接下来,我们就可以编写Android层的代码了。通过上面typescript中的U8SDK.ts组件我们可以看到,TypeScript中最终是调用了Java层的org.cocos2dx.javascript.U8SDKForCocos类中的相关API。

所以,我们在生成的AS工程/src目录中org.cocos2dx.javascript中定义一个U8SDKForCocos单例类:

这个组件就是供游戏层TypeScript中调用,以及将SDK层相关的结果回调给游戏层TypeScript中。
然后在AppActivity.java中,我们还需要调用一下初始化和相关的生命周期函数。

在AppActivity.java中onCreate函数中,调用以下SDK初始化接口:

然后其他生命周期函数如下调用:

好了, 这些实现之后, 我们就可以编译运行app模块生成游戏的apk。 然后点击登录,看下是否弹出U8SDK默认的测试登录界面吧。 最终效果如下:

QQ图片20200714150918

QQ图片20200714151011

QQ图片20200714151001

本文出自 U8SDK技术博客,转载时请注明出处及相应链接。

本文永久链接: http://www.uustory.com/?p=2335

评论功能已经关闭,请加入U8SDK技术群进行讨论和咨询:207609068
Ɣ回顶部
U8SDK技术群 x
技术同学请加入
点击加入