游戏猫SDK接入 - Gamecat01/GameSDKDocument GitHub Wiki

游戏猫SDK1.0.4版本接入

开始的准备工作

引入游戏猫sdk库

Eclipse demo项目地址: https://github.com/Gamecat01/GameSDKDocument/tree/master/Eclipse/GameCatSDK

######eclipse导入

1.引入GameCatSDK库:将GameCatSDK项目里libs下的jar包的复制到自己项目对应的libs目录下

2.依赖GameCatSDK资源:将GameCatSDK项目里res下面的资源文件复制到自己项目对应的res目录下

3.请把linkea_arug.data复制到assets目录下

Android Studio项目地址: https://github.com/Gamecat01/GameSDKDocument/tree/master/Android%20Studio/GameCatSDK

######Android Studio导入

1.引入GameCatSDK库:将GameCatSDK项目里libs下的jar包的复制到自己项目对应的libs目录下

2.依赖GameCatSDK资源:将GameCatSDK项目里res下面的资源文件复制到自己项目对应的res目录下

3.请把linkea_arug.data复制到assets目录下

配置AndroidManifest.xml

配置权限

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
     <uses-permission android:name="android.permission.READ_SETTINGS"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

配置Activity

<!--游戏的activity声明-->

    <activity
            android:name="com.gamecat.pay.action.activity.GameCatActivity" 
            android:configChanges="orientation|keyboardHidden|navigation" 
            android:exported="false" 
            android:theme=="@android:style/Theme.Translucent" 
            android:screenOrientation="behind" >
        </activity>
    <activity
            android:name="com.gamecat.sdk.PayActivity" 
            android:configChanges="orientation|keyboardHidden|navigation" 
            android:exported="false" 
            android:theme=="@android:style/Theme.Translucent" 
            android:screenOrientation="behind" >
        </activity>

    <activity
            android:name="com.alipay.sdk.app.H5PayActivity" 
            android:configChanges="orientation|keyboardHidden|navigation" 
            android:exported="false" 
            android:screenOrientation="behind" >
        </activity>

        <activity
            android:name="com.alipay.sdk.auth.AuthActivity" 
            android:configChanges="orientation|keyboardHidden|navigation" 

            android:exported="false" 
            android:screenOrientation="behind" >
        </activity>



配置平台的GameCatAppKey(应用ID,我们会提供)和GameCatChlId(渠道号,我们会提供)

     <meta-data
            android:name="GameCatAppKey"  
            android:value="100001(我们提供)" />        

     <meta-data
            android:name="GameCatChlId"  
            android:value="101(我们提供)" />        


配置平台的数据统计(我们会提供)

<meta-data
            android:name="com.alibaba.app.appkey"  
            android:value=" 23460235(我们提供)" />        

<meta-data
            android:name="com.alibaba.app.appsecret"  
            android:value="16f03772f8b20ecc7099662ae7e28207(我们提供)" />      
          

在代码中接入SDK

环境切换

方法:GameCatSDK.setEnvironment(Activity activity,int environment,String AESKey) 初始化时必须调用方法

参数 类型 必填 说明 备注
activity Activity 游戏的活动中的activity
environment int 需要设置的环境 (0代表联调环境,1代表正式环境)
AESKey String 数据传输加密的秘钥 需要我们提供

例子

//联调环境
GameCatSDK.setEnvironment(activity, 0, "Ijh2OU4XH9Ydq7ap4x1Pow==");

账号登陆

需要登陆的时候调用这个方法(参数全部必填)

方法:GameCatSDK.Login(Activity activity ,String gameId ,final GameCatSDKListener listener);

参数 类型 必填 说明 备注
activity Activity 游戏的活动中的activity
gameId String 游戏的id platform+游戏名中文拼音+os(os 1:代表IOS,2:代表android), 如:haodong_shenyuhuanxiang_1
listener GameCatSDKListener 监听 成功会回调

