From 1495afa1c2b0d80055988cd5f0e18aeaabdbc10f Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期五, 21 十二月 2018 15:03:09 +0800
Subject: [PATCH] UPDATE TAPTAPsdk相关资源提交

---
 ChannelDiff/Android/904100357/libs/iapppay_plugin.aar                                 |    0 
 GradleDiff/904100357/mainTemplate.gradle                                              |   59 +++
 ChannelDiff/Android/904100357/AndroidManifest.xml                                     |  268 ++++++++++++++
 Project/app/src/game_904100357/java/com/secondworld/univeralsdk/FreePlatformUtil.java |  155 ++++++++
 ChannelDiff/Android/904100357/libs/applog-release.aar                                 |    0 
 Project/app/src/game_904100357/AndroidManifest.xml                                    |  238 ++++++++++++
 ChannelDiff/Android/904100357/libs/app-game_822055139-release.aar                     |    0 
 ChannelDiff/Android/904100357/libs/app-game_904100357-release.aar                     |    0 
 ChannelDiff/Android/904100357/libs/freesdk-release.aar                                |    0 
 Project/app/src/game_904100357/java/com/secondworld/univeralsdk/H2EngineSDK.java      |  418 ++++++++++++++++++++++
 10 files changed, 1,138 insertions(+), 0 deletions(-)

