帮助文档

快发助手Lua接入文档

1.介绍

快发助手为CP商提供一套第三方SDK接入解决方案,整个接入过程,不改变任何SDK的功能、特性、参数等,对于最终玩家而言是完全透明无感知的。 目的是让CP商能有更多时间更专注于游戏本身的品质,无需花费大量时间在对接第三方渠道上。

1.1 下载的压缩包中将包括以下内容

lua.jpg

文件名称
介绍
android/ 依赖android工程
liblua_sdkkit.a 静态库
Readme.txt / 接入文档
sdkkit.h/ 头文件
sdkkit.lua/ 回调接口

2.接入流程

android-doc.png

3.接入步骤

3.1 把lua_sdk文件夹下的android文件夹中的工程导入eclipse

3.2 对项目的AndroidManifest.xml进行配置。

权限声明

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.RESTART_PACKAGES"/>
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>

application节点内配置

<meta-data android:name="gamekey" android:value="填写gamekey" />
<meta-data android:name="channel" android:value="\ 0103" />
<meta-data android:name="source"  android:value="2e82c4eba58760463338f2951f832265" />
<meta-data android:name="anysdk_serverurl" android:value="http://anyapi.mobile.youxigongchang.com"/>
<meta-data android:name="statistic_serverurl" android:value="http://dataapi.mobile.youxigongchang.com" />
<meta-data android:name="serverurl" android:value="http://test.api.mobile.youxigongchang.com" />
<meta-data android:name="online" android:value="mobile.self"/>
<activity
     android:name="com.gameworks.sdkkit.entry.MainActivityGroup"
     android:configChanges="orientation|keyboardHidden|screenSize"
     android:screenOrientation="landscape"
     android:theme="@android:style/Theme.Translucent">
</activity>

<activity
    android:name="com.gameworks.sdkkit.entry.RechargeActivity"
    android:screenOrientation="landscape"
    android:theme="@android:style/Theme.Translucent">
</activity>

<activity
     android:name="com.gameworks.sdkkit.entry.RechargeHistoryActivity"
     android:screenOrientation="landscape"
     android:theme="@android:style/Theme.Translucent">
</activity>

<activity
      android:name="com.gameworks.sdkkit.entry.UserCenterActivity"
      android:screenOrientation="landscape"
      android:theme="@android:style/Theme.Translucent">
</activity>

<activity
     android:name="com.gameworks.sdkkit.entry.RechargeHelpActivity"
     android:screenOrientation="landscape"
     android:theme="@android:style/Theme.Translucent">
</activity>

<activity
     android:name="com.gameworks.sdkkit.entry.ThirdLoginActivity"
     android:screenOrientation="landscape"
     android:theme="@android:style/Theme.Light.NoTitleBar">
</activity>
	
<receiver android:name="com.gameworks.sdkkit.loader.receiver.SDKKitInvokeReceiver"
    android:permission="gameworks.sdkkit.data">
    <intent-filter>
    	<action android:name="gameworks.sdkkit.action"/>
    </intent-filter>
</receiver>		

AndroidManifest.xml配置注意事项

游戏如果有自己的application, 需要继承至com.gameworks.sdkkit.bridge.app.GWSDKKitBaseApplication,并且配置到android:name=""中。

如果没有自己的application需要把com.gameworks.sdkkit.bridge.app.GWSDKKitBaseApplication配置到android:name=""中。

打开自己工程的main activity,添加以下代码至onCreate方法

plateformSDK = GWSDKKitPlateformCore.initGWPlateform(new GWSDKKitPlateformCallBackImplWrapper());
GWPlateformBusinessImplWrapper.setContext(this, plateformSDK);
GWPlatformCollectionsImplWrapper.setPlateform(plateformSDK, this);
ParamsContainer localParamsContainer = new ParamsContainer();
plateformSDK.LifeCycle.onInit(this, localParamsContainer);
GWPlatformJniHelper.nativeSetContext(this);

打开自己工程的main activity,添加生命周期函数

@Override
protectedvoid onResume() {    	
  super.onResume();    	
  if (plateformSDK != null) {
  plateformSDK.LifeCycle.onResume();
    }
  }    
  @Override
  protectedvoid onPause() {    
  super.onPause();    	
  if (plateformSDK != null) {
  plateformSDK.LifeCycle.onPause();
    }
  }    
  @Override
  protectedvoid onStop() {    
  super.onStop();    	
  if (plateformSDK != null) {
    plateformSDK.LifeCycle.onStop();
    	}
    }    
    @Override
    protectedvoid onDestroy() {    	
    super.onDestroy();    	
    if (plateformSDK != null) {
    plateformSDK.LifeCycle.onDestroy();
    	}
    }    
    @Override
    publicvoid onConfigurationChanged(
    Configuration newConfig) {    	
    super.onConfigurationChanged(newConfig);    	
    if (plateformSDK != null) {  
    plateformSDK.LifeCycle.onConfigurationChanged(newConfig);
    	}
    }    
    @Override
    protectedvoid onSaveInstanceState(
    Bundle outState) {    	
    super.onSaveInstanceState(outState);    	
    if (plateformSDK != null) {   
    plateformSDK.LifeCycle.onSaveInstanceState(outState);
    	}
    }

