Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 标准规范 > 和游戏网游SDK开发文档(Android版)

和游戏网游SDK开发文档(Android版)

收藏

本作品内容为和游戏网游SDK开发文档(Android版),格式为 doc ,大小 1601024 KB ,页数为 28页

和游戏网游SDK开发文档(Android版)


('和游戏网游SDK(Android版)集成开发文档和游戏网游SDK开发文档(Android版)2014年12月23日文件状态:[]草稿[]正式发布[√]正在修改文件标识:当前版本:V2.2.21/28和游戏网游SDK(Android版)集成开发文档完成日期:2014-12-23文档版本历史版本/状态起止日期备注2.2.22014-12-23修订内容:修订3.3初始化接口删除3.4.2和3.4.3接口,原接口能力移植到3.3扩展参数中实现修订3.6.2章节,扩展计费重载接口修订3.9.3章节,同步更新Unity脚本接口目录1引言.....................................................................................................................................31.1介绍..................................................................................................................................31.2术语及缩略词................................................................................................................42总体概述.............................................................................................................................42.1总体流程...................................................................................................................................42.2集成步骤...................................................................................................................................63详细接口.............................................................................................................................83.1应用程序加载接口..................................................................................................................83.2游戏启动接口...........................................................................................................................93.2.1游戏启动画面配置..........................................................................................................................93.2.2游戏音效接口...................................................................................................................................93.3游戏初始化接口....................................................................................................................103.4登录流程及接口....................................................................................................................113.4.1登录流程..........................................................................................................................................113.4.2获取登录同步结果.......................................................................................................................123.5更多游戏接口........................................................................................................................133.6计费流程与接口....................................................................................................................143.6.1计费流程..........................................................................................................................................143.6.2计费接口..........................................................................................................................................163.6.3获取付费同步结果.......................................................................................................................183.7游戏分享接口........................................................................................................................203.8游戏退出接口........................................................................................................................213.9Unity3D游戏接口...............................................................................................................223.9.1使用说明..........................................................................................................................................222/28和游戏网游SDK(Android版)集成开发文档3.9.2集成方式..........................................................................................................................................223.9.3脚本接口..........................................................................................................................................234常见问题..........................................................................................................................255附录...................................................................................................................................265.1游戏计费文件........................................................................................................................265.2平台响应状态码....................................................................................................................................271引言1.1介绍本文档的目的是为中国移动游戏业务合作方开发Android网游提供说明指导,对Android网游SDK的集成方式和步骤进行描述,介绍了游戏业务平台与合作方游戏间的技术开发接口规范,以便于游戏开发商开发游戏业务。本文档主要包括以下几方面内容:中国移动游戏基地安卓网游业务总体概述、Android网游系统结构及流程说明、Android网游SDK集成步骤、Android网游SDK接口说明、合作方游戏服务器接口说明、Unity3D引擎游戏适配、常见问题等。本文档适用于中国移动游戏基地安卓网游SDK集成开发者。本文档参考了以下规范文档最新版本:序号标准编号标准名称发布单位[1]QB-D-XXX-XXXX中国移动游戏业务设备规范中国移动通信集团公司[2]QB-D-XXX-XXXX中国移动游戏业务接口规范中国移动通信集团公司[3]QB-D-XXX-XXXX中国移动游戏业务总体技术要求中国移动通信集团公司[4]QB-D-XXX-XXXX游戏业务平台合作方开发规范中国移动通信集团公司3/28和游戏网游SDK(Android版)集成开发文档[5]QB-E-XXX-XXXX中国移动游戏大厅客户端规范中国移动通信集团公司1.2术语及缩略词词语解释CPContentProvider,内容提供商HTTPHyperTextTransferProtocol,超文本传输协议ICON游戏业务的展示图标LOGO游戏业务内容提供商、服务提供商的商标OTAOverTheAir,空中无线下载技术SPServiceProvider,服务提供商SDKSoftwareDevelopmentKit的缩写,中文即“软件开发工具包”。广义上指辅助开发某一类软件的相关文档、范例和工具的集合。XMLExtensibleMarkupLanguage,可扩展标记语言UAProfile由开放移动联盟提出,描述用户终端的配置信息URLUniversalResourceLocator,统一资源定位符点数游戏业务平台中进行各种交易的通用货币计费点游戏在平台申报的激活点信息,包含:计费点名称、价格、及唯一标识代码等信息强制计费点即一次性付费的计费点,通常也是必须要付费的计费点,否则用户无法继续使用游戏或者进入下一关卡。非强制计费点即可重复购买的计费点,通常是游戏中道具或金币,用户可以多次购买的计费点。4/28和游戏网游SDK(Android版)集成开发文档词语解释iGop游戏业务管理平台,完成CP资质评审,游戏业务评审,测试及商用。游戏平台游戏业务通过使用移动游戏SDK与之交互的核心支付平台。游戏服务器合作方按照移动游戏规范自行实现的游戏服务器,用于完成同移动游戏平台进行数据交互与通信的服务器。2总体概述2.1总体流程\uf06c总体流程图5/281、游戏应用配置(Application)2、游戏启动(展现开机画面)3、进入游戏(初始化SDK,进入登录流程)4、继续游戏(触发道具购买,进入付费流程)获取用户登录结果游戏自定义处理逻辑,可以选择继续游戏,如果游戏账号强关联移动账号可以选择退出获取用户购买结果告知用户购买失败,并继续游戏告知用户购买成功给用户道具,并继续游戏5、游戏退出(展现移动退出界面,完成游戏退出)取消登录或登录失败登录成功取消购买或购买失败购买成功和游戏网游SDK(Android版)集成开发文档\uf06c总体流程说明合作方开发者需根据此总流程图集成使用移动游戏SDK。\uf0d8必选流程:1、游戏应用配置集成SDK必须先配置游戏运行的必选配置(自定义Application)。此版本SDK需要游戏自定义Application类,加载SDK核心接口内容。Application的定义与使用方式详见3.1章节。2、游戏启动画面集成移动SDK启动画面(按照移动游戏规范,游戏的首个启动画面必须包含移动游戏LOGO),启动画面展现移动LOGO。启动画面的具体集成方式详见3.2章节。启动画面结束后,需要通过3.2.2接口获得用户是否开启游戏背景音乐的选项。开发者根据此接口返回值设置游戏背景音乐。3、游戏初始化启动画面结束后,进入游戏内容,合作方开发者需要对SDK进行初始化,即调用3.3章节,调用此接口的同同时,SDK会进行用户登录。6/28和游戏网游SDK(Android版)集成开发文档该接口内部会进行用户登录,登录流程及接口详见3.4章节。4、游戏付费用户进入游戏商店就行购买道具时,进入游戏付费流程。付费流程及接口详见3.6章节。5、游戏退出用户游戏结束后,选择退出游戏,合作方开发者需要调用退出接口(3.7章节)完成游戏退出逻辑。\uf0d8可选流程:按照移动游戏接入规范,需要合作方在游戏主菜单添加关于、更多游戏等功能菜单。更多游戏详见3.5章节。2.2集成步骤\uf06cSDK开发资源包:SDK目录中包含SDK的资源文件,请复制SDK目录中的所有目录与文件,并拷贝至各自的游戏工程中),如下:1)拷贝APIA)拷贝NativeAPI将SDK/libs目录中的文件全部拷贝到游戏libs下。B)拷贝JAVAAPI将SDK/runtime目录文件,直接复制到游戏根目录下,切勿将runtime下面的jar文件放入libs下面编译,否则会报编译错误,例如:badrange…(不同编译环境均需要按照此要求引用此jar,如遇编译问题,请参考章节4)。2)拷贝SDK资源A)将SDK/res文件夹中的内容拷贝至游戏工程目录中。B)将SDK/assets文件夹中的所有文件拷贝至游戏相同的工程目录中,不能删除其中的任何文件,否则导致非正常运行。3)添加SDK提供的Activity引用将SDK\\AndroidManifest.xml.activity.txt中的文本Copy到游戏的AndroidManifest.xml中。7/28和游戏网游SDK(Android版)集成开发文档Activity的横竖屏配置(android:screenOrientation),最好设置成游戏主界面的横竖屏设置。4)添加SDK需要的use-permision将SDK\\AndroidManifest.xml.permision.txt中的文本Copy到游戏的AndroidManifest.xml注意:不要重复添加use-permision项。5)为游戏主入口添加中国移动游戏基地标识(Intent-Filter)为游戏主入口Activity添加中国移动游戏基地标识,如下:注意:如果游戏的主入口Activity没有添加移动游戏标识,则测试会不通过。\uf06c示例工程:(Sample目录中为游戏计费实现的实例,详细的Sample程序源文件在Sample/GameSample/文件夹下),请不要直接拷贝Sample的示例代码,根据游戏时间情况,处理接口调用逻辑。3详细接口3.1应用程序加载接口游戏开发者在集成SDK,务必先自定义全局Application。Application里面代码必须包含,下行代码(注意:该接口必须放在Application中进行加载,不可放在Activity的onCreate中):8/28和游戏网游SDK(Android版)集成开发文档System.loadLibrary("megjb");示例代码如下:(注意:该类的package路径应用必须与AndroidManifest.xml中的一致,如下代码示例中,黄色标注,否则游戏无法正常启动)。packagecn.cmgame.sdk;publicclassCmgameApplicationextendsApplication{publicvoidonCreate(){try{System.loadLibrary("megjb");}catch(Exceptione){…}}}AndroidManifest.xml中配置:……3.2游戏启动接口3.2.1游戏启动画面配置按照中国移动合作方游戏接入规范,需要在游戏的首个启动页面展现移动游戏相关LOGO,此规范要求SDK已经自带完成,游戏开发者只需要按照特定集成方式使用即可。具体使用方法:在AndroidManifest.xml中的主入口Activity配置为GameOpenActivity(即SDK提供的游戏启动画面的Activity)。游戏原来的主入口Activity请添加到res/values/g_strings.xml中的g_class_name字符串中,使得启动画面完成后即启动游戏。9/28和游戏网游SDK(Android版)集成开发文档例如:your.game.ui.Entry特殊说明:如果游戏使用的APILevel是小于等于3的情况,即:游戏是基于Android1.5及以下API版本开发的,那么还需要设置一个低版本标识,(API小于4的情况,Android本身不支持图片自适配,故可能导致SDK中的界面元素被放大,UI效果差)。true,这样SDK会读取该标识,并完成开机界面的自适配。3.2.2游戏音效接口游戏启动的第一个界面(3.2.1章节),即:用户选择是否开启音效界面,用户选择《是》,则游戏需要实现有背景音乐的逻辑,否则反之,游戏开发者可根据此接口判断用户是否选择了开启音效:\uf06c接口定义booleanGameInterface.isMusicEnabled()\uf06c返回值返回false,则游戏中应关闭音效,否则开启。3.3游戏初始化接口游戏的初始化是实现游戏计费的必须操作。在游戏启动之后计费之前,务必调用如下方法,否则无法使用计费功能。该接口提供2个重载方法,如果合作伙伴希望自定义计费界面的游戏名称,游戏提供商及客服电话信息(SDK默认采用平台上申报业务时填写的客服电话),可以调用重载接口2实现。\uf06c接口定义voidGameInterface.initializeApp(Activitymain);voidGameInterface.initializeApp(Activitymain,StringgameName,Stringprovider,StringserviceTel,StringloginNo,ILoginCallbackcallback);10/28和游戏网游SDK(Android版)集成开发文档\uf06c参数定义参数名称类型意义注释:actActivity游戏项目的上下文环境该Activity需要在游戏运行期间不能被finish掉,否则计费会出现不可预知问题gameNameString移动计费界面展现的游戏名称传null时,SDK使用平台申报的业务名称providerString移动计费界面展现的游戏提供商名称传null时,SDK使用平台中合作伙伴管理栏目中填写的内容提供商名称serviceTelString移动计费界面展现的客服电话大多数情况,不需要指定该值,SDK会从使用平台上业务申报时指定的客服电话loginNoString扩展参数:和游戏用户登录流水号,可以通过此参数根据3.4.1章节的登录流程,同核心平台交互获得和游戏用户的登录信息。若游戏服务器无需同平台交互登录数据,此字段可为null该参数非空时必须16个字节,请勿包含SDK保留字符,如:“@&=·”另,其中不能含有空格,同时尽量避免使用特殊字符callbackILoginCallback登录结果的回调接口。根据3.4.1的登录流程,SDK发起和游戏用户登录请求,核心平台将登录结果同时返回给SDK及游戏服务器,返回给游戏客户端(SDK)的登录数据仅仅包含和游戏账号UID。若无需监听和游戏账号登录结果,此参数可直接传null回调方法:onResult(intresultCode,StringuserId,Objectobj);resultCode:登录结果。在SDK中使用常量类进行定义,即:LoginResultLoginResult.UNKOWN用户没有发起登录(如网络原因,或者用户取消登录)LoginResult.SUCCESS_IMPLICIT隐式登录成功。LoginResult.FAILED_IMPLICIT隐式登录失败。LoginResult.SUCCESS_EXPLICIT显式登录成功。LoginResult.FAILED_EXPLICIT显式登录失败。userId:即为移动用户UID。obj:扩展额外参数。11/28和游戏网游SDK(Android版)集成开发文档3.4登录流程及接口3.4.1登录流程该登录流程是移动游戏用户登录移动用户中心体系的过程。业务流程图:流程描述:1)用户下载安装移动游戏:用户从移动线上渠道或其他渠道下载已商用的游戏2)用户登录:用户安装完成后启动游戏,集成此游戏SDK的游戏会向游戏平台发送登录请求,游戏平台验证当前用户的登录请求是否合法有效,并进行用户登录。具体登录的请求由SDK自动发起(即在3.3接口中完成)。3)登录结果通知:a)游戏平台把登录结果返回给游戏服务器(服务器通过登录同步URL接口12/28和游戏网游SDK(Android版)集成开发文档获得)。b)游戏平台把登录结果返回给游戏客户端(客户端通过登录结果监听接口获得,详见:3.3接口中的扩展登录结果参数)4)游戏客户端同游戏服务器交互:此步骤由游戏开发者自选是否需要执行。如果游戏希望从移动游戏平台获得更多的用户数据,则可以通过该步骤从自身游戏服务器提取。客户端与服务器的每次登录凭证或流水号可以通过设置登录透传参数接口(3.3章节)完成。3.4.2获取登录同步结果按照3.4.1登录流程:合作方可以通过此接口获得游戏平台同步的用户伪码(userId),网游事务ID,合作方ID,计费代码,渠道代码,透传参数,用户归属地,用户终端等额外扩展信息。该接口由游戏平台主动调用游戏服务器提供的URL地址,并通过GET方式透传用户登录结果。故:游戏提供商需要在iGop上申报网游业务时,指定该登录同步URL。\uf06c接口地址:http://indexURL?userId=xxx&key=xxx&cpId=xxx&cpServiceId=xxx&channelId=xxx&p=xxx®ion=xxx&Ua=xxx注:indexURL即为是网游合作方在业务申报时在iGop上提交的用户信息同步URL。(IGOP平台游戏信息页中显示截图)\uf06c提交方式:GET\uf06c相关参数:参数名称重要性类型长度(字节)描述信息userIdMString10用户伪码keyMString24用户登录网游的事务ID。cpIdMString6合作方IDcpServiceIdMString12计费代码channelIdMString88位渠道代码13/28和游戏网游SDK(Android版)集成开发文档pOString16透传参数(即2.3.2接口设置的登录透传参数)regionOString30用户归属地信息UaMString用户手机型号(短UA形式),如用户手机型号为MOT-MOTORAZRV8_CMCC/1.0linuxOS/2.6.10Release/06.30.2007.Browser/Opera8.50Profile/MIDP-2.0Configuration/CLDC-1.1software/R601_G_90.44.2BR则平台传递ua为MOT-MOTORAZRV8\uf06c合作方接口的返回值:合作方游戏服务器,收到游戏平台提供的登录结果同步数据后,应立即给出响应,否则整个登录过程会被阻塞,则游戏平台认为登录失败。返回内容为普通文本,内容如下:Content-Type:text/plain;charset=UTF8\\rContent-Length:xx\\r\\r03.5更多游戏接口按照中国移动合作方游戏接入规范,游戏主菜单需要添加《更多游戏》入口点击此按钮,需调用如下接口实现更多游戏逻辑。\uf06c接口定义voidGameInterface.viewMoreGames(Contextcontext);\uf06c参数定义参数名称类型意义注释:contextContext游戏项目的上下文环境14/28和游戏网游SDK(Android版)集成开发文档3.6计费流程与接口3.6.1计费流程\uf06c业务流程\uf06c业务流程说明1)用户发起购买请求:用户使用移动游戏,出发购买道具流程。按照上面流程图,短信方式购买道具时,用户的付费请求将先送到短信网关进行处理,再送达游戏平台。如果用户当前不具备短信发送条件,例如无卡或者异网用户,则付费方式采用HTTP网络请求方式,直接送达至游戏平台。2)游戏平台处理付费请求:游戏平台收到付费请求后,进行处理,鉴权,验证等逻辑,对于合法的付费请求将允许付费,并向游戏服务器同步付费结果。3)付费结果提示:无论是短信方式还是HTTP方式发起的付费请求,付费成功后,游戏平台将会把扣费成功的短信下行给用户。15/28和游戏网游SDK(Android版)集成开发文档4)道具使用:游戏客户端与自身游戏服务器进行交互,完成道具发放逻辑。\uf06c处理流程\uf06c处理流程描述结合业务流程,可以将一次用户的购买行为,按照接口调用顺序分为:1)用户触发付费,游戏开发者中调用SDK付费接口(3.6.2章节)。2)SDK通过短信(或HTTP)方式上行付费请求,并送至游戏平台。游戏平台处理付费请求,并向游戏服务器发送付费结果通知。3)游戏开发者监听付费结果通知(通知接口见3.6.3),并根据付费结果处理业务使用(道具发放)逻辑。16/28和游戏网游SDK(Android版)集成开发文档3.6.2计费接口按照上述业务及处理流程,用户触发道具购买时,游戏开发者调用如下接口,完成计费计费请求的发送,通过不同的参数值完成各种计费要求。SDK提供的支付界面是全屏模式的,如果希望展现对话框(非全屏紧凑型)支付界面,可以调用重载支付接口,传递不同参数实现。如果游戏希望在计费结束,比如计费成功、失败或用户取消计费后,处理自定义的逻辑,需实现IPayCallback回调。(特殊说明:对于网游业务,下放道具的处理逻辑,不应根据IPayCallback的回调结果,实际上必须根据游戏平台的付费结果通知。例如:对于短信计费,SDK的IPayCallback给出的付费结果只是短信发送成功,并不是真正的付费成功)。注:如果是权益类道具(由游戏合作方申报计费点时指定为:权益道具,并由产品经理确认,除此之外,都是普通道具),则需要调用重载计费接口,即:第三个参数propsType为PropsType.RIGHTS。此时,billingCallback的onResult结果若为成功,应下放道具给用户。\uf06c接口定义voidGameInterface.doBilling(Contextcontext,booleanuseSms,booleanisRepeated,StringbillingIndex,StringcpParam,IPayCallbackbillingCallback);voidGameInterface.doBilling(Contextcontext,intuiType,intpropsType,StringbillingIndex,StringcpParam,IPayCallbackbillingCallback);\uf06c参数定义参数名称类型意义注释:contextContext触发计费接口的Context对象计费UI修改为dialog展现模式,故需要游戏开发者调用接口时传递当前context参数useSmsboolean选择采用短信方式发起付费,还是HTTP计费方式true:短信计费,false:联网计费。此参数,无特殊要求,均应填true。isRepeatedboolean该计费点是否是非强制计费点(见1.2章节)如果该参数传递true,表示本次计费的计费点是可重复计费的计费点,SDK不自动保存计费标志位;传递false则为一次性计费的计费17/28和游戏网游SDK(Android版)集成开发文档点,SDK将自动保存计费标志位,用户下一次玩到该计费点时,不会重复跳出计费界面。uiTypeint界面类型:全屏界面和非全屏界面详见UiType类的常量定义:UiType.FULLSCREEN,支付界面是全屏,遮住游戏画面UiType.COMPACT,支付界面是非全屏紧凑,浮于游戏画面上方propsTypeint道具类型:1、强制计费点2、普通计费点4、权益道具详见PropsType类的常量1:PropsType.ONCE_ONLY,强制计费点2:PropsType.NORMAL,强制计费点4:PropsType.RIGHTS,权益道具计费点如果无特殊要求,请忽略此参数及重载接口定义billingIndexString计费点索引游戏中设置的计费点索引,对应于中国移动游戏基地游戏平台该游戏内容下“激活点信息”中的“激活点计费代码”的后三位(见下面激活点代码截图)。该计费点计费代码的后三位为“000”则billingIndex设置为“000”,若该计费点计费代码的后三位为“001”则billingIndex设置为“001”,以此类推。cpParamString每次付费的付费流水号(即可理解为交易订单号)透传参数(16byte),此参数由合作方指定,旨在定义客户端发起付费,最终从服务器通过该参数付费结果。【在计费完成后游戏平台会将计费结果及此参数一并同步到网游服务器计费结果地址上去】。该参数必须16个字节,请勿包含SDK保留字符,如:“@&=·”另,其中不能含有空格,同时尽量避免使用特殊字符billingCallbackIPayCallback计费结果的回调逻辑BillingResult.SUCCESS:计费成功的回调处理(对于网游业务,不应使用该状态值下放道具给用户,对于短信付费,此值仅表示短信发送成功,不是真实的付费成功)BillingResult.FAILED:计费失败后的回调处理(如果需要知道更多的失败原因及信息,可参见附录5.2章18/28和游戏网游SDK(Android版)集成开发文档节)BillingResult.CANCELLED:用户不进行计费的回调处理\uf06c计费点代码说明中国移动游戏基地游戏平台游戏内容下“激活点信息”中的“激活点计费代码”的后三位示例,计费点“激活游戏”的代码后三位为“001”,计费点“超级弹簧”的代码后三位为“004”。\uf06c调用示例(详见附件示例DEMO)IPayCallbackbillingCallback=newIPayCallback(){@OverridepublicvoidonResult(intresultCode,StringbillingIndex,Objectarg){//游戏业务收到付费结果后的处理逻辑……}};GameInterface.doBilling(this,true,false,“000”,“2013101610121270”,billingCallback);3.6.3获取付费同步结果按照3.6.1业务流程中的步骤4,游戏客户端需要同自身游戏服务器进行数据交互,对于付费流程,即向服务器提取付费结果。从而处理道具下放业务逻辑此接口由合作方提供,游戏平台会将玩家通过短信购买道具的结果通知给合作方。报文中包括购买成功和购买失败的结果信息。需要获得计费结果的合作19/28和游戏网游SDK(Android版)集成开发文档方,要提供一台具备独立IP的服务器,并且按照规范提供付费结果同步URL信息。\uf06c接口地址http://billingURL注:billingURL即为是网游合作方在业务申报时在iGop上提交的付费通知URL。(在iGop平台上,游戏信息页中显示截图):\uf06c接口方向游戏平台调用游戏服务器。\uf06c提交方式POST\uf06c请求消息体xxx00000000000000000000000070101001800xxxxxx\uf06c参数说明标识符重要性类型长度(字节)描述userIdMString10用户伪码contentIdMString12计费代码consumeCodeMString12道具计费代码cpIdMString6合作代码hRetMString1平台计费结果(状态码外码)0-成功其他-失败statusMString4返回状态(内码),详见5.2章节versionIdMString5版本号2_0_0,统一填写20/28和游戏网游SDK(Android版)集成开发文档2_0_0cpparamOString16CP透传参数,同2.7.2章节中的付费接口参数一致。packageIDOString12套餐包ID(非局数据ID)\uf06c游戏服务器的返回响应值标识符重要性类型长度(字节)描述hRetMString10-通知成功;其它-其他错误messageOString24CP响应的消息,比如“Successful”或是合作方自定义的失败原因。3.7游戏分享接口在游戏中实现截屏分享功能,需要在游戏界面设置入口按钮,点击即进入游戏分享界面。调用该接口实现:\uf06c接口定义voidGameInterface.doScreenShotShare(Contextcontext,Uriuri);\uf06c参数定义参数名称类型意义注释:contextContext触发游戏分享接口的Context对象分享UI修改为dialog展现模式,故需要游戏开发者调用接口时传递当前context参数uriUri游戏自身截屏,本地保存的图片Uri路径游戏自身实现截屏功能,保存截屏图片至本地目录,需游戏开发者传递保存的图片Uri参数;若游戏不实现截屏功能,此参数为null,SDK默认实现截屏功能,截屏失败,使用游戏ICON21/28和游戏网游SDK(Android版)集成开发文档3.8游戏退出接口按照中国移动合作方游戏接入规范,游戏退出时需要按规范要求实现游戏退出逻辑及节目展现。此要求,同样SDK已经内部实现,即通过调用此接口即可完成。\uf06c接口定义voidGameInterface.exit(Contextcontext,GameExitCallbackcallback);\uf06c参数定义参数名称类型意义注释:contextContext触发该接口的应用上下文环境callbackGameExitCallback用户在退出界面回调处理接口。开发者需要实现其中的接口方法:onConfirmExit()。和onCancelExit()。onConfirmExit()表示用户确认退出操作的接口方法,这里面通常是资源释放代码。onCancelExit()表示用户取消退出,此时需要回到原游戏界面。\uf06c调用示例GameInterface.exit(BillingDemo.this,newGameExitCallback(){@OverridepublicvoidonConfirmExit(){//确认退出逻辑}@OverridepublicvoidonCancelExit(){//取消退出逻辑}22/28和游戏网游SDK(Android版)集成开发文档3.9Unity3D游戏接口3.9.1使用说明1)本章节适用于使用Unity3D游戏引擎的游戏提供商。其他游戏可忽略本章节。2)查看本章节内容前,请先务必仔细阅读章节3的前面章节内容。3)使用Unity3D游戏集成移动SDK的开发者需要具备AndroidOS基础知识。3.9.2集成方式1)复制资源文件\uf06c将SDK\\assets目录中的文件复制到Assets\\Plugins\\Android\\assets\\下。\uf06c将SDK\\res目录中的文件复制到Assets\\Plugins\\Android\\res\\下。\uf06c将SDK\\runtime目录中的文件复制到Assets\\Plugins\\Android\\runtime下。此jar切记不能编译到APK中。\uf06c将SDK\\Unity3d目录中的CMBillingForUnity.jar复制到Assets\\Plugins\\Android\\libs目录下。此jar必须编译到APK中。\uf06c请将g_strings.xml中的g_class_name配置为游戏真实的入口地址,默认是com.unity3d.player.UnityPlayerActivity\uf06c添加Application定义,详见3.1章节,将自定义的applicationjavaclass导出一个jar,放入libs目录即可。2)编辑配置文件编辑AndroidManifest.xml文件,将开机动画设置为游戏入口Activity,对真实的游戏入口进行配置,同时加上必须的权限配置。1)添加SDK提供的Activity引用将SDK\\AndroidManifest.xml.activity.txt中的文本Copy到游戏的Assets\\Plugins\\Android\\AndroidManifest.xml中2)添加SDK需要的user-permision将SDK\\AndroidManifest.xml.permision.txt中的文本Copy到游戏的23/28和游戏网游SDK(Android版)集成开发文档Assets\\Plugins\\Android\\AndroidManifest.xml中(注意重复内容)3.9.3脚本接口该章节中的接口,是对SDK原始JavaAPI的简单封装,游戏开发者可以根据自身游戏业务需要,自行封装C#或JavaScript脚本接口。也可使用SDK自带的脚本接口。\uf06c添加SDK提供的C#脚本文件将SDK\\Unity3D\\CmBillingAndroid.cs文件Copy到Assets\\Plugins\\Android\\中。1)应用程序加载接口同3.1章节。2)游戏启动接口流程及描述同3.2章节。3.2.2游戏音效接口定义差异:boolCmBillingAndroid.Instance.IsMusicEnabled();3)游戏初始化接口流程及描述同2.5章节。接口定义差异:voidCmBillingAndroid.Instance.InitializeApp();如果需要自定义支付界面中的游戏名称、提供商、客服电话及登录结果信息通过下面重载方法实现。voidCmBillingAndroid.Instance.InitializeApp(StringgameName,StringcpName,StringserviceTel,StringloginNo,StringgameObj,StringruntimeScript);gameObj:游戏场景中的对象,SDK内部完成登录逻辑后,并把登录结果通过Unity内部API。UnitySendMessage(StringgameObject,StringruntimeScriptMethod,Stringargs))通知到Unity,故游戏开发者需要指定一个游戏对象和该对象的运行脚本,用于侦听SDK的登录结果。runtimeScriptMethod:gameObject对象的运行时脚本的方法名称,该方法会在收到通知后触发。其他参数同3.3章节。24/28和游戏网游SDK(Android版)集成开发文档示例详见SDK提供的CMBillingAndroidDemo.cs文件。4)登录接口流程及定义同3.4章节。5)更多游戏接口描述同3.5章节。接口差异:voidCmBillingAndroid.Instance.ShowMoreGames();6)游戏付费接口流程及描述同3.6章节。接口定义差异:CmBillingAndroid.Instance.DoBilling(booluseSms,boolisRepeated,Stringindex,Stringcpparam,StringgameObject,StringruntimeScriptMethod);如果游戏希望自定义支付界面是否全屏或者指定权益道具可使用下面重载接口。CmBillingAndroid.Instance.DoBilling(intuiType,intpropsType,Stringindex,Stringcpparam,StringgameObject,StringruntimeScriptMethod);gameObj:游戏场景中的对象,SDK内部完成付费逻辑后,并把付费结果通过Unity内部API。UnitySendMessage(StringgameObject,StringruntimeScriptMethod,Stringargs))通知到Unity,故游戏开发者需要指定一个游戏对象和该对象的运行脚本,用于侦听SDK的付费结果。runtimeScriptMethod:gameObj对象的运行时脚本的方法名称,该方法会在收到通知后触发。其他参数同3.6.2章节。注:购买结果的返回值格式:[计费点索引]+””+[计费结果],具体使用方式,请仔细参见CmBillingAndroidDemo的OnBillingResult方法。示例详见SDK提供的CMBillingAndroidDemo文件内容。8)游戏退出接口接口描述同3.7章节。接口定义差异:voidCmBillingAndroid.Inastance.Exit();或voidCmBillingAndroid.Inastance.ExitWithUI();调用示例见SDK提供的Demo脚本,CmBillingAndroidDemo。25/28和游戏网游SDK(Android版)集成开发文档4常见问题1、为何使用之前版本的SDK没有问题,使用最新版本的SDK编译报错,无法运行。解答:遇到badrange,或offset问题,主要是SDK的jar引用方式不对,这个版本的SDK中jar只提供编译,并不会真实编译到APK中,类似于android.jar,请游戏开发者集成SDK时,理解这个区别,并根据自己的编译环境,解决此类编译问题。1)eclipse打包时:buidpath中取消CMBilling.jar的打包勾选2)IDEA或androidstudio需要将CMBilling.jar的编译方式设置为provided。3)Ant打包时,需要在buid.xml中添加jar的引用,把jar包配到classpath变量里调用androidsdk的build.xml可以加上如下配置:2、为何游戏制作过程中,支付UI中,显示0.1元的测试信息,不是游戏自身的真实据?解答:游戏在集成SDK过程中,游戏提供商务必将集成SDK的游戏包提交至移动游戏管理平台,申请同步自测,下载替换游戏自身真实计费信息。3、调用移动SDK初始化接口后,为何收到的登录结果是失败,例如:FAILED_IMPLICIT,FAILED_EXPLICIT?解答:按照2.3章节的登录流程,出现此问题的原因有:1)2.3.4章节中的登录同步地址没有在iGop上申报,或者URL不符合规范,无法正常同步登录结果。2)手机卡无效,无法正常发送移动短信3)网络原因导致登录失败。4、游戏之前在二期上申报的含有000计费点,但是SDK自带的从001开始,无法测试?解答:SDK自带的计费点没有000,是从001开始的,如果你们的游戏是从000开始的,确实有这个现象。解决办法:你可以先用其他的计费点代替000,自测通过后,发布APK之前,再改回000,提交到移动iGop,提交后,移动自动会把000的计费点打入APK中,此时再运行就没有问题了。5、为何集成游戏SDK,已收到SDK的callback结果,却没有收到扣费短信?解答:SDK中给出的计费结果callback,仅用于验证短信发送成功,但不是真实的扣费成功,若游戏提供商上行的短信内容符合移动开发规范,通常在5分钟内会收到扣费提醒短信(如果自测阶段,即非商用产品,通常均不会收到下行短信)。6、Unity3d游戏集成SDK时,为啥不能正常运行,编译报错26/28和游戏网游SDK(Android版)集成开发文档解答:移动游戏SDK支持Unity3d游戏,游戏开发者需仔细参考开发文档中Unity章节,按步骤集成,可正常运行游戏。7、为何游戏集成了SDK后,确依然未通过移动测试,被驳回?解答:移动游戏SDK已经帮助游戏提供者完成移动游戏规范的接入及相关UI、功能要求,游戏开发者只需要按照SDK的每个接口及规范制作游戏接口,不建议自定义处理方案或UI设计,或产生规范冲突。不同的测试驳回问题,产生原因不同,游戏开发者需要通过游戏基地测试审核人员确认问题并理解问题后,再进行问题修改。8、为什么订购卡到了强制计费点还会弹原价计费?解答:1)游戏提供商需先跟移动产品及业务人员确认当前游戏已经进入套餐包。2)游戏开发者需要确认调用计费接口时计费点参数(isRepeated)是以一次性计费点还是重复计费点调用的,因为重复计费点是可以重复计费的,每次调用都会弹计费。9、Flashair游戏通关ANE无法集成SDK或遇到编译问题?解答:flashair游戏可以实现调用JavaAPI的方法。但是对于移动SDK提供的开机动画GameOpenActivity或无直接方式集成使用。此时,游戏开发者可以自定义移动开机动画界面,无需使用SDK自带的开机界面。但是,开发者自定义的开机动画,类似于SDK自带的UI,需要包含和游戏LOGO信息。5附录5.1游戏计费文件在APK包的assets目录下包含登录及计费相关数据文件,文件内容均已加密。SDK提供了测试使用的Charge.xml、ConsumeCodeInfo.xml。游戏开发者需要确认这两个文件已在游戏的assets目录下存在,否则编译不通过。待游戏提交至移动平台后,动态替换该文件内容(替换成游戏实际业务及计费信息)。注意:该两个文件是计费的核心数据,请勿擅自修改其内容,否则计费失败。另:请将SDK\\assets\\Config.xml也一并复制到游戏assets目录,该文件27/28和游戏网游SDK(Android版)集成开发文档与计费无关,是SDK的版本标识,但是必须包含。针对客户端网游业务,游戏开发者在集成SDK过程中,无法直接测试真实的登录与购买道具流程;SDK提供的计费信息文件Charge.xml及ConsumeCodeInfo.xml信息是测试数据,仅用于测试付费的流程。5.2平台响应状态码日期版本备注10-7-81.1.143004(渠道鉴权未通过(渠道安全策略))10-7-131.1.151501机型不匹配10-8-161.1.163012PC验证码购买道具成功10-8-161.1.163010PC请求消费并产生验证码的请求成功10-8-161.1.163011PC请求消费并产生验证码的请求失败10-8-161.1.168007PC道具数量不合法10-8-161.1.168008PC消费次数超限制10-8-161.1.168009PC金额超限制(外码1)10-8-161.1.168009PC金额未超限制(外码0)10-8-161.1.168011PC验证码不存在或验证码验证请求处理失败10-8-161.1.168010PC验证码上传超时11-2-91.2.01621用户已经“沉迷”13-3-111.2.1209自动充值超过次上限13-10-201.2.21800计费成功13-10-201.2.21900包体安全性校验失败(使用移动游戏SDK接入网游业务,在自测阶段,出现此付费结果状态码是正常现象)13-10-201.2.21901非单点激活类业务不允许激活操作13-10-201.2.21902大厅渠道计费透传接口返回失败13-10-201.2.21903计费失败13-10-201.2.21904第三方安全服务器校验session失败13-10-221.2.21905对方用户不存在或状态不正常13-10-221.2.21906计费策略传入错误13-10-221.2.21907校验SC计费事务失败13-10-221.2.21908短信验证码校验失败13-10-221.2.21909VCODE不合法13-10-221.2.21910图形验证码校验失败13-10-221.2.21911其他错误13-11-151.2.21912计费策略不支持支付密码模式28/28',)


  • 编号:1700846240
  • 分类:标准规范
  • 软件: wps,office word
  • 大小:28页
  • 格式:docx
  • 风格:商务
  • PPT页数:1601024 KB
  • 标签:

广告位推荐

相关标准规范更多>