package com.secondworld.univeralsdk;
|
|
import android.app.Activity;
|
|
import com.linglei.sdk.openapi.LLSDK;
|
import com.linglei.sdklib.open.ILLSDKCallback;
|
import com.linglei.sdklib.open.ILLSDKInitCallback;
|
import com.linglei.sdklib.open.reqinfo.OrderReq;
|
import com.linglei.sdklib.open.reqinfo.RoleInfoReq;
|
import com.linglei.sdklib.open.respinfo.UserResp;
|
|
import org.json.JSONException;
|
import org.json.JSONObject;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* Created by Administrator on 2018/9/3 0003.
|
*/
|
|
public class JSPlatformUtil
|
{
|
private static final String TAG = "JSPlatformUtil";
|
|
private boolean m_Init = false;
|
|
private static JSPlatformUtil s_Instance;
|
|
public static JSPlatformUtil getInstance()
|
{
|
if (s_Instance == null)
|
{
|
s_Instance = new JSPlatformUtil();
|
}
|
return s_Instance;
|
}
|
|
public boolean payProcessing = false;
|
|
private Map<String, Object> m_Message = new HashMap<>();
|
|
public void init(final Activity activity)
|
{
|
if (m_Init)
|
{
|
return;
|
}
|
|
LLSDK.getInstance().initSDK(activity, new ILLSDKInitCallback()
|
{
|
@Override
|
public void onInitResponse(int i, String s)
|
{
|
m_Message.clear();
|
if (i == 1)
|
{
|
m_Init = true;
|
m_Message.put("code", CodeA2U.FreePlatformInitOk);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
}
|
else
|
{
|
m_Message.clear();
|
m_Message.put("code", CodeA2U.FreePlatformInitFail);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
}
|
}
|
});
|
|
LLSDK.getInstance().setLLSDKCallback(sdkCallback);
|
}
|
|
public void login(Activity activity)
|
{
|
LLSDK.getInstance().login(activity);
|
}
|
|
public void logout(final Activity activity)
|
{
|
LLSDK.getInstance().switchAccount();
|
}
|
|
public void pay(final Activity activity,
|
String orderID,
|
int amount,
|
String title,
|
String extraData)
|
{
|
OrderReq orderReq = new OrderReq(orderID, amount, title, extraData);
|
LLSDK.getInstance().pay(activity, orderReq);
|
}
|
|
public void enterWorld(final Activity activity,
|
String roleID,
|
String serverID,
|
String roleName,
|
String roleLevel,
|
String roleVipLevel,
|
String gold)
|
{
|
// 登录成功后请设置角色信息
|
// 参数依次为 游戏币当前余额、角色的等级、用户vip等级、角色唯一标识、角色名、所在区服
|
RoleInfoReq roleInfoReq = new RoleInfoReq(Integer.parseInt(gold), Integer.parseInt(roleLevel), Integer.parseInt(roleVipLevel), roleID, roleName, serverID);
|
LLSDK.getInstance().setRoleData(roleInfoReq);
|
}
|
|
private ILLSDKCallback sdkCallback = new ILLSDKCallback()
|
{
|
@Override
|
public void onLoginSuccess(UserResp userResp)
|
{
|
LogUtil.e(TAG, "登录成功");
|
|
// 成功回调UserResp类
|
// UserResp字段:
|
// uid 用户唯一标识
|
// token cp服务器校验值
|
// uid和token信息也可以在登录成功后调用LLSDK.getInstance().getAuth()来获取(务必做非空判断)
|
|
try
|
{
|
m_Message.clear();
|
JSONObject _info = new JSONObject();
|
_info.put("account", userResp.getUid());
|
_info.put("token", userResp.getToken());
|
_info.put("account_id", userResp.getUid());
|
m_Message.put("code", CodeA2U.FreePlatformLoginOk);
|
m_Message.put("info", _info);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
} catch (JSONException e)
|
{
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void onLoginFailure(int errorCode, String errorMsg)
|
{
|
LogUtil.e(TAG, "登录失败" + errorCode + " " + errorMsg);
|
m_Message.clear();
|
m_Message.put("code", CodeA2U.FreePlatformLoginFail);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
}
|
|
@Override
|
public void onLogout()
|
{
|
// 表示用户已登出, 切换账号接口会走这个回调,游戏收到此消息通常情况下,需要主动调用登录接口
|
m_Message.clear();
|
m_Message.put("code", CodeA2U.FreePlatformLogoutOk);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
}
|
|
@Override
|
public void onPayResponse()
|
{
|
// 此方法回调只能说明支付操作完毕,具体是否支付成功以接入方服务端为准
|
m_Message.clear();
|
m_Message.put("code", CodeA2U.FreePlatformPayOk);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
payProcessing = false;
|
}
|
|
@Override
|
public void onPayFailure(int errorCode, String errorMsg)
|
{
|
m_Message.clear();
|
m_Message.put("code", CodeA2U.FreePlatformPayFail);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
payProcessing = false;
|
}
|
};
|
|
public void SendRegisterEvent()
|
{
|
}
|
}
|