返回值

登录成功返回值 说明 备注
openId 成功时的用户的唯一标识
token 鉴别用户是否成功登陆的秘钥
userName 用户的昵称
登录失败返回值 说明 备注
string 失败时返回错误原因

例子

返回的数据格式:
"code": "000",
"data": {
    "openId": "123456",
    "token": "asdfasd123123",
    "userId": "123123123123"
},
"message": "success"
}

GameCatSDK.Login(activity,gameId,new GameCatSDKListener() {
                @Override
                public void onSuccess(JSONObject message) {
                    try {
                         //取得用户的唯一标识进行游戏的登陆
                        String openId= message.getString("openId");
                        //秘钥
                        String token=message.getString("token");
                        //用户的昵称
                        String userName=message.getString("userName");

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                    listener.setText(message+"");

                }

                @Override
                public void onFail(String message) {
                    listener.setText(message+"");
                }
            });

支付订单

方法:支付的时候调用这个方法(参数全部必填)

GameCatSDK.Order(Activity activity,double amount, String cpDiscript, String codeNo, String notifyUrl,String extend,final GameCatSDKListener listener)
参数 类型 必填 说明 备注
activity Activity 当前活动的activity
amount double 金额 最高限额为99万,最低为1,必须为整数。(测试时可输入0.1,如果在支付环节使用喵点支付,可以提供手机号让我们充值)
disecription String 产品介绍
codeNo String 订单编号 用于对账跟发货凭证(必须唯一)
notifyUrl String 发货回调地址 通知游戏端发货的地址
extend String 游戏方的透传参数 传进什么我们都会按原数据返回,(建议用jsonString)
listener GameCatSDKListener 订单回调监听 成功失败都会回调codeNo,成功支付会服务器通知
注意:游戏和我们平台的对单是通过codeNo,所以请确保订单号唯一性。

###例子 返回的数据格式: { "codeNo": "11111", "message": "支付失败" }

 GameCatSDK.Order(activity,0.1,  "倚天剑", "123456", "http://               mock.youximao.cn/mockjsdata/11/sdk/notify","这是1区张无忌的订单",new GameCatSDKListener() {
                @Override
                public void onSuccess(JSONObject message) {
                 //json形式回调codeNo(如上)
                }

                @Override
                public void onFail(String message) {
                     //json形式回调codeNo(如上)
                }
            });

用户中心

用户中心的时候调用这个方法(参数全部必填)

 GameCatSDK.UserCenter(Activity activity,final GameCatSDKListener listener);
参数 类型 说明 备注
activity Activity 游戏的活动中的activity
listener GameCatSDKListener 监听 成功会回调

例子

	返回的数据
	{
 		"code": "002",
 		"data":“”,
 		"message": "登录token失效"
	}
      GameCatSDK.UserCenter(activity,new GameCatSDKListener() {
      
                @Override
                public void onSuccess(JSONObject message) {
							//登录成功
                }

                @Override
                public void onFail(String message) {
							//登录失败
                }
            });         

用户退出登录

用户因在操作过程中token失效或被系统拉黑名单操作回调,此方法游戏需要作退出到登录界面(参数全部必填,建议在初始化后就作出监听)

	GameCatSDK.sdkCancelListener(final GameCatSDKListener listener);
参数 说明 必填 备注
listener GameCatSDKListener 监听 成功会回调

例子

返回的数据
{
 "code": "002",
 "data":“”,
 "message": "登录token失效"
}

 GameCatSDK.sdkCancelListener(new GameCatSDKListener() {
        @Override
        public void onSuccess(final JSONObject message) {
            //登录失效或者例如支付发生登录token失效的时候会调用
        }

        @Override
        public void onFail(String message) {

        }
    });

更多数据请看demo:

https://github.com/Gamecat01/GameSDKDocument

咨询技术支持QQ:502780809

⚠️ **GitHub.com Fallback** ⚠️