U8SDK——Flash游戏快速接入U8SDK

作者: 分类: U8SDK 发布时间: 2015-12-01 05:58 61条评论

Flash中接入U8SDK,需要使用Air ANE的方式 ,按照air官方ANE文档,我们需要实现以下几个部分。 以下仅仅简单说明下接入的步骤。完整工程和实现代码请参考自己购买的U8SDK中U8SDKDemo目录下的AIR相关的几个工程。

1、Android部分接入工程

新建一个Android库工程U8SDKANELib,在这里我们调用U8SDK抽象层中的接口,同时处理抽象层抛出的回调事件,然后通知到AS层

这个工程引用U8SDK2抽象层工程,编译之后,在bin目录下生成u8sdkanelib.jar

AIR针对Android平台,我们要想监听Activity的生命周期方法,必须要绕点弯路了。 在com.adobe.air包名下,新建一个U8ActivityCallbackWrapper类,实现AndroidActivityWrapper.ActivityResultCallback和AndroidActivityWrapper.StateChangeCallback非public类型的接口,然后在这里来监听air底层Activity的生命周期事件

但是,对于onNewIntent事件,暂时还没有好的办法,对于需要在onNewIntent中做工作的渠道SDK,我们必须采用一些其他的措施。

目前就腾讯应用宝需要,我们需要在WXEntryActivity中重写onResp方法,否则微信登录没有任何回调,因为他就是基于onNewIntent的机制。

实现很简单,主要的类实现如下:

2、as端接入工程(flex手机库工程)

新建一个Flex手机库工程(U8SDKExtension),我们在这个工程中,作为ANE中as端,在这里封装游戏中可以直接使用的接口,同时,调用Android层对应的方法。

并接收来自Android层的事件回调,收到底层事件的时候,继续抛出AS层的事件。

为了简单方便,我们直接封装一个单例接口,使得游戏中的调用,更加简单。在Flex Builder中编译之后,在bin目录下生成一个U8SDKExtension.swc文件

主要的单例接口如下:

3、打包ane
新建一个目录,比如叫U8SDK_ANE。
3.1、拷贝第二步中生成的U8SDKExtension.swc文件到这个目录
3.2、新建一个android子目录
3.3、解压U8SDKExtension.swc,将里面的library.swf和catalog.xml拷贝到android子目录下(注意:每次修改了U8SDKExtension工程,生成新的U8SDKExtension.swc的时候,也要解压,拷贝到android目录下,替换library.swf和catalog.xml)
3.4、拷贝U8SDKANELib工程中bin目录下生成的u8sdkanelib.jar 和U8SDK2抽象层工程的bin目录下生成的u8sdk2.jar到这个文件夹中
3.5、在android文件夹中运行cmd, 然后执行 jar -xf u8sdk2.jar 这个时候,会在当前目录下解压u8sdk2.jar,生成com 和META-INF文件夹.紧接着执行jar -uf u8sdkanelib.jar com 将u8sdk2的文件合并到u8sdkanelib.jar文件中,同时删除解压生成的com和META-INF文件夹。
因为ANE打包,不支持同时存在多个jar包的情况,所以,我们需要合并这两个jar包
3.6、在U8SDK_ANE目录下,新建一个extension.xml,配置如下:

3.7、通过Flash Builder 生成一个p12的证书,用来打包ANE。 我们这里生成的是u8sdk.p12。
3.8、在U8SDK_ANE目录下运行cmd,执行如下命令:

这样,会在当前目录下生成一个com.u8.sdk.flash.extension.ane文件。可以在游戏工程中导入该ane文件,这样游戏中就可以调用了

4、引入ane,测试工程

我们在Flash Builder中创建一个Android界面应用程序,然后在界面中,有登录和支付按钮,点击,分别触发登录和支付:

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

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

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