4.SDK接口调用说明

4.1 在启动lua的时候,import sdkkit.lua

4.2 修改sdkkit.lua在各个函数函数体内实现游戏相关逻辑

4.3 在c++代码启动lua虚拟机后传入luastate

#include "sdkkit.h"
-----------------------
initLuaFrame(L);

4.4 登录

sdkkit_login()

4.5 平台中心

sdkkit_kitCenter()

4.6 切换账号

sdkkit_switchAccount()

4.7 支付

--[[function sdkkit_pay(payAmount, dataTable)
payAmount 		        :所购买商品金额, 以元为单位
dataTable                       :中的键值对
payRate				:人民币与游戏充值币的默认比例
payProductNum		        :购买数量 
payOrderId			:订单号
payServerId			:区服ID 
payServerName		        :区服名
payGameLevel			:游戏等级
payRoleId           		:角色ID
payRoleLevel			:角色名
payRoleName			:角色等级
payUserId			:用户ID 
payUserName			:用户名
payBlance			:账户余额
extInfo				:扩展参数]]--
sdkkit_pay(1, {
    payRate="100", 
    payProductNum="1", 
    payOrderId="111111", 
    payServerId="1", 
    payServerName="xxxxx", 
    payGameLevel="111", 
    payRoleId="121212", 
    payRoleLevel="11", 
    payRoleName="222222", 
    payUserId="1123123123", 
    payUserName="ddddddddd", 
    payBlance="10", 
    extInfo="dandandandadn", 
})

4.8 用户中心

sdkkit_userCenter()

4.9 注销

sdkkit_logout()

4.10获取订单结果

 --  传入参数为订单号
sdkkit_getOrderInfo("11111")

4.11 隐藏/显示悬浮窗口(必接)

-- 传入true、false 控制显示
sdkkit_floatWindow(true)

4.12 退出游戏

sdkkit_exitGame()

5.统计相关接口

5.1 登录统计

--[[ function sdkkit_onLogin(userMark, userType, serverNo, roleServerName)
userMark		: 用户标识(必填)
userType		: 用户类型
serverNo 		: 服务器ID(网游必填)
roleServerName 	        : 服务器名称(网游必填) ]]--
sdkkit_onLogin("1", "2", "3", "4")

5.2 支付统计

--[[ function sdkkit_onPay(amount, serverNo, userMark, roleMark, orderNumber,  upgrade, productDesc,  roleName,
roleServerName)
amount			:金额
serverNo 		:服务器ID(网游必填)
userMark 		:用户标识
roleMark 		:角色唯一标识(必填)
orderNumber     	:订单号
upgrade 		:商品描述
productDesc		:玩家等级(网游必填)
roleName 		:角色昵称
roleServerName  	:服务器名称 ]]--    
sdkkit_onPay("1", "2", "2", "2", "2", "2", "2", "2", "2")

5.3 玩家升级统计

--[[function sdkkit_onUpgrade(userMark, serverNo,upgrade, roleId,  roleName, roleServerName)
userMark		:用户标识(必填)
serverNo 		:服务器ID(网游必填)
upgrade 		:玩家等级
roleId 			:角色ID
roleName 		:角色昵称
roleServerName	    	:服务器名称 ]]--    
sdkkit_onUpgrade("1", "2", "2", "2", "2", "2")

5.4 创建角色统计

--[[function sdkkit_onCreateRole(userMark, roleMark,serverNo, roleName)
userMark 	:用户标识(必填)
roleMark    	:角色唯一标识((网游必填)
serverNo    	:服务器ID(网游必填)
roleName 	:角色昵称 ]]--   
sdkkit_onCreateRole("1", "2", "2", "2")

5.5 按钮点击统计

--[[function sdkkit_onButtonClick(name, userMark)
name 		:点击按钮的说明
userMark 	:用户标识 ]]--   
sdkkit_onButtonClick("1", "2")

5.6 上传区服和角色信息

--[[function sdkkit_onServerRoleInfo(roleId, roleLevel,roleName, rolePartyName, roleVipLevel)
roleId 	        :角色ID
roleLevel 	:角色等级
roleName 	:角色名称
rolePartyName 	:角色工会名
roleVipLevel 	:角色vip等级 ]]--    
sdkkit_onServerRoleInfo("2", 1,"2", "2", "2")

6.技术支持

点击访问:快发助手开发者社区
QQ:940111913
Email:support@haojieru.com

为了尽快响应您的反馈,请提供您的gamekey及log中的详细出错日志,您所提供的内容越详细越有助于我们帮您解决问题。