话不多说,接入如下:

添加压缩包下lib下的 LeYouSDK.aar

1.application中的 onCreate 方法调用

CandySdk.getInstance().applicationStart(Application application,String appsFlyKey);
  • 参数说明
参数序号 参数说明
Application application实例
String appsFlyer申请的key
  • 调用事例
    CandySdk.getInstance().applicationStart(this,"xxx");

2.初始化

CandySdk.getInstance().init(Activity activity, CandySdkParams params, CandySdkCallBack callBack,CandyEventCallBack eventCallBack);
  • 参数说明
参数序号 参数说明
Activity 上下文
CandySdkParams 初始化所需要的参数,详解如下
CandySdkCallBack sdk回调,详解见附录
CandyEventCallBack sdk上报给公共后台的事件回调,此参数为重载参数,不需要可以不用
  • CandySdkParams参数说明
参数序号 参数说明
appId 运营给的参数
appKey 运营给的参数
styleName 样式,运营给的参数
serverUrl 请求头地址,后台给
isUseArea 跟运营商量是否使用地区功能,true 使用 false 不使用
  • 调用事例
    CandySdkParams params = new CandySdkParams();
    params.setAppId("5ffd3ed2b6ee064e678d4a67");
    params.setAppKey("5e77406f4e0710735f7795ec46550009");
    params.setStyleName("sdk1_0_0");
    params.setServerUrl("https://sdk.hahplatform.com");
    params.setUseArea(true);
    CandySdk.getInstance().init(this, params, new CandySdkCallBack() {
              @Override
              public void callback(int code, Object result) {
                  switch (code){
              case CandySdkCallBack.INIT_SUCCESS:
                  //初始化成功
                  break;
              case CandySdkCallBack.INIT_FAIL:
                  //初始化失败
                  break;
              case CandySdkCallBack.LOGIN_SUCCESS:
                  //登录成功
                  CandyUserInfo userInfo = (CandyUserInfo) result;
                  break;
              case CandySdkCallBack.QUERY_WITH_PRODUCTS_SUCCESS:
                  //查询google后台商品成功
                  break;
              case CandySdkCallBack.SWITCH_ACCOUNT_SUCCESS:
                  //切换账号成功
                  break;
              case CandySdkCallBack.AREA_DATA_CALLBACK:
                  //切换区域回调
                  break;
              case CandySdkCallBack.LOGIN_FAIL:
                  //登录失败
                  break;
              default:
                  //默认不处理
                  break;
          }
              }
          }, new CandyEventCallBack() {
              @Override
              public void eventReport(String eventType, String msg, long timeInterval) {
                  //公共事件上报回调,可不处理此回调
                  //eventType 事件类型
                  //msg 事件信息
                  //timeInterval 事件消耗时间
              }
          });

3.登录

CandySdk.getInstance().login(this);

4.支付

CandySdk.getInstance().pay(Activity activity, CandyPayInfo payInfo);
  • 参数说明
参数序号 参数说明
Activity 上下文
CandyPayInfo 支付所需要的参数,详解如下
  • CandyPayInfo参数说明
参数序号 参数说明
amount 金额
productId 内购id
roleId 角色id
roleName 角色名
serverId 区服id
serverName 区服名称
custom 自定义参数
cpOrderId 游戏的订单号
queryId 公共生成的订单号
exChange 比率
productIds 内购的所有商品id的集合,字符串数组
  • 调用事例
    CandyPayInfo payInfo = new CandyPayInfo();
    payInfo.setProductId("1");
    payInfo.setCpOrderId(System.currentTimeMillis()+"");
    payInfo.setCustom("5286522f2dsfds");
    payInfo.setRoleId("1234232");
    payInfo.setRoleName("first time");
    payInfo.setServerId("16");
    payInfo.setServerName("test server");
    payInfo.setAmount("10");
    payInfo.setExChange(10);
    CandySdk.getInstance().pay(MainActivity.this, payInfo);

5.查询商品信息

CandySdk.getInstance().querySkuDetailsAsync(要查询的商品id集合);
  • 调用事例
    List<String> list = new ArrayList<>();            
    list.add("1");                                    
    list.add("2");                                    
    list.add("3");                                    
    CandySdk.getInstance().querySkuDetailsAsync(list);

6.提交角色信息(玩家进入游戏的时候传)

CandySdk.getInstance().enterGame(Activity activity,CandyRoleInfo roleInfo);
  • 参数说明
参数序号 参数说明
Activity 上下文
CandyRoleInfo 提交角色信息所需要的参数,详解如下
  • CandyRoleInfo参数说明
参数序号 参数说明
serverId 区服id
serverName 区服名称
roleId 角色id
roleName 角色名
  • 调用事例
    CandyRoleInfo roleInfo = new CandyRoleInfo();
    roleInfo.setRoleId("角色id");
    roleInfo.setRoleName("角色名字");
    roleInfo.setServerId("服务器id");
    roleInfo.setServerName("服务器名字");
    CandySdk.getInstance().enterGame(paramActivity, roleInfo);

7.打开个人中心

CandySdk.getInstance().openUserCenter(Activity activity);
  • 参数说明
参数序号 参数说明
Activity 上下文
  • 调用事例
    CandySdk.getInstance().openUserCenter(this);

8.打开悬浮窗

CandySdk.getInstance().showFloatView(Activity activity);
CandySdk.getInstance().setFloatViewDefaultXY(int x , int y);//设置悬浮窗默认位置
  • 参数说明
参数序号 参数说明
Activity 上下文
  • 调用事例
    CandySdk.getInstance().showFloatView(this);
    CandySdk.getInstance().setFloatViewDefaultXY(0,150);

9.关闭悬浮窗

CandySdk.getInstance().hideFloatView();

10.onDestroy生命周期

CandySdk.getInstance().hideFloatView();
CandySdk.getInstance().onDestroySdk();

11.onActivityResult

CandySdk.getInstance().onActivityResult(int requestCode, int resultCode, Intent data);
  • 参数说明
参数序号 参数说明
requestCode 请求码
resultCode 返回码
data 返回意图
  • 调用事例
    CandySdk.getInstance().onActivityResult(0, 0, data);

12.区域地址获取接口(选接)

String gameAreaUrl = CandySdk.getInstance().getGameAreaUrl();



附录

  • CandySdkCallBack回调的code说明
code 参数说明
200 初始化成功
201 登录成功
202 支付成功
203 查询google内购商品成功
204 切换账号
205 facebook分享成功
100 初始化失败
103 支付失败
104 支付取消
105 查询google内购商品失败
106 facebook分享失败
401 区域选择结果回调
文档更新时间: 2023-06-16 14:57   作者:李志辉