package com.secondworld.univeralsdk;
|
|
import android.app.Activity;
|
import android.content.res.Configuration;
|
|
import com.xiaoniu.enter.XNSDK;
|
import com.xiaoniu.enter.bean.InitParam;
|
import com.xiaoniu.enter.bean.PayParams;
|
import com.xiaoniu.enter.bean.PayResult;
|
import com.xiaoniu.enter.im.IXNSDKInitListener;
|
import com.xiaoniu.enter.im.IXNSDKPayListener;
|
import com.xiaoniu.enter.im.IXNSDKUserListener;
|
import com.xiaoniu.enter.provider.DataProbeProvider;
|
|
import org.json.JSONException;
|
import org.json.JSONObject;
|
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.Map;
|
import java.util.TreeMap;
|
|
/**
|
* Created by Administrator on 2018/9/3 0003.
|
*/
|
|
public class XNPlatformUtil
|
{
|
private static final String TAG = "XNPlatformUtil";
|
|
private boolean m_Init = false;
|
|
private static XNPlatformUtil s_Instance;
|
|
public static XNPlatformUtil getInstance()
|
{
|
if (s_Instance == null)
|
{
|
s_Instance = new XNPlatformUtil();
|
}
|
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;
|
}
|
|
XNSDK.getInstance().setIXNSDKInitListener(new IXNSDKInitListener()
|
{
|
@Override
|
public void onInitSuccess()
|
{
|
m_Init = true;
|
m_Message.put("code", CodeA2U.FreePlatformInitOk);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
}
|
|
@Override
|
public void onInitFail(String msg)
|
{
|
//初始化失败 msg 错误信息
|
m_Message.clear();
|
m_Message.put("code", CodeA2U.FreePlatformInitFail);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
}
|
});
|
|
XNSDK.getInstance().setSDKUserListener(new IXNSDKUserListener()
|
{
|
@Override
|
public void onLoginFail(String code, String msg)
|
{
|
LogUtil.e(TAG, "登录失败" + code + " " + msg);
|
m_Message.clear();
|
m_Message.put("code", CodeA2U.FreePlatformLoginFail);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
}
|
|
@Override
|
public void onLoginSuccess(String uuid, String sessionId)
|
{
|
//登录成功 uuid:用户id,msg:校验id
|
try
|
{
|
m_Message.clear();
|
JSONObject _info = new JSONObject();
|
_info.put("account", uuid);
|
_info.put("token", sessionId);
|
_info.put("account_id", uuid);
|
m_Message.put("code", CodeA2U.FreePlatformLoginOk);
|
m_Message.put("info", _info);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
} catch (JSONException e)
|
{
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public void onLogout()
|
{
|
//退出登录( 如果需要唤起登陆调用此方法) 也就是注销登录的回调 只会弹登录框不会自动登录
|
m_Message.clear();
|
m_Message.put("code", CodeA2U.FreePlatformLogoutOk);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
|
XNSDK.getInstance().login(false);
|
}
|
});
|
|
XNSDK.getInstance().setSDKPayListener(new IXNSDKPayListener()
|
{
|
@Override
|
public void onPaySuccess(PayResult payResult)
|
{
|
//支付成功
|
payResult.getOrderId();//订单id
|
payResult.getProdCode();//商品编码
|
payResult.getProdName();//商品名称
|
|
m_Message.clear();
|
m_Message.put("code", CodeA2U.FreePlatformPayOk);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
payProcessing = false;
|
}
|
|
@Override
|
public void onPayFail(String code, String msg)
|
{
|
//code:支付失败错误码,msg:支付失败错误信息
|
m_Message.clear();
|
m_Message.put("code", CodeA2U.FreePlatformPayFail);
|
UniversalUtil.sendMessageToUnity(m_Message);
|
payProcessing = false;
|
}
|
});
|
|
|
InitParam initParam = new InitParam(
|
"34aee53ae588421a91f7eb297689b1f0",//应用ID
|
"少年修仙",//游戏名称
|
"0ca9e17f7a6d45e58aa7d2755d0f16c2",//应用KEY
|
"1.3.3",//游戏版本
|
"f93e467aa05acc0266ab844cce9321b0",//热云key
|
Configuration.ORIENTATION_LANDSCAPE,//游戏activity方向
|
157294);//头条sdK需要的sdk
|
|
com.xiaoniu.enter.XNSDK.getInstance().init(activity, initParam, true);
|
}
|
|
public void login(Activity activity)
|
{
|
com.xiaoniu.enter.XNSDK.getInstance().login(true);
|
}
|
|
public void logout(final Activity activity)
|
{
|
com.xiaoniu.enter.XNSDK.getInstance().logout();
|
}
|
|
public void pay(final Activity activity,
|
String orderID,
|
float amount,
|
String title,
|
String productID,
|
String extraData,
|
String roleLevel,
|
String roleId,
|
String roleName,
|
String serverName,
|
String cpSign)
|
{
|
PayParams payParams = new PayParams();// [必传]
|
payParams.setProdName(title);//商品名称 [必传]
|
payParams.setProdCode(productID);//商品编码 [必传]
|
payParams.setProdNum(1);//商品数量 [必传]
|
payParams.setProdPrice(String.valueOf(amount));//商品单价 元 [必传]
|
payParams.setPayFee(String.valueOf(amount));//订单总金额 元 [必传]
|
payParams.setPayNotifyUrl("http://...");//支付回调URL [必传]
|
payParams.setCpOrderId(orderID);//游戏开发商订单ID [必传]
|
payParams.setRoleLevel(roleLevel);//用户的游戏等级 [必传]
|
payParams.setRoleId(roleId);//用户游戏角色ID [必传]
|
payParams.setRoleName(roleName);//用户游戏角色名称 [必传]
|
payParams.setServerName(serverName);//区服 [必传]
|
payParams.setTimeStamp(new Date().getTime() + "");//调用接口时的时间戳 13位毫秒数 [必传]
|
payParams.setExtraData(extraData);//透传参数 [非必传]
|
|
XNSDK.getInstance().pay(activity, payParams, cpSign);
|
}
|
|
public void enterWorld(final Activity activity,
|
String roleID,
|
String roleName,
|
String serverName,
|
String roleLevel)
|
{
|
DataProbeProvider.getInstance().startGame(activity, roleID, roleName, serverName,
|
roleLevel);
|
}
|
|
public void createRole(final Activity activity,
|
String roleID,
|
String roleName,
|
String serverName,
|
String roleLevel)
|
{
|
DataProbeProvider.getInstance().createRole(activity, roleID, roleName, serverName,
|
roleLevel);
|
}
|
|
public void levelUp(final Activity activity,
|
String roleID,
|
String roleName,
|
String serverName,
|
String roleLevel)
|
{
|
DataProbeProvider.getInstance().userUpLevel(activity, roleID, roleName, serverName,
|
roleLevel);
|
}
|
|
public void SendRegisterEvent()
|
{
|
}
|
}
|