U8SDK——LayaAir中接入U8SDK

作者: 分类: U8SDK 发布时间: 2018-09-14 20:58 6U8SDK——LayaAir中接入U8SDK已关闭评论

随着H5游戏和微信小游戏越来越火, 使用H5游戏引擎来开发的游戏会越来越多,H5游戏不仅仅可以作为纯H5来运行,也可以打包成app包来运行。如果你希望打包成游戏app包,分发到国内各大渠道平台, 那么你可能就会使用U8SDK这样的聚合SDK产品。那么这篇博客,我们就来为同学们分享一下如何在Layabox(LayaAir)中接入U8SDK Android平台api接口。

Layabox中和Android平台api相互调用 也就是js和android平台之间的相互调用。之前有使用过U8SDK的同学可能知道, 每种游戏引擎,比如U3D,Cocos2dx,flash等,我们都会建立一个中间工程, 用来和具体的游戏引擎进行调用和交互。那么Laybox中呢?

Laybox为我们已经封装好了一套渠道SDK调用接口, 我们只需要在android层实现他对应的接口即可。这些接口,可以参考他这篇文档:【LayaAir渠道SDK Api接口】

我们先在LayaAir IDE中建立一个demo工程, 增加一个界面, 界面上有一个登录状态, 和两个按钮,一个点击调用渠道SDK的登录, 一个点击调用SDK的支付。

对应代码如下:

如上面代码所示, 我们在点击登录的时候, 调用Laya.conchMarket.login方法, 该方面就是Layabox为我们封装好的登录接口。支付接口也是一样。可以看到,接口很简单。接口参数的传递,统一采用json格式。

游戏层的接口我们调用之后, 最终是调用到Android平台中的原生代码, Layabox IDE中,我们点击app构建, 生成一个Android Studio工程。 默认, 这个渠道SDK相关接口的实现,他是让我们写在layaair.game.Market.MarketTest类中, 该类实现了LayaPlatformInterface接口。那么我们这里也直接在该类中,将默认的实现,改为调用U8SDK对应的api接口。

U8SDK框架API接口,请看这篇文档:【U8SDK Api接入文档】

首先我们将u8sdk抽象层框架的jar包u8sdk3.jar拷贝到as工程的libs下面, 右键, 添加到依赖中。紧接着我们就可以编写代码了。

MarketTest里面预定义的接口很多, 不是每个都需要的。 只需要在如下几个函数中调用u8sdk对应的接口api即可。

上面这些接口从上到下, 分别调用了U8SDK的初始化,登录,切换帐号,登出, 提交游戏扩展数据,支付接口。同时,在登录回调中, 将登录结果回调给游戏层。游戏层收到登录回调结果,展示在界面上面。

接下来,我们需要在游戏主Activity的生命周期函数中,调用U8SDK中对应的生命周期函数。 这个就更简单了, 生成的Android工程中, 主Activity是MainActivity, 我们打开MainActivity,如下编写:

部分渠道SDK要求,玩家退出游戏的时候, 需要调用渠道SDK的退出接口。 看LayaAir生成的Android工程,是在layaair.game.Market.GameEngine中。 对应调用代码如下:

最后,我们打开Android工程的AndroidManifest.xml文件, 在application节点中,增加一个android:name,将值设置为:com.u8.sdk.U8Application。

好了,到这里,我们在LayaAir中就接入了U8SDK。 接下来,我们build运行, 将生成的apk作为母包, 拷贝到打包工具中随便打出两个渠道包,看下效果吧。我们打一个百度和360的包,运行看下登录和支付效果:

baidu_login

360_pay

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

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

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