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() 
 | 
    { 
 | 
    } 
 | 
} 
 |