package com.secondworld.universalsdk;
|
|
import android.Manifest;
|
import android.app.Activity;
|
import android.app.AlertDialog;
|
import android.content.ClipData;
|
import android.content.ClipboardManager;
|
import android.content.Context;
|
import android.content.DialogInterface;
|
import android.content.Intent;
|
import android.content.pm.PackageManager;
|
import android.content.res.Configuration;
|
import android.net.Uri;
|
import android.os.Build;
|
import android.os.Bundle;
|
import android.os.Environment;
|
import android.provider.Settings;
|
import android.support.v4.app.ActivityCompat;
|
import android.support.v4.content.ContextCompat;
|
import android.support.v4.content.FileProvider;
|
import android.text.method.QwertyKeyListener;
|
import android.util.Log;
|
import android.widget.Toast;
|
|
import com.quicksdk.QuickSDK;
|
import com.quicksdk.Sdk;
|
import com.quicksdk.User;
|
import com.quicksdk.entity.GameRoleInfo;
|
import com.quicksdk.entity.OrderInfo;
|
import com.quicksdk.Payment;
|
import com.secondworld.univeralsdk.R;
|
import com.unity3d.player.UnityPlayer;
|
|
import org.json.JSONException;
|
import org.json.JSONObject;
|
|
import java.io.File;
|
import java.io.UnsupportedEncodingException;
|
import java.net.URLEncoder;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import cn.jpush.android.api.JPushInterface;
|
import cn.jpush.android.data.JPushLocalNotification;
|
|
public class H2EngineSDK
|
{
|
private static final String TAG = "H2EngineSDK";
|
private static String APP_ID = "";
|
private static boolean PushEnable = false;
|
|
public static void HandleUnityMessage(String json)
|
{
|
LogUtil.i(TAG, "收到Unity发来的信息: " + json);
|
Activity _activity = UnityPlayer.currentActivity;
|
try
|
{
|
JSONObject _json = new JSONObject(json);
|
int _code = _json.getInt("code");
|
|
switch (_code)
|
{
|
case CodeU2A.Init:
|
APP_ID = _json.getString("appID");
|
init(_activity);
|
break;
|
case CodeU2A.CopyOneAsset:
|
FileUtil.copy(_activity, _json.getString("fileName"));
|
break;
|
case CodeU2A.AssetCopy:
|
FileUtil.copyAssets(_activity);
|
break;
|
case CodeU2A.BatteryListenStart:
|
BatteryUtil.getInstance().start(_activity);
|
break;
|
case CodeU2A.BatteryListenStop:
|
BatteryUtil.getInstance().stop(_activity);
|
break;
|
case CodeU2A.UniqueID:
|
break;
|
case CodeU2A.CopyContent:
|
CopyContent(_activity, _json.getString("content"));
|
break;
|
case CodeU2A.OpenWebView:
|
WebViewUtil.OpenWebView(_activity, _json.getString("url"));
|
break;
|
case CodeU2A.RestartApp:
|
RestartApp(_activity);
|
break;
|
case CodeU2A.InstallAPK:
|
InstallApp(_activity, _json.getString("path"));
|
break;
|
case CodeU2A.ExteneralStorage:
|
GetExternalStorage();
|
break;
|
case CodeU2A.RequestPermission:
|
break;
|
case CodeU2A.RequestManifestPermissions:
|
break;
|
case CodeU2A.FreePlatformInit:
|
break;
|
case CodeU2A.FreePlatformLogin:
|
//QuickPlatformUtil.getInstance().login(_activity);
|
LoginEx(_activity);
|
break;
|
case CodeU2A.FreePlatformSwitchAccount:
|
break;
|
case CodeU2A.FreePlatformLogout:
|
//QuickPlatformUtil.getInstance().logout(_activity);
|
LogoutEx(_activity);
|
break;
|
case CodeU2A.FreePlatformPay:
|
|
JSONObject _extraData = new JSONObject();
|
String _appid = com.quicksdk.Extend.getInstance().getExtrasConfig("zfappid");
|
if (_appid == "")
|
{
|
//没有打包的自定义参数则取配置表
|
_appid = APP_ID;
|
}
|
_extraData.put("appid", _appid);
|
_extraData.put("cpinfo", _json.getString("cpInfo"));
|
_extraData.put("cporderid", _json.getString("orderId"));
|
try
|
{
|
// YJPlatformUtil.getInstance().payExtend(_activity,
|
// _json.getString("title"),
|
// _json.getString("cpInfo"),
|
// (float) _json.getDouble("mount"),
|
// URLEncoder.encode(_extraData.toString(),
|
// "utf-8"));
|
// if (_yjAppID.contains("mzgame")
|
// || _yjAppID.contains("ucgame")
|
// || _yjAppID.contains("yybgame"))
|
// {
|
// QuickPlatformUtil.getInstance().pay(_activity,
|
// _json.getString("title"),
|
// _json.getString("cpInfo"),
|
// (float) _json.getDouble("mount"),
|
// URLEncoder.encode(
|
// _extraData.toString(),
|
// "utf-8"));
|
// }
|
// else
|
// {
|
// QuickPlatformUtil.getInstance().charge(_activity,
|
// _json.getString("title"),
|
// (float) _json.getDouble("mount"),
|
// URLEncoder.encode(
|
// _extraData.toString(),
|
// "utf-8"));
|
// }
|
|
GameRoleInfo roleInfo3 = new GameRoleInfo();
|
roleInfo3.setServerID(_json.getString("sid"));
|
roleInfo3.setServerName(_json.getString("serverName"));
|
roleInfo3.setGameRoleName(_json.getString("roleName").trim().replace(" ", ""));
|
roleInfo3.setGameRoleID(_json.getString("roleID"));
|
roleInfo3.setGameBalance(_json.getString("money"));
|
roleInfo3.setVipLevel(_json.getString("vipLevel")); //设置当前用户vip等级,必须为数字整型字符串,请勿传"vip1"等类似字符串
|
roleInfo3.setGameUserLevel(_json.getString("level"));//设置游戏角色等级
|
roleInfo3.setPartyName(_json.getString("familyName").trim().replace(" ", ""));//设置帮派名称
|
roleInfo3.setRoleCreateTime(_json.getString("createTime")); //UC,当乐与1881,TT渠道必传,值为10位数时间戳
|
|
roleInfo3.setPartyId("1100"); //360渠道参数,设置帮派id,必须为整型字符串
|
roleInfo3.setGameRolePower("38"); //360,TT语音渠道参数,设置角色战力,必须为整型字符串
|
roleInfo3.setPartyRoleId("11"); //360渠道参数,设置角色在帮派中的id
|
roleInfo3.setPartyRoleName("帮主"); //360渠道参数,设置角色在帮派中的名称
|
roleInfo3.setProfessionId("38"); //360渠道参数,设置角色职业id,必须为整型字符串
|
roleInfo3.setProfession("法师"); //360渠道参数,设置角色职业名称
|
roleInfo3.setFriendlist(
|
"无"); //360渠道参数,设置好友关系列表,格式请参考:http://open.quicksdk.net/help/detail/aid/190
|
OrderInfo orderInfo = new OrderInfo();
|
orderInfo.setCpOrderID(_json.getString("orderId"));
|
orderInfo.setGoodsName(_json.getString("title"));//商品名称,不带数量
|
orderInfo.setCount(1);//游戏币数量
|
orderInfo.setAmount((float) _json.getDouble("mount"));
|
orderInfo.setGoodsID(_json.getString("cpInfo"));
|
orderInfo.setGoodsDesc(_json.getString("title"));
|
//orderInfo.setPrice(0.1);
|
orderInfo.setExtrasParams(
|
URLEncoder.encode(_extraData.toString(), "utf-8"));
|
Payment.getInstance().pay(_activity, orderInfo, roleInfo3);
|
|
} catch (UnsupportedEncodingException e)
|
{
|
e.printStackTrace();
|
}
|
|
break;
|
case CodeU2A.PayFinished:
|
QuickPlatformUtil.getInstance().payProcessing = false;
|
break;
|
case CodeU2A.CreateRole:
|
GameRoleInfo roleInfo = new GameRoleInfo();
|
roleInfo.setServerID(_json.getString("sid"));
|
roleInfo.setServerName(_json.getString("serverName"));
|
roleInfo.setGameRoleName(_json.getString("roleName").trim().replace(" ", ""));
|
roleInfo.setGameRoleID(_json.getString("roleID"));
|
roleInfo.setGameBalance(_json.getString("money"));
|
roleInfo.setVipLevel(
|
_json.getString("vipLevel")); //设置当前用户vip等级,必须为数字整型字符串,请勿传"vip1"等类似字符串
|
roleInfo.setGameUserLevel(_json.getString("level"));//设置游戏角色等级
|
roleInfo.setPartyName(_json.getString("familyName").trim().replace(" ",
|
""));//设置帮派名称
|
roleInfo.setRoleCreateTime(
|
_json.getString("createTime")); //UC,当乐与1881,TT渠道必传,值为10位数时间戳
|
|
roleInfo.setPartyId("1100"); //360渠道参数,设置帮派id,必须为整型字符串
|
roleInfo.setGameRolePower("38"); //360,TT语音渠道参数,设置角色战力,必须为整型字符串
|
roleInfo.setPartyRoleId("11"); //360渠道参数,设置角色在帮派中的id
|
roleInfo.setPartyRoleName("帮主"); //360渠道参数,设置角色在帮派中的名称
|
roleInfo.setProfessionId("38"); //360渠道参数,设置角色职业id,必须为整型字符串
|
roleInfo.setProfession("法师"); //360渠道参数,设置角色职业名称
|
roleInfo.setFriendlist(
|
"无"); //360渠道参数,设置好友关系列表,格式请参考:http://open.quicksdk.net/help/detail/aid/190
|
//User.getInstance().setGameRoleInfo(_activity, roleInfo, true);
|
SetRoleInfoEx(_activity, roleInfo, true);
|
// QuickPlatformUtil.getInstance().createRole(_activity,
|
// _json.getString("sid"),
|
// _json.getString("serverName"),
|
// _json.getString("roleID"),
|
// _json.getString("roleName").trim()
|
// .replace(" ", ""),
|
// _json.getString("level"),
|
// _json.getString("familyName").trim()
|
// .replace(" ", ""),
|
// _json.getString("createTime"),
|
// _json.getString("vipLevel"),
|
// _json.getString("money"));
|
break;
|
case CodeU2A.RoleLogin:
|
GameRoleInfo roleInfo1 = new GameRoleInfo();
|
roleInfo1.setServerID(_json.getString("sid"));
|
roleInfo1.setServerName(_json.getString("serverName"));
|
roleInfo1.setGameRoleName(_json.getString("roleName").trim().replace(" ", ""));
|
roleInfo1.setGameRoleID(_json.getString("roleID"));
|
roleInfo1.setGameBalance(_json.getString("money"));
|
roleInfo1.setVipLevel(
|
_json.getString("vipLevel")); //设置当前用户vip等级,必须为数字整型字符串,请勿传"vip1"等类似字符串
|
roleInfo1.setGameUserLevel(_json.getString("level"));//设置游戏角色等级
|
roleInfo1.setPartyName(_json.getString("familyName").trim().replace(" ",
|
""));//设置帮派名称
|
roleInfo1.setRoleCreateTime(
|
_json.getString("createTime")); //UC,当乐与1881,TT渠道必传,值为10位数时间戳
|
|
roleInfo1.setPartyId("1100"); //360渠道参数,设置帮派id,必须为整型字符串
|
roleInfo1.setGameRolePower("38"); //360,TT语音渠道参数,设置角色战力,必须为整型字符串
|
roleInfo1.setPartyRoleId("11"); //360渠道参数,设置角色在帮派中的id
|
roleInfo1.setPartyRoleName("帮主"); //360渠道参数,设置角色在帮派中的名称
|
roleInfo1.setProfessionId("38"); //360渠道参数,设置角色职业id,必须为整型字符串
|
roleInfo1.setProfession("法师"); //360渠道参数,设置角色职业名称
|
roleInfo1.setFriendlist(
|
"无"); //360渠道参数,设置好友关系列表,格式请参考:http://open.quicksdk.net/help/detail/aid/190
|
//User.getInstance().setGameRoleInfo(_activity, roleInfo1, false);
|
SetRoleInfoEx(_activity, roleInfo1, false);
|
// QuickPlatformUtil.getInstance().enterWorld(_activity,
|
// _json.getString("sid"),
|
// _json.getString("serverName"),
|
// _json.getString("roleID"),
|
// _json.getString("roleName").trim()
|
// .replace(" ", ""),
|
// _json.getString("level"),
|
// _json.getString("familyName").trim()
|
// .replace(" ", ""),
|
// _json.getString("vipLevel"),
|
// _json.getString("money"));
|
verifyRealName(_activity);
|
break;
|
case CodeU2A.RoleLevelUp:
|
GameRoleInfo roleInfo2 = new GameRoleInfo();
|
roleInfo2.setServerID(_json.getString("sid"));
|
roleInfo2.setServerName(_json.getString("serverName"));
|
roleInfo2.setGameRoleName(_json.getString("roleName").trim().replace(" ", ""));
|
roleInfo2.setGameRoleID(_json.getString("roleID"));
|
roleInfo2.setGameBalance(_json.getString("money"));
|
roleInfo2.setVipLevel(
|
_json.getString("vipLevel")); //设置当前用户vip等级,必须为数字整型字符串,请勿传"vip1"等类似字符串
|
roleInfo2.setGameUserLevel(_json.getString("level"));//设置游戏角色等级
|
roleInfo2.setPartyName(_json.getString("familyName").trim().replace(" ",
|
""));//设置帮派名称
|
roleInfo2.setRoleCreateTime(
|
_json.getString("createTime")); //UC,当乐与1881,TT渠道必传,值为10位数时间戳
|
|
roleInfo2.setPartyId("1100"); //360渠道参数,设置帮派id,必须为整型字符串
|
roleInfo2.setGameRolePower("38"); //360,TT语音渠道参数,设置角色战力,必须为整型字符串
|
roleInfo2.setPartyRoleId("11"); //360渠道参数,设置角色在帮派中的id
|
roleInfo2.setPartyRoleName("帮主"); //360渠道参数,设置角色在帮派中的名称
|
roleInfo2.setProfessionId("38"); //360渠道参数,设置角色职业id,必须为整型字符串
|
roleInfo2.setProfession("法师"); //360渠道参数,设置角色职业名称
|
roleInfo2.setFriendlist(
|
"无"); //360渠道参数,设置好友关系列表,格式请参考:http://open.quicksdk.net/help/detail/aid/190
|
|
//User.getInstance().setGameRoleInfo(_activity, roleInfo2, false);
|
SetRoleInfoEx(_activity, roleInfo2, false);
|
// QuickPlatformUtil.getInstance().levelUp(_activity,
|
// _json.getString("sid"),
|
// _json.getString("serverName"),
|
// _json.getString("roleID"),
|
// _json.getString("roleName").trim()
|
// .replace(" ", ""),
|
// _json.getString("level"),
|
// _json.getString("familyName").trim()
|
// .replace(" ", ""),
|
// _json.getString("createTime"),
|
// _json.getString("levelUpTime"),
|
// _json.getString("vipLevel"),
|
// _json.getString("money"));
|
break;
|
case CodeU2A.ClientPackage:
|
break;
|
case CodeU2A.JPushAddLocalMessage:
|
addLocalNotification(_activity,
|
_json.getInt("id"),
|
_json.getString("title"),
|
_json.getString("content"),
|
_json.getLong("fireTime"));
|
break;
|
case CodeU2A.JPushRemoveLocalMessage:
|
removeNotification(_activity, _json.getInt("id"));
|
break;
|
case CodeU2A.TencentLogin:
|
//QuickPlatformUtil.getInstance().loginTencent(_activity, _json.getString("param"));
|
break;
|
case CodeU2A.SendRegistEvent:
|
//QuickPlatformUtil.getInstance().SendRegisterEvent();
|
break;
|
}
|
|
} catch (JSONException e)
|
{
|
e.printStackTrace();
|
}
|
}
|
|
// 本地推送
|
public static void addLocalNotification(Activity activity, int id, String title, String content,
|
long fireTime)
|
{
|
if (PushEnable)
|
{
|
try
|
{
|
JPushLocalNotification ln = new JPushLocalNotification();
|
ln.setBuilderId(0);// 设置样式
|
ln.setNotificationId(id);// id
|
ln.setTitle(title);// 标题
|
|
ln.setContent(content);// 内容
|
ln.setBroadcastTime(fireTime);// 等待时间
|
JPushInterface.addLocalNotification(activity, ln);
|
} catch (Exception e)
|
{
|
e.printStackTrace();
|
}
|
}
|
}
|
|
public static void removeNotification(Activity activity, int id)
|
{
|
if (PushEnable)
|
{
|
JPushInterface.removeLocalNotification(activity, id);
|
}
|
}
|
|
public static void GetExternalStorage()
|
{
|
Map<String, Object> _msg = new HashMap<>();
|
_msg.put("code", CodeA2U.ExternalStorage);
|
_msg.put("path", Environment.getExternalStorageDirectory().getAbsolutePath());
|
UniversalUtil.sendMessageToUnity(_msg);
|
}
|
|
public static void InstallApp(Activity activity, String path)
|
{
|
File _file = new File(path);
|
|
if (_file == null)
|
{
|
LogUtil.i(TAG, "找不到给定地址的apk: " + path);
|
return;
|
}
|
|
try
|
{
|
Intent _intent = new Intent(Intent.ACTION_VIEW);
|
|
if (Build.VERSION.SDK_INT >= 23)
|
{
|
_intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
Uri _contentUri = FileProvider.getUriForFile(activity,
|
"com.shandangceshi.snxxz.fileProvider",
|
_file);
|
_intent.setDataAndType(_contentUri, "application/vnd.android.package-archive");
|
|
}
|
else
|
{
|
_intent.setDataAndType(Uri.fromFile(_file),
|
"application/vnd.android.package-archive");
|
_intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
}
|
|
activity.startActivity(_intent);
|
|
} catch (Exception e)
|
{
|
e.printStackTrace();
|
Toast.makeText(activity, "没有找到打开此类文件的程序", Toast.LENGTH_SHORT).show();
|
}
|
}
|
|
public static void LoginEx(final Activity activity)
|
{
|
activity.runOnUiThread(new Runnable()
|
{
|
@Override
|
public void run()
|
{
|
QuickPlatformUtil.getInstance().login(activity);
|
}
|
});
|
}
|
|
public static void LogoutEx(final Activity activity)
|
{
|
activity.runOnUiThread(new Runnable()
|
{
|
@Override
|
public void run()
|
{
|
QuickPlatformUtil.getInstance().logout(activity);
|
}
|
});
|
}
|
|
public static void SetRoleInfoEx(final Activity activity, final GameRoleInfo roleInfo, final boolean createRole)
|
{
|
activity.runOnUiThread(new Runnable()
|
{
|
@Override
|
public void run()
|
{
|
User.getInstance().setGameRoleInfo(activity, roleInfo, createRole);
|
}
|
});
|
}
|
|
|
public static void CopyContent(final Activity activity, final String content)
|
{
|
activity.runOnUiThread(new Runnable()
|
{
|
@Override
|
public void run()
|
{
|
ClipboardManager _mgr = (ClipboardManager) activity.getSystemService(
|
Context.CLIPBOARD_SERVICE);
|
ClipData _data = ClipData.newPlainText("playerId", content);
|
_mgr.setPrimaryClip(_data);
|
}
|
});
|
}
|
|
public static void RestartApp(final Activity activity)
|
{
|
activity.runOnUiThread(new Runnable()
|
{
|
@Override
|
public void run()
|
{
|
new Thread()
|
{
|
public void run()
|
{
|
String _pn = activity.getPackageName();
|
PackageManager _pm = activity.getPackageManager();
|
Intent _l = _pm.getLaunchIntentForPackage(_pn);
|
_l.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
activity.startActivity(_l);
|
android.os.Process.killProcess(android.os.Process.myPid());
|
}
|
}.start();
|
activity.finish();
|
}
|
});
|
}
|
|
public static void init(final Activity activity)
|
{
|
final int _memoryTotal = (int) (UniversalUtil.getMemTotal() / 1024);
|
if (_memoryTotal < 1024)
|
{
|
LogUtil.i(TAG, "检测设备内存不满足运行程序标准");
|
AlertDialog.Builder _builder = new AlertDialog.Builder(activity);
|
_builder.setIcon(R.drawable.app_icon);
|
_builder.setTitle("警告");
|
_builder.setMessage("您的手机内存不足,无法正常运行游戏");
|
_builder.setPositiveButton("确定", new DialogInterface.OnClickListener()
|
{
|
@Override
|
public void onClick(DialogInterface dialogInterface, int i)
|
{
|
android.os.Process.killProcess(android.os.Process.myPid());
|
}
|
});
|
_builder.show();
|
return;
|
}
|
|
//PushEnable = activity.getPackageName().equals("com.xjaz.sp");
|
|
new Thread(new Runnable()
|
{
|
@Override
|
public void run()
|
{
|
LogUtil.i(TAG, "开始执行初始化");
|
|
GetExternalStorage();
|
|
// ------------------------------- 设备信息 -------------------------------
|
Map<String, Object> _msgStruct = new HashMap<>();
|
_msgStruct.put("code", CodeA2U.DeviceInfo);
|
_msgStruct.put("userAgent", System.getProperty("http.agent"));
|
_msgStruct.put("mac", UniqueID.getLocalMac(activity));
|
_msgStruct.put("imei", UniqueID.getDeviceId(activity));
|
_msgStruct.put("android_id",
|
Settings.System.getString(activity.getContentResolver(),
|
Settings.System.ANDROID_ID));
|
_msgStruct.put("unique_id", UniqueID.get(activity));
|
_msgStruct.put("memoryTotal", _memoryTotal);
|
UniversalUtil.sendMessageToUnity(_msgStruct);
|
|
// ------------------------------- 极光推送 -------------------------------
|
String _registrationID = "0";
|
if (PushEnable)
|
{
|
JPushInterface.setDebugMode(true);
|
JPushInterface.init(activity);
|
|
final long _waitingTime = System.currentTimeMillis();
|
|
while (true)
|
{
|
// 等待获取极光registrationID
|
if (!JPushInterface.getRegistrationID(activity).equals(""))
|
{
|
_registrationID = JPushInterface.getRegistrationID(activity);
|
break;
|
}
|
|
long _escapeTime = System.currentTimeMillis() - _waitingTime;
|
|
if (_escapeTime > 3000)
|
{
|
LogUtil.w(TAG, "等待获取极光推送registrationID超时: 3秒");
|
break;
|
}
|
}
|
}
|
|
_msgStruct.clear();
|
_msgStruct.put("code", CodeA2U.PushClientID);
|
_msgStruct.put("clientID", _registrationID);
|
UniversalUtil.sendMessageToUnity(_msgStruct);
|
|
_msgStruct.clear();
|
_msgStruct.put("code", CodeA2U.SdkInitComplete);
|
_msgStruct.put("channelPlatform", "quick");
|
//根据appid是否相同和后台配置 可调整混服和专服
|
//打包工具可添加自定义参数
|
String _appid = com.quicksdk.Extend.getInstance().getExtrasConfig("zfappid");
|
if (_appid == "")
|
{
|
//没有打包的自定义参数则取配置表
|
_appid = APP_ID;
|
}
|
//通知到unity中的账号已经加上渠道ID,保证appid和spid唯一对应, 需要注意和sdk交互时使用最原始的uid
|
_msgStruct.put("yj_appid", _appid);
|
_msgStruct.put("yj_spid", _appid);
|
UniversalUtil.sendMessageToUnity(_msgStruct);
|
|
LogUtil.i(TAG, "初始化执行完毕");
|
}
|
|
}).start();
|
}
|
|
public static void onCreate(Activity activity, Bundle savedInstanceState)
|
{
|
Sdk.getInstance().onCreate(activity);
|
try {
|
// check权限
|
if ((ContextCompat.checkSelfPermission(activity,
|
Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED)
|
|| (ContextCompat.checkSelfPermission(activity,
|
Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)) {
|
// 没有 , 申请权限 权限数组
|
ActivityCompat.requestPermissions(activity, new String[] {
|
Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE }, 1);
|
} else {
|
QuickPlatformUtil.getInstance().onCreate();
|
Sdk.getInstance().init(activity,"93578681820710896227244688639138", "49535443");
|
}
|
} catch (Exception e) {
|
QuickPlatformUtil.getInstance().onCreate();
|
Sdk.getInstance().init(activity, "93578681820710896227244688639138", "49535443");
|
}
|
QuickSDK.getInstance().setIsLandScape(true);
|
}
|
|
private static boolean m_IsFocus = true;
|
|
public static void onWindowFocusChanged(boolean b)
|
{
|
if (b)
|
{
|
if (QuickPlatformUtil.getInstance().payProcessing)
|
{
|
Map<String, Object> _msgStruct = new HashMap<>();
|
_msgStruct.put("code", CodeA2U.FreePlatformPayCancel);
|
UniversalUtil.sendMessageToUnity(_msgStruct);
|
QuickPlatformUtil.getInstance().payProcessing = false;
|
}
|
}
|
|
m_IsFocus = b;
|
}
|
|
public static void onNewIntent(final Activity activity, final Intent intent)
|
{
|
Sdk.getInstance().onNewIntent(intent);
|
}
|
|
public static void onActivityResult(int requestCode,
|
int resultCode,
|
final Intent data,
|
final Activity activity)
|
{
|
Sdk.getInstance().onActivityResult(activity, requestCode, resultCode, data);
|
}
|
|
public static void onConfigurationChanged(final Configuration newConfig) {}
|
|
public static void onRestart(final Activity activity)
|
{
|
Sdk.getInstance().onRestart(activity);
|
}
|
|
public static void onStart(final Activity activity)
|
{
|
Sdk.getInstance().onStart(activity);
|
}
|
|
public static void onPause(final Activity activity)
|
{
|
Sdk.getInstance().onPause(activity);
|
}
|
|
public static void onResume(final Activity activity)
|
{
|
Sdk.getInstance().onResume(activity);
|
}
|
|
public static void onStop(final Activity activity)
|
{
|
Sdk.getInstance().onStop(activity);
|
}
|
|
public static void onDestroy(final Activity activity)
|
{
|
Sdk.getInstance().onDestroy(activity);
|
}
|
|
private static void verifyRealName(final Activity activity) {
|
activity.runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
// 判断渠道是否支持实名认证功能
|
if (com.quicksdk.Extend.getInstance().isFunctionSupported(com.quicksdk.FuncType.REAL_NAME_REGISTER)) {
|
com.quicksdk.Extend.getInstance().callFunctionWithParamsCallBack(activity, com.quicksdk.FuncType.REAL_NAME_REGISTER, new com.quicksdk.BaseCallBack() {
|
@Override
|
public void onSuccess(Object... arg0) {
|
if (arg0 != null && arg0.length > 0) {
|
JSONObject jsonObject = (JSONObject) arg0[0];
|
Log.d("json", "==========" + jsonObject.toString());
|
try {
|
// 用户id
|
String uid = jsonObject.getString("uid");
|
// 年龄, 如果渠道没返回默认为-1
|
int age = jsonObject.getInt("age");
|
// 是否已实名 true表示已实名
|
// false表示未实名,如果渠道没返回默认为false
|
boolean realName = jsonObject.getBoolean("realName");
|
// oppo实名认证失败之后是否可以继续游戏 true表示可以
|
// false表示不可以,如果渠道没返回默认为true
|
boolean resumeGame = jsonObject.getBoolean("resumeGame");
|
// 预留字段,如果渠道没返回默认为""的字符串
|
String other = jsonObject.getString("other");
|
// 游戏根据返回信息做对应的逻辑处理
|
|
} catch (JSONException e) {
|
|
}
|
}
|
}
|
|
@Override
|
public void onFailed(Object... arg0) {
|
|
}
|
});
|
}
|
}
|
});
|
}
|
}
|