|  |  |  | 
|---|
|  |  |  | package com.secondworld.univeralsdk; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import android.app.Activity; | 
|---|
|  |  |  | import android.content.Context; | 
|---|
|  |  |  | import android.content.SharedPreferences; | 
|---|
|  |  |  | import android.os.Bundle; | 
|---|
|  |  |  | import android.util.Log; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.snowfish.cn.ganga.helper.SFOnlineHelper; | 
|---|
|  |  |  | import com.snowfish.cn.ganga.helper.SFOnlineInitListener; | 
|---|
|  |  |  | 
|---|
|  |  |  | import org.json.JSONException; | 
|---|
|  |  |  | import org.json.JSONObject; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.io.BufferedReader; | 
|---|
|  |  |  | import java.io.IOException; | 
|---|
|  |  |  | import java.io.InputStreamReader; | 
|---|
|  |  |  | import java.io.UnsupportedEncodingException; | 
|---|
|  |  |  | import java.net.HttpURLConnection; | 
|---|
|  |  |  | import java.net.URL; | 
|---|
|  |  |  | import java.net.URLEncoder; | 
|---|
|  |  |  | import java.util.HashMap; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | USER = sfOnlineUser; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //根据回调获取用户信息 | 
|---|
|  |  |  | String userName = USER.getUserName(); | 
|---|
|  |  |  | String timestamp = USER.getToken(); | 
|---|
|  |  |  | String token = USER.getToken(); | 
|---|
|  |  |  | String userId = USER.getChannelUserId(); | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | JSONObject _info = new JSONObject(); | 
|---|
|  |  |  | _info.put("account", userName); | 
|---|
|  |  |  | _info.put("account", userId); | 
|---|
|  |  |  | _info.put("token", token); | 
|---|
|  |  |  | _info.put("timeStamp", timestamp); | 
|---|
|  |  |  | _info.put("account_id", userId); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void login(final Activity activity) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SFOnlineHelper.login(activity, "Login"); | 
|---|
|  |  |  | String _appid = UniversalUtil.getMetaString(activity, "yj_appid"); | 
|---|
|  |  |  | if (_appid.equals("yybgame")) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SharedPreferences _sp = activity.getPreferences(Context.MODE_PRIVATE); | 
|---|
|  |  |  | String _loginType = _sp.getString(StaticDefine.LS_KEY_TENCENT_LOGINPARAM, ""); | 
|---|
|  |  |  | if(_loginType.length() > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SFOnlineHelper.login(activity, _loginType); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SFOnlineHelper.login(activity, "Login"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void loginTencent(final Activity activity, String param) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SFOnlineHelper.login(activity, param); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SharedPreferences _sp = activity.getPreferences(Context.MODE_PRIVATE); | 
|---|
|  |  |  | SharedPreferences.Editor _editor = _sp.edit(); | 
|---|
|  |  |  | _editor.putString(StaticDefine.LS_KEY_TENCENT_LOGINPARAM, param); | 
|---|
|  |  |  | _editor.apply(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void logout(final Activity activity) | 
|---|
|  |  |  | 
|---|
|  |  |  | SFOnlineHelper.logout(activity, "LoginOut"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void pay(final Activity activity, String productName, String productID, float price, | 
|---|
|  |  |  | public void charge(final Activity activity, String productName, float price, String extData) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SFOnlineHelper.charge(activity, | 
|---|
|  |  |  | productName, | 
|---|
|  |  |  | (int) (price * 100), | 
|---|
|  |  |  | 1, extData, | 
|---|
|  |  |  | PAY_CALLBACK_URL, | 
|---|
|  |  |  | new SFOnlinePayResultListener() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void onFailed(String s) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | m_Message.clear(); | 
|---|
|  |  |  | //根据回调获取支付订单信息 | 
|---|
|  |  |  | LogUtil.i(TAG, "Pay Fail Info: " + s); | 
|---|
|  |  |  | m_Message.put("code", CodeA2U.FreePlatformPayFail); | 
|---|
|  |  |  | UniversalUtil.sendMessageToUnity(m_Message); | 
|---|
|  |  |  | payProcessing = false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void onSuccess(String s) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | m_Message.clear(); | 
|---|
|  |  |  | //根据回调获取支付订单信息 | 
|---|
|  |  |  | LogUtil.i(TAG, "Pay Success Info: " + s); | 
|---|
|  |  |  | m_Message.put("code", CodeA2U.FreePlatformPayOk); | 
|---|
|  |  |  | UniversalUtil.sendMessageToUnity(m_Message); | 
|---|
|  |  |  | payProcessing = false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void onOderNo(String s) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | LogUtil.i(TAG, "Pay Order No: " + s); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | payProcessing = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void payExtend(final Activity activity, | 
|---|
|  |  |  | String productName, | 
|---|
|  |  |  | String productID, | 
|---|
|  |  |  | float price, | 
|---|
|  |  |  | String extData) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SFOnlineHelper.payExtend(activity, (int) (price * 100), | 
|---|
|  |  |  | productName, productID, extData, 1, "", PAY_CALLBACK_URL, | 
|---|
|  |  |  | new SFOnlinePayResultListener() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void onFailed(String s) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | m_Message.clear(); | 
|---|
|  |  |  | //根据回调获取支付订单信息 | 
|---|
|  |  |  | LogUtil.i(TAG, "Pay Fail Info: " + s); | 
|---|
|  |  |  | m_Message.put("code", CodeA2U.FreePlatformPayFail); | 
|---|
|  |  |  | UniversalUtil.sendMessageToUnity(m_Message); | 
|---|
|  |  |  | payProcessing = false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void onSuccess(String s) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | m_Message.clear(); | 
|---|
|  |  |  | //根据回调获取支付订单信息 | 
|---|
|  |  |  | LogUtil.i(TAG, "Pay Success Info: " + s); | 
|---|
|  |  |  | m_Message.put("code", CodeA2U.FreePlatformPayOk); | 
|---|
|  |  |  | UniversalUtil.sendMessageToUnity(m_Message); | 
|---|
|  |  |  | payProcessing = false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void onOderNo(String s) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | LogUtil.i(TAG, "Pay Order No: " + s); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | payProcessing = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void pay(final Activity activity, | 
|---|
|  |  |  | String productName, | 
|---|
|  |  |  | String productID, | 
|---|
|  |  |  | float price, | 
|---|
|  |  |  | String extData) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SFOnlineHelper.pay(activity, | 
|---|
|  |  |  | 
|---|
|  |  |  | String roleLevel, | 
|---|
|  |  |  | String FamilyName, | 
|---|
|  |  |  | String createTime, | 
|---|
|  |  |  | String levelUpTime, | 
|---|
|  |  |  | String vipLevel, | 
|---|
|  |  |  | String surplusMoney) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SFOnlineHelper.setRoleData(activity, roleID, roleName, roleLevel, serverID, serverName); | 
|---|
|  |  |  | SFOnlineHelper.setRoleData(activity, roleID, roleName, roleLevel, "1", "默认分区"); | 
|---|
|  |  |  | String _info = createGameData(serverID, serverName, roleID, roleName, roleLevel, FamilyName, | 
|---|
|  |  |  | createTime, levelUpTime, vipLevel, surplusMoney); | 
|---|
|  |  |  | createTime, "", vipLevel, surplusMoney); | 
|---|
|  |  |  | SFOnlineHelper.setData(activity, "createrole", _info); //  创建新角色时调用       必接 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | String roleName, | 
|---|
|  |  |  | String roleLevel, | 
|---|
|  |  |  | String FamilyName, | 
|---|
|  |  |  | String createTime, | 
|---|
|  |  |  | String levelUpTime, | 
|---|
|  |  |  | String vipLevel, | 
|---|
|  |  |  | String surplusMoney) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SFOnlineHelper.setRoleData(activity, roleID, roleName, roleLevel, "1", "默认分区"); | 
|---|
|  |  |  | String _info = createGameData(serverID, serverName, roleID, roleName, roleLevel, FamilyName, | 
|---|
|  |  |  | createTime, levelUpTime, vipLevel, surplusMoney); | 
|---|
|  |  |  | "", "", vipLevel, surplusMoney); | 
|---|
|  |  |  | SFOnlineHelper.setData(activity, "enterServer", _info); //  创建新角色时调用       必接 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | roleInfo.put("balance", surplusMoney);   //用户游戏币余额,必须为数字,若无,传入0 | 
|---|
|  |  |  | roleInfo.put("vip", vipLevel);            //当前用户VIP等级,必须为数字,若无,传入1 | 
|---|
|  |  |  | roleInfo.put("partyName", FamilyName);//当前角色所属帮派,不能为空,不能为null,若无,传入“无帮派” | 
|---|
|  |  |  | roleInfo.put("roleCTime", createTime);     //单位为秒,创建角色的时间 | 
|---|
|  |  |  | roleInfo.put("roleLevelMTime", levelUpTime);    //单位为秒,角色等级变化时间 | 
|---|
|  |  |  | if (createTime.length() > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | roleInfo.put("roleCTime", createTime);     //单位为秒,创建角色的时间 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (levelUpTime.length() > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | roleInfo.put("roleLevelMTime", levelUpTime);    //单位为秒,角色等级变化时间 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return roleInfo.toString(); | 
|---|
|  |  |  | } catch (JSONException ex) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void SendRegisterEvent() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|