diff --git a/ChannelDiff/Android/904100357/AndroidManifest.xml b/ChannelDiff/Android/904100357/AndroidManifest.xml
new file mode 100644
index 0000000..45b1a1a
--- /dev/null
+++ b/ChannelDiff/Android/904100357/AndroidManifest.xml
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.secondworld.univeralsdk"
+    android:installLocation="auto"
+    android:versionCode="1"
+    android:versionName="1.1.0" >
+
+    <uses-sdk
+        android:minSdkVersion="16"
+        android:targetSdkVersion="22" />
+
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+    <uses-permission android:name="android.permission.RECORD_AUDIO" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.WAKE_LOCK" />
+    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+    <uses-permission android:name="android.permission.VIBRATE" />
+    <uses-permission android:name="android.permission.GET_TASKS" />
+    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
+    <uses-permission android:name="android.permission.READ_LOGS" />
+    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
+
+    <permission
+        android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
+        android:protectionLevel="signature" />
+    <!-- Required -->
+    <permission android:name="com.ziyouyouxi08.djxxz.permission.JPUSH_MESSAGE" />
+
+    <uses-permission android:name="com.ziyouyouxi08.djxxz.permission.JPUSH_MESSAGE" />
+    <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
+    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
+
+    <application
+        android:allowBackup="true"
+        android:hardwareAccelerated="false"
+        android:icon="@drawable/app_icon"
+        android:isGame="true"
+        android:label="@string/app_name"
+        android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" >
+        <activity
+            android:name="com.secondworld.univeralsdk.MainActivity"
+            android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection"
+            android:label="@string/app_name"
+            android:launchMode="singleTask"
+            android:screenOrientation="sensorLandscape" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+                <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
+            </intent-filter>
+
+            <meta-data
+                android:name="unityplayer.UnityActivity"
+                android:value="true" />
+            <meta-data
+                android:name="unityplayer.SkipPermissionsDialog"
+                android:value="true" />
+            <meta-data
+                android:name="android.vendor.home_indicator"
+                android:value="hide" />
+            <meta-data
+                android:name="android.max_aspect"
+                android:value="1075419520.000000" />
+            <meta-data
+                android:name="com.samsung.android.keepalive.density"
+                android:value="true" />
+        </activity>
+
+        <!-- 閽堝7.0浠ヤ笂鐨刟pi寮�鏀剧殑鏂囦欢鏉冮檺 -->
+        <provider
+            android:name="android.support.v4.content.FileProvider"
+            android:authorities="com.ziyouyouxi08.djxxz.fileProvider"
+            android:exported="false"
+            android:grantUriPermissions="true" >
+            <meta-data
+                android:name="android.support.FILE_PROVIDER_PATHS"
+                android:resource="@xml/file_paths" />
+        </provider>
+
+        <meta-data
+            android:name="yl_appid"
+            android:value="904100357" />
+        <meta-data
+            android:name="yl_channelid"
+            android:value="1000" />
+        <meta-data
+            android:name="yl_platform_id"
+            android:value="1000" />
+        <meta-data
+            android:name="TrackAppID"
+            android:value="${TrackAppID}" />
+        <meta-data
+            android:name="TrackChannelID"
+            android:value="${TrackChannelID}" />
+
+        <!-- 浠婃棩澶存潯鐩稿叧閰嶇疆 -->
+        <meta-data
+            android:name="TouTiao_AppName"
+            android:value="${TT_AppName}" />
+        <meta-data
+            android:name="TouTiao_AppID"
+            android:value="${TT_AppID}" />
+        <meta-data
+            android:name="TouTiao_Chanel"
+            android:value="${TT_Chanel}" />
+
+        <!-- Required SDK 鏍稿績鍔熻兘 -->
+        <!-- 鍙厤缃產ndroid:process鍙傛暟灏哖ushService鏀惧湪鍏朵粬杩涚▼涓� -->
+        <service
+            android:name="cn.jpush.android.service.PushService"
+            android:exported="false"
+            android:process=":mult" >
+            <intent-filter>
+                <action android:name="cn.jpush.android.intent.REGISTER" />
+                <action android:name="cn.jpush.android.intent.REPORT" />
+                <action android:name="cn.jpush.android.intent.PushService" />
+                <action android:name="cn.jpush.android.intent.PUSH_TIME" />
+            </intent-filter>
+        </service>
+
+        <!-- since 3.0.9 Required SDK 鏍稿績鍔熻兘 -->
+        <provider
+            android:name="cn.jpush.android.service.DataProvider"
+            android:authorities="com.ziyouyouxi08.djxxz.DataProvider"
+            android:exported="true" />
+
+        <!-- since 1.8.0 option 鍙�夐」銆傜敤浜庡悓涓�璁惧涓笉鍚屽簲鐢ㄧ殑JPush鏈嶅姟鐩镐簰鎷夎捣鐨勫姛鑳姐�� -->
+        <!-- 鑻ヤ笉鍚敤璇ュ姛鑳藉彲鍒犻櫎璇ョ粍浠讹紝灏嗕笉鎷夎捣鍏朵粬搴旂敤涔熶笉鑳借鍏朵粬搴旂敤鎷夎捣 -->
+        <service
+            android:name="cn.jpush.android.service.DaemonService"
+            android:enabled="true"
+            android:exported="true" >
+            <intent-filter>
+                <action android:name="cn.jpush.android.intent.DaemonService" />
+
+                <category android:name="com.ziyouyouxi08.djxxz" />
+            </intent-filter>
+        </service>
+
+        <!-- since 3.1.0 Required SDK 鏍稿績鍔熻兘 -->
+        <provider
+            android:name="cn.jpush.android.service.DownloadProvider"
+            android:authorities="com.ziyouyouxi08.djxxz.DownloadProvider"
+            android:exported="true" />
+
+        <!-- Required SDK鏍稿績鍔熻兘 -->
+        <receiver
+            android:name="cn.jpush.android.service.PushReceiver"
+            android:enabled="true" >
+            <intent-filter android:priority="1000" >
+                <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
+
+                <category android:name="com.ziyouyouxi08.djxxz" />
+            </intent-filter>
+            <intent-filter>
+                <action android:name="android.intent.action.USER_PRESENT" />
+                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
+            </intent-filter>
+            <!-- Optional -->
+            <intent-filter>
+                <action android:name="android.intent.action.PACKAGE_ADDED" />
+                <action android:name="android.intent.action.PACKAGE_REMOVED" />
+
+                <data android:scheme="package" />
+            </intent-filter>
+        </receiver>
+
+        <!-- Required SDK鏍稿績鍔熻兘 -->
+        <activity
+            android:name="cn.jpush.android.ui.PushActivity"
+            android:configChanges="orientation|keyboardHidden"
+            android:exported="false"
+            android:theme="@android:style/Theme.NoTitleBar" >
+            <intent-filter>
+                <action android:name="cn.jpush.android.ui.PushActivity" />
+
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="com.ziyouyouxi08.djxxz" />
+            </intent-filter>
+        </activity>
+        <!-- SDK鏍稿績鍔熻兘 -->
+        <activity
+            android:name="cn.jpush.android.ui.PopWinActivity"
+            android:configChanges="orientation|keyboardHidden"
+            android:exported="false"
+            android:theme="@style/MyDialogStyle" >
+            <intent-filter>
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="com.ziyouyouxi08.djxxz" />
+            </intent-filter>
+        </activity>
+
+        <!-- Required SDK鏍稿績鍔熻兘 -->
+        <service
+            android:name="cn.jpush.android.service.DownloadService"
+            android:enabled="true"
+            android:exported="false" />
+
+        <!-- Required SDK鏍稿績鍔熻兘 -->
+        <receiver android:name="cn.jpush.android.service.AlarmReceiver" />
+
+        <!-- Required since 3.0.7 -->
+        <!-- 鏂扮殑tag/alias鎺ュ彛缁撴灉杩斿洖闇�瑕佸紑鍙戣�呴厤缃竴涓嚜瀹氱殑骞挎挱 -->
+        <!-- 璇ュ箍鎾渶瑕佺户鎵縅Push鎻愪緵鐨凧PushMessageReceiver绫�, 骞跺涓嬫柊澧炰竴涓� Intent-Filter -->
+        <!-- <receiver -->
+        <!-- android:name="鑷畾涔� Receiver" -->
+        <!-- android:enabled="true" > -->
+        <!-- <intent-filter> -->
+        <!-- <action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" /> -->
+        <!-- <category android:name="鎮ㄥ簲鐢ㄧ殑鍖呭悕" /> -->
+        <!-- </intent-filter> -->
+        <!-- </receiver> -->
+
+
+        <!-- &lt;!&ndash; User defined. 鐢ㄦ埛鑷畾涔夌殑骞挎挱鎺ユ敹鍣�&ndash;&gt; -->
+        <receiver
+            android:name="com.secondworld.univeralsdk.JPushReceiver"
+            android:enabled="true" >
+            <intent-filter>
+
+                <!-- Required 鐢ㄦ埛娉ㄥ唽SDK鐨刬ntent -->
+                <action android:name="cn.jpush.android.intent.REGISTRATION" />
+                <!-- Required 鐢ㄦ埛鎺ユ敹SDK娑堟伅鐨刬ntent -->
+                <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" />
+                <!-- Required 鐢ㄦ埛鎺ユ敹SDK閫氱煡鏍忎俊鎭殑intent -->
+                <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" />
+                <!-- 鎺ユ敹缃戠粶鍙樺寲 杩炴帴/鏂紑 since 1.6.3 -->
+                <action android:name="cn.jpush.android.intent.CONNECTION" />
+
+                <category android:name="com.ziyouyouxi08.djxxz" />
+            </intent-filter>
+        </receiver>
+
+        <!-- Required. For publish channel feature -->
+        <!-- JPUSH_CHANNEL 鏄负浜嗘柟渚垮紑鍙戣�呯粺璁PK鍒嗗彂娓犻亾銆� -->
+        <!-- 渚嬪: -->
+        <!-- 鍙戝埌 Google Play 鐨凙PK鍙互璁剧疆涓� google-play; -->
+        <!-- 鍙戝埌鍏朵粬甯傚満鐨� APK 鍙互璁剧疆涓� xxx-market銆� -->
+        <meta-data
+            android:name="JPUSH_CHANNEL"
+            android:value="developer-default" />
+        <!-- Required. AppKey copied from Portal -->
+        <meta-data
+            android:name="JPUSH_APPKEY"
+            android:value="bc1907c74128fdbd85018a83" />
+        <meta-data
+            android:name="android.max_aspect"
+            android:value="1075838976.000000" />
+        <meta-data
+            android:name="com.samsung.android.keepalive.density"
+            android:value="true" /> <!-- <meta-data -->
+        <!-- android:name="android.notch_support" -->
+        <!-- android:value="true" /> -->
+        <meta-data
+            android:name="notch.config"
+            android:value="none" />
+        <meta-data
+            android:name="android.vendor.full_screen"
+            android:value="true" />
+    </application>
+
+</manifest>
\ No newline at end of file
diff --git a/ChannelDiff/Android/904100357/libs/app-game_822055139-release.aar b/ChannelDiff/Android/904100357/libs/app-game_822055139-release.aar
new file mode 100644
index 0000000..67962ad
--- /dev/null
+++ b/ChannelDiff/Android/904100357/libs/app-game_822055139-release.aar
Binary files differ
diff --git a/ChannelDiff/Android/904100357/libs/app-game_904100357-release.aar b/ChannelDiff/Android/904100357/libs/app-game_904100357-release.aar
new file mode 100644
index 0000000..071706b
--- /dev/null
+++ b/ChannelDiff/Android/904100357/libs/app-game_904100357-release.aar
Binary files differ
diff --git a/ChannelDiff/Android/904100357/libs/applog-release.aar b/ChannelDiff/Android/904100357/libs/applog-release.aar
new file mode 100644
index 0000000..67c90d2
--- /dev/null
+++ b/ChannelDiff/Android/904100357/libs/applog-release.aar
Binary files differ
diff --git a/ChannelDiff/Android/904100357/libs/freesdk-release.aar b/ChannelDiff/Android/904100357/libs/freesdk-release.aar
new file mode 100644
index 0000000..7676082
--- /dev/null
+++ b/ChannelDiff/Android/904100357/libs/freesdk-release.aar
Binary files differ
diff --git a/ChannelDiff/Android/904100357/libs/iapppay_plugin.aar b/ChannelDiff/Android/904100357/libs/iapppay_plugin.aar
new file mode 100644
index 0000000..bd114d2
--- /dev/null
+++ b/ChannelDiff/Android/904100357/libs/iapppay_plugin.aar
Binary files differ
diff --git a/GradleDiff/904100357/mainTemplate.gradle b/GradleDiff/904100357/mainTemplate.gradle
new file mode 100644
index 0000000..a845dc5
--- /dev/null
+++ b/GradleDiff/904100357/mainTemplate.gradle
@@ -0,0 +1,59 @@
+// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
+buildscript {
+	repositories {
+		jcenter()
+	}
+
+	dependencies {
+		classpath 'com.android.tools.build:gradle:2.1.0'
+	}
+}
+
+allprojects {
+   repositories {
+      flatDir {
+        dirs 'libs'
+      }
+   }
+}
+
+apply plugin: 'com.android.application'
+
+dependencies {
+	compile fileTree(dir: 'libs', include: ['*.jar'])
+**DEPS**}
+
+android {
+	compileSdkVersion **APIVERSION**
+	buildToolsVersion '**BUILDTOOLS**'
+
+	defaultConfig {
+		targetSdkVersion **TARGETSDKVERSION**
+		applicationId '**APPLICATIONID**'
+		ndk {
+            abiFilters **ABIFILTERS**
+        }
+	}
+
+	lintOptions {
+		abortOnError false
+	}
+
+	aaptOptions {
+		noCompress '.unity3d', '.ress', '.resource', '.obb'
+	}
+
+**SIGN**
+	buildTypes {
+		debug {
+			jniDebuggable true
+		}
+		release {
+			// Set minifyEnabled to true if you want to run ProGuard on your project
+			minifyEnabled false
+			proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'
+			**SIGNCONFIG**
+		}
+	}
+
+}
diff --git a/Project/app/src/game_904100357/AndroidManifest.xml b/Project/app/src/game_904100357/AndroidManifest.xml
new file mode 100644
index 0000000..70b9318
--- /dev/null
+++ b/Project/app/src/game_904100357/AndroidManifest.xml
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.secondworld.univeralsdk"
+    android:installLocation="auto"
+    android:versionCode="1"
+    android:versionName="1.1.0">
+
+    <uses-sdk
+        android:minSdkVersion="16"
+        android:targetSdkVersion="22" />
+
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+    <uses-permission android:name="android.permission.RECORD_AUDIO" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.WAKE_LOCK" />
+    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+    <uses-permission android:name="android.permission.VIBRATE" />
+    <uses-permission android:name="android.permission.GET_TASKS" />
+    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
+    <uses-permission android:name="android.permission.READ_LOGS" />
+    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
+    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" android:protectionLevel="signature"/>
+    <!-- Required -->
+    <permission android:name="${appId}.permission.JPUSH_MESSAGE" />
+    <uses-permission android:name="${appId}.permission.JPUSH_MESSAGE" />
+    <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
+    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
+
+    <application
+        android:allowBackup="true"
+        android:icon="@drawable/app_icon"
+        android:hardwareAccelerated="false"
+        android:isGame="true"
+        android:label="@string/app_name"
+        android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen">
+        <activity
+            android:name="com.secondworld.univeralsdk.MainActivity"
+            android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection"
+            android:label="@string/app_name"
+            android:launchMode="singleTask"
+            android:screenOrientation="sensorLandscape">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+                <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
+            </intent-filter>
+
+            <meta-data
+                android:name="unityplayer.UnityActivity"
+                android:value="true" />
+            <meta-data
+                android:name="unityplayer.SkipPermissionsDialog"
+                android:value="true" />
+        </activity>
+
+        <!-- 閽堝7.0浠ヤ笂鐨刟pi寮�鏀剧殑鏂囦欢鏉冮檺 -->
+        <provider
+            android:name="android.support.v4.content.FileProvider"
+            android:authorities="${appId}.fileProvider"
+            android:grantUriPermissions="true"
+            android:exported="false">
+            <meta-data
+                android:name="android.support.FILE_PROVIDER_PATHS"
+                android:resource="@xml/file_paths" />
+        </provider>
+
+        <meta-data
+            android:name="yl_appid"
+            android:value="${FreeSDK_AppID}" />
+        <meta-data
+            android:name="yl_channelid"
+            android:value="${FreeSDK_ChanelID}" />
+        <meta-data
+            android:name="yl_platform_id"
+            android:value="${FreeSDK_PlatformID}" />
+
+        <meta-data
+            android:name="TrackAppID"
+            android:value="${TrackAppID}" />
+        <meta-data
+            android:name="TrackChannelID"
+            android:value="${TrackChannelID}" />
+
+        <!-- 浠婃棩澶存潯鐩稿叧閰嶇疆 -->
+        <meta-data
+            android:name="TouTiao_AppName"
+            android:value="${TT_AppName}" />
+        <meta-data
+            android:name="TouTiao_AppID"
+            android:value="${TT_AppID}" />
+        <meta-data
+            android:name="TouTiao_Chanel"
+            android:value="${TT_Chanel}" />
+
+        <!-- Required SDK 鏍稿績鍔熻兘-->
+        <!-- 鍙厤缃產ndroid:process鍙傛暟灏哖ushService鏀惧湪鍏朵粬杩涚▼涓� -->
+        <service
+            android:name="cn.jpush.android.service.PushService"
+            android:exported="false"
+            android:process=":mult">
+            <intent-filter>
+                <action android:name="cn.jpush.android.intent.REGISTER" />
+                <action android:name="cn.jpush.android.intent.REPORT" />
+                <action android:name="cn.jpush.android.intent.PushService" />
+                <action android:name="cn.jpush.android.intent.PUSH_TIME" />
+            </intent-filter>
+        </service>
+
+        <!-- since 3.0.9 Required SDK 鏍稿績鍔熻兘-->
+        <provider
+            android:name="cn.jpush.android.service.DataProvider"
+            android:authorities="${appId}.DataProvider"
+            android:exported="true" />
+
+        <!-- since 1.8.0 option 鍙�夐」銆傜敤浜庡悓涓�璁惧涓笉鍚屽簲鐢ㄧ殑JPush鏈嶅姟鐩镐簰鎷夎捣鐨勫姛鑳姐�� -->
+        <!-- 鑻ヤ笉鍚敤璇ュ姛鑳藉彲鍒犻櫎璇ョ粍浠讹紝灏嗕笉鎷夎捣鍏朵粬搴旂敤涔熶笉鑳借鍏朵粬搴旂敤鎷夎捣 -->
+        <service
+            android:name="cn.jpush.android.service.DaemonService"
+            android:enabled="true"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="cn.jpush.android.intent.DaemonService" />
+                <category android:name="${appId}" />
+            </intent-filter>
+        </service>
+
+        <!-- since 3.1.0 Required SDK 鏍稿績鍔熻兘-->
+        <provider
+            android:name="cn.jpush.android.service.DownloadProvider"
+            android:authorities="${appId}.DownloadProvider"
+            android:exported="true" />
+
+        <!-- Required SDK鏍稿績鍔熻兘-->
+        <receiver
+            android:name="cn.jpush.android.service.PushReceiver"
+            android:enabled="true">
+            <intent-filter android:priority="1000">
+                <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
+                <category android:name="${appId}" />
+            </intent-filter>
+            <intent-filter>
+                <action android:name="android.intent.action.USER_PRESENT" />
+                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
+            </intent-filter>
+            <!-- Optional -->
+            <intent-filter>
+                <action android:name="android.intent.action.PACKAGE_ADDED" />
+                <action android:name="android.intent.action.PACKAGE_REMOVED" />
+
+                <data android:scheme="package" />
+            </intent-filter>
+        </receiver>
+
+        <!-- Required SDK鏍稿績鍔熻兘-->
+        <activity
+            android:name="cn.jpush.android.ui.PushActivity"
+            android:configChanges="orientation|keyboardHidden"
+            android:exported="false"
+            android:theme="@android:style/Theme.NoTitleBar">
+            <intent-filter>
+                <action android:name="cn.jpush.android.ui.PushActivity" />
+
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="${appId}" />
+            </intent-filter>
+        </activity>
+        <!-- SDK鏍稿績鍔熻兘-->
+        <activity
+            android:name="cn.jpush.android.ui.PopWinActivity"
+            android:configChanges="orientation|keyboardHidden"
+            android:exported="false"
+            android:theme="@style/MyDialogStyle">
+            <intent-filter>
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="${appId}" />
+            </intent-filter>
+        </activity>
+
+        <!-- Required SDK鏍稿績鍔熻兘-->
+        <service
+            android:name="cn.jpush.android.service.DownloadService"
+            android:enabled="true"
+            android:exported="false"></service>
+
+        <!-- Required SDK鏍稿績鍔熻兘-->
+        <receiver android:name="cn.jpush.android.service.AlarmReceiver" />
+
+        <!-- Required since 3.0.7 -->
+        <!-- 鏂扮殑tag/alias鎺ュ彛缁撴灉杩斿洖闇�瑕佸紑鍙戣�呴厤缃竴涓嚜瀹氱殑骞挎挱 -->
+        <!-- 璇ュ箍鎾渶瑕佺户鎵縅Push鎻愪緵鐨凧PushMessageReceiver绫�, 骞跺涓嬫柊澧炰竴涓� Intent-Filter -->
+        <!--<receiver-->
+        <!--android:name="鑷畾涔� Receiver"-->
+        <!--android:enabled="true" >-->
+        <!--<intent-filter>-->
+        <!--<action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" />-->
+        <!--<category android:name="鎮ㄥ簲鐢ㄧ殑鍖呭悕" />-->
+        <!--</intent-filter>-->
+        <!--</receiver>-->
+
+        <!--&lt;!&ndash; User defined. 鐢ㄦ埛鑷畾涔夌殑骞挎挱鎺ユ敹鍣�&ndash;&gt;-->
+        <receiver
+            android:name="com.secondworld.univeralsdk.JPushReceiver"
+            android:enabled="true">
+            <intent-filter>
+                <!--Required 鐢ㄦ埛娉ㄥ唽SDK鐨刬ntent-->
+                <action android:name="cn.jpush.android.intent.REGISTRATION" />
+                <!--Required 鐢ㄦ埛鎺ユ敹SDK娑堟伅鐨刬ntent-->
+                <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" />
+                <!--Required 鐢ㄦ埛鎺ユ敹SDK閫氱煡鏍忎俊鎭殑intent-->
+                <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" />
+                <!-- 鎺ユ敹缃戠粶鍙樺寲 杩炴帴/鏂紑 since 1.6.3 -->
+                <action android:name="cn.jpush.android.intent.CONNECTION" />
+                <category android:name="${appId}" />
+            </intent-filter>
+        </receiver>
+
+        <!-- Required. For publish channel feature -->
+        <!-- JPUSH_CHANNEL 鏄负浜嗘柟渚垮紑鍙戣�呯粺璁PK鍒嗗彂娓犻亾銆�-->
+        <!-- 渚嬪: -->
+        <!-- 鍙戝埌 Google Play 鐨凙PK鍙互璁剧疆涓� google-play; -->
+        <!-- 鍙戝埌鍏朵粬甯傚満鐨� APK 鍙互璁剧疆涓� xxx-market銆� -->
+        <meta-data
+            android:name="JPUSH_CHANNEL"
+            android:value="developer-default" />
+        <!-- Required. AppKey copied from Portal -->
+        <meta-data
+            android:name="JPUSH_APPKEY"
+            android:value="${JpushAppKey}" />
+
+    </application>
+
+</manifest>
\ No newline at end of file
diff --git a/Project/app/src/game_904100357/java/com/secondworld/univeralsdk/FreePlatformUtil.java b/Project/app/src/game_904100357/java/com/secondworld/univeralsdk/FreePlatformUtil.java
new file mode 100644
index 0000000..ecbde5c
--- /dev/null
+++ b/Project/app/src/game_904100357/java/com/secondworld/univeralsdk/FreePlatformUtil.java
@@ -0,0 +1,155 @@
+package com.secondworld.univeralsdk;
+
+import android.app.Activity;
+
+import com.allugame.freesdk.callback.FreeCallback;
+import com.allugame.freesdk.callback.FreeCallbackCode;
+import com.allugame.freesdk.callback.FreeRegisterCallback;
+import com.allugame.freesdk.entities.FreeOrder;
+import com.allugame.freesdk.port.FreePlatform;
+import com.reyun.tracking.sdk.Tracking;
+import com.ss.android.common.applog.TeaAgent;
+import com.ss.android.common.lib.EventUtils;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Created by Administrator on 2018/7/18 0018.
+ */
+
+public class FreePlatformUtil
+{
+    private static FreePlatformUtil s_Instance;
+
+    private boolean m_Init = false;
+    public boolean payProcessing = false;
+
+    public static FreePlatformUtil getInstace()
+    {
+        if (s_Instance == null)
+        {
+            s_Instance = new FreePlatformUtil();
+        }
+        return s_Instance;
+    }
+
+    private Map<String, Object> m_Message = new HashMap<>();
+
+    public void login(final Activity activity)
+    {
+        FreePlatform.getInstance().login(activity);
+    }
+
+    public void logout()
+    {
+        FreePlatform.getInstance().logout();
+    }
+
+    public void switchAccount(final Activity activity)
+    {
+        FreePlatform.getInstance().switchAccount(activity);
+    }
+
+    public void pay(Activity activity, String title, String orderId, float mount, String cpInfo)
+    {
+        FreeOrder _order = new FreeOrder(title, orderId, mount, cpInfo);
+        FreePlatform.getInstance().pay(activity, _order);
+    }
+
+    public void init(final Activity activity)
+    {
+        if (m_Init)
+        {
+            return;
+        }
+
+        FreePlatform.getInstance().init(activity, new FreeCallback()
+        {
+            @Override
+            public void onResult(int i, String s)
+            {
+                m_Message.clear();
+                switch (i)
+                {
+                    case FreeCallbackCode.INIT_SUCCESS:
+                        m_Init = true;
+                        m_Message.put("code", CodeA2U.FreePlatformInitOk);
+                        UniversalUtil.sendMessageToUnity(m_Message);
+                        break;
+                    case FreeCallbackCode.INIT_FAILURE:
+                        m_Message.put("code", CodeA2U.FreePlatformInitFail);
+                        UniversalUtil.sendMessageToUnity(m_Message);
+                        break;
+                    case FreeCallbackCode.LOGIN_SUCCESS:
+                        FreePlatform.getInstance().auth();
+                        try
+                        {
+                            JSONObject _info = new JSONObject(s);
+                            m_Message.put("code", CodeA2U.FreePlatformLoginOk);
+                            m_Message.put("info", _info);
+                            UniversalUtil.sendMessageToUnity(m_Message);
+                            Tracking.setLoginSuccessBusiness(_info.getString("account"));
+                        } catch (JSONException e)
+                        {
+                            e.printStackTrace();
+                        }
+                        break;
+                    case FreeCallbackCode.LOGIN_FAILURE:
+                        m_Message.put("code", CodeA2U.FreePlatformLoginFail);
+                        UniversalUtil.sendMessageToUnity(m_Message);
+                        break;
+                    case FreeCallbackCode.LOGOUT_SUCCESS:
+                        m_Message.put("code", CodeA2U.FreePlatformLogoutOk);
+                        UniversalUtil.sendMessageToUnity(m_Message);
+                        EventUtils.setLogin("mobile",true);
+                        break;
+                    case FreeCallbackCode.LOGOUT_FAILURE:
+                        m_Message.put("code", CodeA2U.FreePlatformLogoutFail);
+                        UniversalUtil.sendMessageToUnity(m_Message);
+                        break;
+                    case FreeCallbackCode.SWITCH_SUCCESS:
+                        m_Message.put("code", CodeA2U.FreePlatformSwitchAccountOk);
+                        UniversalUtil.sendMessageToUnity(m_Message);
+                        break;
+                    case FreeCallbackCode.LOGIN_CANCEL:
+                        m_Message.put("code", CodeA2U.FreePlatformLoginCancel);
+                        UniversalUtil.sendMessageToUnity(m_Message);
+                        break;
+                    case FreeCallbackCode.PAY_SUCCESS:
+                        m_Message.put("code", CodeA2U.FreePlatformPayOk);
+                        UniversalUtil.sendMessageToUnity(m_Message);
+                        payProcessing = false;
+                        break;
+                    case FreeCallbackCode.PAY_FAIL:
+                        m_Message.put("code", CodeA2U.FreePlatformPayFail);
+                        UniversalUtil.sendMessageToUnity(m_Message);
+                        payProcessing = false;
+                        break;
+                    case FreeCallbackCode.PAY_CANCEL:
+                        m_Message.put("code", CodeA2U.FreePlatformPayCancel);
+                        UniversalUtil.sendMessageToUnity(m_Message);
+                        payProcessing = false;
+                        break;
+                }
+            }
+        });
+
+        FreePlatform.getInstance().setRegisterCallback(new FreeRegisterCallback()
+        {
+            @Override
+            public void onResult(boolean b, String account)
+            {
+                Map<String, Object> _registerMsg = new HashMap<>();
+                _registerMsg.put("code", CodeA2U.FreePlatformRegisterOk);
+                _registerMsg.put("account", account);
+                UniversalUtil.sendMessageToUnity(_registerMsg);
+                Tracking.setRegisterWithAccountID(account);
+                EventUtils.setRegister("mobile",true);
+            }
+        });
+    }
+}
diff --git a/Project/app/src/game_904100357/java/com/secondworld/univeralsdk/H2EngineSDK.java b/Project/app/src/game_904100357/java/com/secondworld/univeralsdk/H2EngineSDK.java
new file mode 100644
index 0000000..f1ddd9f
--- /dev/null
+++ b/Project/app/src/game_904100357/java/com/secondworld/univeralsdk/H2EngineSDK.java
@@ -0,0 +1,418 @@
+package com.secondworld.univeralsdk;
+
+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.Bundle;
+import android.os.Environment;
+import android.provider.Settings;
+import android.widget.Toast;
+
+import com.allugame.freesdk.port.FreePlatform;
+import com.reyun.tracking.sdk.Tracking;
+import com.ss.android.common.applog.TeaAgent;
+import com.ss.android.common.applog.TeaConfigBuilder;
+import com.ss.android.common.lib.EventUtils;
+import com.unity3d.player.UnityPlayer;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.File;
+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";
+
+    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:
+                    init(_activity);
+                    break;
+                case CodeU2A.AssetCopy:
+                    FileUtil.copyAssets(_activity);
+                    break;
+                case CodeU2A.CopyOneAsset:
+                    FileUtil.copy(_activity, _json.getString("fileName"));
+                    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:
+                    FreePlatformUtil.getInstace().init(_activity);
+                    break;
+                case CodeU2A.FreePlatformLogin:
+                    FreePlatformUtil.getInstace().login(_activity);
+                    break;
+                case CodeU2A.FreePlatformSwitchAccount:
+                    FreePlatformUtil.getInstace().switchAccount(_activity);
+                    break;
+                case CodeU2A.FreePlatformLogout:
+                    FreePlatformUtil.getInstace().logout();
+                    break;
+                case CodeU2A.FreePlatformPay:
+                    FreePlatformUtil.getInstace().pay(_activity,
+                                                      _json.getString("title"),
+                                                      _json.getString("orderId"),
+                                                      (float) _json.getDouble("mount"),
+                                                      _json.getString("cpInfo"));
+                    FreePlatformUtil.getInstace().payProcessing = true;
+                    break;
+                case CodeU2A.PayFinished:
+                    Tracking.setPayment(_json.getString("orderID"),
+                                        _json.getString("payType"),
+                                        _json.getString("moneyType"),
+                                        (float) _json.getDouble("money"));
+
+                    int _money = (int) (_json.getDouble("money"));
+
+                    EventUtils.setPurchase("",
+                                           "",
+                                           "",
+                                           1,
+                                           _json.getString("payType"),
+                                           _json.getString("moneyType"),
+                                           true,
+                                           _money);
+
+                    FreePlatformUtil.getInstace().payProcessing = false;
+
+                    break;
+                case CodeU2A.ClientPackage:
+                    // 鍒濆鍖栫儹浜�
+                    Tracking.initWithKeyAndChannelId(_activity,
+                                                     UniversalUtil.getMetaString(_activity,
+                                                                                 "TrackAppID"),
+                                                     _json.getString("clientPkgID"));
+                    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;
+            }
+
+        } catch (JSONException e)
+        {
+            e.printStackTrace();
+        }
+    }
+
+    // 鏈湴鎺ㄩ��
+    public static void addLocalNotification(Activity activity, int id, String title, String content,
+                                            long fireTime)
+    {
+        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)
+    {
+        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, "鎵句笉鍒扮粰瀹氬湴鍧�鐨刟pk: " + 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 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("鎮ㄧ殑鎵嬫満鍐呭瓨涓嶈冻,鏃犳硶姝e父杩愯娓告垙");
+            _builder.setPositiveButton("纭畾", new DialogInterface.OnClickListener()
+            {
+                @Override
+                public void onClick(DialogInterface dialogInterface, int i)
+                {
+                    android.os.Process.killProcess(android.os.Process.myPid());
+                }
+            });
+            _builder.show();
+            return;
+        }
+
+        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);
+
+                // ------------------------------- 鑷敱SDK -------------------------------
+                FreePlatformUtil.getInstace().init(activity);
+                // ------------------------------- 鏋佸厜鎺ㄩ�� -------------------------------
+                JPushInterface.setDebugMode(true);
+                JPushInterface.init(activity);
+                // ------------------------------- 浠婂ぉ澶存潯 -----------------------
+                TeaAgent.init(TeaConfigBuilder.create(activity)
+                                      .setAppName(UniversalUtil.getMetaString(activity,
+                                                                              "TouTiao_AppName"))
+                                      .setChannel(UniversalUtil.getMetaString(activity,
+                                                                              "TouTiao_Chanel"))
+                                      .setAid(UniversalUtil.getMetaInt(activity, "TouTiao_AppID"))
+                                      .createTeaConfig());
+                TeaAgent.setDebug(true);
+
+                final long _waitingTime = System.currentTimeMillis();
+
+                while (true)
+                {
+                    // 绛夊緟鑾峰彇鏋佸厜registrationID
+                    if (!JPushInterface.getRegistrationID(activity).equals(""))
+                    {
+                        break;
+                    }
+
+                    long _escapeTime = System.currentTimeMillis() - _waitingTime;
+
+                    if (_escapeTime > 3000)
+                    {
+                        LogUtil.w(TAG, "绛夊緟鑾峰彇鏋佸厜鎺ㄩ�乺egistrationID瓒呮椂: 3绉�");
+                        break;
+                    }
+                }
+
+                _msgStruct.clear();
+                _msgStruct.put("code", CodeA2U.PushClientID);
+                _msgStruct.put("clientID", JPushInterface.getRegistrationID(activity));
+                UniversalUtil.sendMessageToUnity(_msgStruct);
+
+                _msgStruct.clear();
+                _msgStruct.put("code", CodeA2U.SdkInitComplete);
+                UniversalUtil.sendMessageToUnity(_msgStruct);
+
+                LogUtil.i(TAG, "鍒濆鍖栨墽琛屽畬姣�");
+            }
+
+        }).start();
+    }
+
+    public static void onCreate(Activity activity, Bundle savedInstanceState)
+    {
+        FreePlatform.getInstance().onCreate();
+    }
+
+    public static void onWindowFocusChanged(boolean b)
+    {
+    }
+
+    public static void onNewIntent(final Activity activity, final Intent intent)
+    {
+    }
+
+    public static void onActivityResult(int requestCode,
+                                        int resultCode,
+                                        final Intent data,
+                                        final Activity activity)
+    {
+    }
+
+    public static void onConfigurationChanged(final Configuration newConfig) {}
+
+    public static void onRestart(final Activity activity)
+    {
+    }
+
+    public static void onStart(final Activity activity)
+    {
+        FreePlatform.getInstance().onStart();
+    }
+
+    public static void onPause(final Activity activity)
+    {
+        FreePlatform.getInstance().onPause();
+        TeaAgent.onPause(activity);
+    }
+
+    public static void onResume(final Activity activity)
+    {
+        FreePlatform.getInstance().onResume();
+        TeaAgent.onResume(activity);
+
+        if(FreePlatformUtil.getInstace().payProcessing)
+        {
+            Map<String, Object> _msgStruct = new HashMap<>();
+            _msgStruct.put("code", CodeA2U.FreePlatformPayCancel);
+            UniversalUtil.sendMessageToUnity(_msgStruct);
+            FreePlatformUtil.getInstace().payProcessing = false;
+        }
+    }
+
+    public static void onStop(final Activity activity)
+    {
+        FreePlatform.getInstance().onStop();
+    }
+
+    public static void onDestroy(final Activity activity)
+    {
+        FreePlatform.getInstance().onDestory();
+        Tracking.exitSdk();
+    }
+}

--
Gitblit v1.8.0