Blame view

README.md 3.03 KB
b2aec417b   kingzh   initialize
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
  # UnionSDK for Android接入文档
  
  
  V6.0.4       
  2020年03月27日
  
  
  ## 版本概述
  
  此版本为使用AndroidStudio开发的版本,使用aar的方式提供sdk接入包,并使用gradle在线依赖方式,aar内别并不包含依赖包,请按此文档描述接入.
  
  此SDK适用android api>=16 的系统,编译器jdk8+.
  
  
  ## 1.依赖导入    
  配置gradle,以下为必须项    
  
      repositories{
          maven{
          	url "http://117.50.8.198:8081/nexus/content/repositories/sdk"
      	}
      }
  
      dependencies {
          implementation 'com.gt.union.sdk:GameSDK:6.0.4'
  
      }
  
      
  ## 2.向Gump平台索要游戏ID(AppID),完成代码接入     
  
  * ActionCallback为通用的异步回调接口,所有的异步方法都是用此接口做回调.
  此接口只有一个回调方法`onCallback(String event, Object... payload)`
  其中参数event为当前回调的事件类型,用于区别不同的方法回调;payload为不同的回调负载,包含回调时需要传输的数据
  
  
  
  #### 1.获取SDKAgent对象,并执行初始化配置。     
       
  
      SDKAgent.object(Activity,appId).channel(channelId);   
  
  
  #### 2.调用SDKAgent的登录方法,将执行登录流程,需要一个Activity实例作参数和一个ActionCallback对象做登录结果接收       
  
      sdkAgent.login(Activity,ActionCallback); 
  
      
  payload[0]为Boolean类型表示登录结果,成功登录后收到payload[1]为SessionKey对象,可以获取以下信息  
  
      sessionKey.getUid();//获取用户的userid,此Id标识唯一用户!  
      sessionKey.getToken();//当前session的token 
      sessionKey.getExpires();//sessionKey的过期时间,类型Date  
  
  #### 3.支付功能  
  
  支付分为google play 官方Iab支付和三方支付,情况有两种:1)根据云端配置调用不同的支付方法 2)自行构建逻辑调用不同的支付方法
  
  * 获取云端配置    
  
  `sdkAgent.judgePayment(Activity, serverId, roleId, ActionCallback);` 
  
  payload[0]为boolean类型,true时应使用三方支付,false应使用iab支付
  
  * 调用Google Play Iab支付     
  
  ```
      OrderForm order = new OrderForm()
      .setServerId(serverId)//游戏服id
      .setRoleId(roleId)//角色id
      .setExtraInfo("orderId")//订单号
      .setAmount(0.99f)//金额
      .setCurrency("USD")//货币
      .setProduct("gro.udc.mig.99");//商品id
      
      sdk.launchIap(MainActivity.this, order,ActionCallback);
  ```    
  
  payload[0]为boolean类型,标明支付是否完成;payload[1]为错误描述
  
      
  * 三方支付   
      
  ```    
      OrderForm order = new OrderForm()
      .setServerId(serverId)//游戏服id
      .setRoleId(roleId)//角色id
      .setExtraInfo("orderId")//订单号
      .setAmount(0.99f)//金额
      .setCurrency("USD")//货币
      .setProduct("gro.udc.mig.99");//商品id
  
      sdkAgent.goRecharge(MainActivity.this, order, ActionCallback);
  ```
  payload[0]为boolean类型,true支付完成,false支付异常
      
  #### 4.注销登录      
  
      sdkAgent.logout(ActionCallback);
  当此方法调用后,用户退出登录,为了便于用户切换登录账户,请在游戏内提供用户注销的触发按钮