Compare commits
3 Commits
c105818f00
...
ads
| Author | SHA1 | Date | |
|---|---|---|---|
| 5b9f9ee741 | |||
| 31fac7a2b3 | |||
| 4f33446770 |
8
sdk-intergration/Assets/MaxSdk/Mediation/ByteDance.meta
Normal file
8
sdk-intergration/Assets/MaxSdk/Mediation/ByteDance.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4fac2ab3b272f487c8ef6515ae7668e1
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ef8467ffb0e4447b79a8804884a7520a
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/ByteDance/Editor
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<dependencies>
|
||||
<androidPackages>
|
||||
<androidPackage spec="com.applovin.mediation:bytedance-adapter:8.1.0.3.0">
|
||||
<repositories>
|
||||
<repository>https://artifact.bytedance.com/repository/pangle</repository>
|
||||
</repositories>
|
||||
</androidPackage>
|
||||
</androidPackages>
|
||||
<iosPods>
|
||||
<iosPod name="AppLovinMediationByteDanceAdapter" version="8.1.0.6.0" />
|
||||
</iosPods>
|
||||
</dependencies>
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0828555cb1ce94702a4af6f3dce3d735
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
sdk-intergration/Assets/MaxSdk/Mediation/Mintegral.meta
Normal file
8
sdk-intergration/Assets/MaxSdk/Mediation/Mintegral.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 324c3a2236ad740799b8b6dc27e85c82
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: db1de4066dc4e4290b3879b34fa87de2
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Mintegral/Editor
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<dependencies>
|
||||
<androidPackages>
|
||||
<androidPackage spec="com.applovin.mediation:mintegral-adapter:17.1.61.0">
|
||||
<repositories>
|
||||
<repository>https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea</repository>
|
||||
</repositories>
|
||||
</androidPackage>
|
||||
<androidPackage spec="androidx.recyclerview:recyclerview:1.2.1" />
|
||||
</androidPackages>
|
||||
<iosPods>
|
||||
<iosPod name="AppLovinMediationMintegralAdapter" version="8.1.4.0.0" />
|
||||
</iosPods>
|
||||
</dependencies>
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 221b2a20a58a04f2cb4afb0779587206
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
sdk-intergration/Assets/MaxSdk/Mediation/Moloco.meta
Normal file
8
sdk-intergration/Assets/MaxSdk/Mediation/Moloco.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a6796c876aa794d13affab798ea46f1c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
11
sdk-intergration/Assets/MaxSdk/Mediation/Moloco/Editor.meta
Normal file
11
sdk-intergration/Assets/MaxSdk/Mediation/Moloco/Editor.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9ecadc3649c184389b90252aa2a2b448
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Moloco/Editor
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<dependencies>
|
||||
<androidPackages>
|
||||
<androidPackage spec="com.applovin.mediation:moloco-adapter:4.9.0.0" />
|
||||
</androidPackages>
|
||||
<iosPods>
|
||||
<iosPod name="AppLovinMediationMolocoAdapter" version="4.6.1.1" />
|
||||
</iosPods>
|
||||
</dependencies>
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0f5b2cb1209274ba18b234b42d2efe96
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Moloco/Editor/Dependencies.xml
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
sdk-intergration/Assets/MaxSdk/Mediation/Yandex.meta
Normal file
8
sdk-intergration/Assets/MaxSdk/Mediation/Yandex.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4b1126795647541ba8c2eb166b7b70bc
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
11
sdk-intergration/Assets/MaxSdk/Mediation/Yandex/Editor.meta
Normal file
11
sdk-intergration/Assets/MaxSdk/Mediation/Yandex/Editor.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 277e2383262e844708fc74a6104f4985
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Yandex/Editor
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<dependencies>
|
||||
<androidPackages>
|
||||
<androidPackage spec="com.applovin.mediation:yandex-adapter:8.1.0.0" />
|
||||
</androidPackages>
|
||||
<iosPods>
|
||||
<iosPod name="AppLovinMediationYandexAdapter" version="8.1.0.1" />
|
||||
</iosPods>
|
||||
</dependencies>
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a77aaf886990c4e6ba469a4f083b9284
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Yandex/Editor/Dependencies.xml
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -6,9 +6,7 @@
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<application android:extractNativeLibs="true" android:name="com.unity3d.player.TYApp"
|
||||
tools:replace="android:usesCleartextTraffic"
|
||||
android:usesCleartextTraffic="true">
|
||||
<application android:extractNativeLibs="true" android:name="com.unity3d.player.TYApp" android:usesCleartextTraffic="true">
|
||||
<activity android:name="com.unity3d.player.TYUnityActivity"
|
||||
android:theme="@style/UnityThemeSelector">
|
||||
<intent-filter>
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
org.gradle.jvmargs=-Xmx**JVM_HEAP_SIZE**M
|
||||
org.gradle.parallel=true
|
||||
unityStreamingAssets=**STREAMING_ASSETS**
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
# Android Resolver Properties Start
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
# Android Resolver Properties End
|
||||
|
||||
android.suppressUnsupportedCompileSdk=35
|
||||
|
||||
**ADDITIONAL_PROPERTIES**
|
||||
|
||||
@@ -17,7 +17,6 @@ android {
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_11
|
||||
targetCompatibility JavaVersion.VERSION_11
|
||||
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
@@ -29,14 +28,6 @@ android {
|
||||
}
|
||||
versionCode **VERSIONCODE**
|
||||
versionName '**VERSIONNAME**'
|
||||
|
||||
// ↓↓↓ 这里放你的 VK ID 占位符 ↓↓↓
|
||||
manifestPlaceholders = [
|
||||
VKIDRedirectHost : "vk.ru",
|
||||
VKIDRedirectScheme: "vk54432404",
|
||||
VKIDClientID : "54432404",
|
||||
VKIDClientSecret : "WD6BO0CwPXsKMaaFX8Qq"
|
||||
]
|
||||
}
|
||||
|
||||
aaptOptions {
|
||||
|
||||
@@ -59,21 +59,19 @@ dependencies {
|
||||
implementation "androidx.credentials:credentials-play-services-auth:1.3.0"
|
||||
implementation "com.google.android.libraries.identity.googleid:googleid:1.1.1"
|
||||
|
||||
|
||||
implementation(platform("ru.rustore.sdk:bom:2025.11.01"))
|
||||
implementation("ru.rustore.sdk:pay")
|
||||
implementation "ru.rustore.sdk:review:10.0.0"
|
||||
implementation "com.vk.id:vkid:2.5.1"
|
||||
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.1.2"
|
||||
|
||||
// Android Resolver Dependencies Start
|
||||
implementation 'androidx.recyclerview:recyclerview:1.2.1' // Assets/MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml:9
|
||||
implementation 'com.android.installreferrer:installreferrer:2.1' // Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml:7
|
||||
implementation 'com.applovin.mediation:bytedance-adapter:8.1.0.3.0' // Assets/MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml:8
|
||||
implementation 'com.applovin.mediation:facebook-adapter:[6.18.0.1]' // Assets/MaxSdk/Mediation/Facebook/Editor/Dependencies.xml:8
|
||||
implementation 'com.applovin.mediation:fyber-adapter:8.4.2.0' // Assets/MaxSdk/Mediation/Fyber/Editor/Dependencies.xml:4
|
||||
implementation 'com.applovin.mediation:google-adapter:[23.6.0.1]' // Assets/MaxSdk/Mediation/Google/Editor/Dependencies.xml:5
|
||||
implementation 'com.applovin.mediation:ironsource-adapter:8.6.1.0.0' // Assets/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml:8
|
||||
implementation 'com.applovin.mediation:mintegral-adapter:17.1.61.0' // Assets/MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml:8
|
||||
implementation 'com.applovin.mediation:moloco-adapter:4.9.0.0' // Assets/MaxSdk/Mediation/Moloco/Editor/Dependencies.xml:4
|
||||
implementation 'com.applovin.mediation:unityads-adapter:4.12.3.0' // Assets/MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml:4
|
||||
implementation 'com.applovin.mediation:vungle-adapter:7.4.2.2' // Assets/MaxSdk/Mediation/Vungle/Editor/Dependencies.xml:4
|
||||
implementation 'com.applovin.mediation:yandex-adapter:8.1.0.0' // Assets/MaxSdk/Mediation/Yandex/Editor/Dependencies.xml:4
|
||||
implementation 'com.applovin:applovin-sdk:13.5.1' // Assets/MaxSdk/AppLovin/Editor/Dependencies.xml:4
|
||||
implementation 'com.appsflyer:af-android-sdk:6.17.3' // Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml:5
|
||||
implementation 'com.appsflyer:purchase-connector:2.2.0' // Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml:8
|
||||
@@ -102,7 +100,6 @@ android {
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_11
|
||||
targetCompatibility JavaVersion.VERSION_11
|
||||
coreLibraryDesugaringEnabled true
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
@@ -111,7 +108,6 @@ android {
|
||||
ndk {
|
||||
abiFilters **ABIFILTERS**
|
||||
}
|
||||
|
||||
versionCode **VERSIONCODE**
|
||||
versionName '**VERSIONNAME**'
|
||||
consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
|
||||
|
||||
@@ -16,22 +16,17 @@ dependencyResolutionManagement {
|
||||
**ARTIFACTORYREPOSITORY**
|
||||
google()
|
||||
mavenCentral()
|
||||
|
||||
maven{
|
||||
url "https://artifactory-external.vkpartner.ru/artifactory/vkid-sdk-android/"
|
||||
}
|
||||
maven{
|
||||
url "https://artifactory-external.vkpartner.ru/artifactory/maven/"
|
||||
}
|
||||
maven{
|
||||
url "https://artifactory-external.vkpartner.ru/artifactory/vk-id-captcha/android/"
|
||||
}
|
||||
|
||||
// Android Resolver Repos Start
|
||||
def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
|
||||
maven {
|
||||
url "https://artifact.bytedance.com/repository/pangle" // Assets/MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml:8
|
||||
}
|
||||
maven {
|
||||
url "https://android-sdk.is.com/" // Assets/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml:8
|
||||
}
|
||||
maven {
|
||||
url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea" // Assets/MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml:8
|
||||
}
|
||||
mavenLocal()
|
||||
// Android Resolver Repos End
|
||||
flatDir {
|
||||
|
||||
4566
sdk-intergration/Assets/Scenes/AdTest.unity
Normal file
4566
sdk-intergration/Assets/Scenes/AdTest.unity
Normal file
File diff suppressed because it is too large
Load Diff
7
sdk-intergration/Assets/Scenes/AdTest.unity.meta
Normal file
7
sdk-intergration/Assets/Scenes/AdTest.unity.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 813d4ac98b7f4092a3dddb472539f9d2
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -38,6 +38,7 @@ RenderSettings:
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0.12733836, g: 0.13418846, b: 0.12118524, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
@@ -122,85 +123,6 @@ NavMeshSettings:
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &9113281
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9113282}
|
||||
- component: {fileID: 9113284}
|
||||
- component: {fileID: 9113283}
|
||||
m_Layer: 5
|
||||
m_Name: Text (Legacy)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &9113282
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9113281}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 678940590}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &9113283
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9113281}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 33
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 1
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 0
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Review
|
||||
--- !u!222 &9113284
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9113281}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &29523098
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -443,85 +365,6 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 120435829}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &159485066
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 159485067}
|
||||
- component: {fileID: 159485069}
|
||||
- component: {fileID: 159485068}
|
||||
m_Layer: 5
|
||||
m_Name: Text (Legacy)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &159485067
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 159485066}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1113066541}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &159485068
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 159485066}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 33
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 1
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 0
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: L_VK
|
||||
--- !u!222 &159485069
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 159485066}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &174456813
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -748,127 +591,6 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 231808344}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &263924338
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 263924339}
|
||||
- component: {fileID: 263924341}
|
||||
- component: {fileID: 263924340}
|
||||
- component: {fileID: 263924342}
|
||||
m_Layer: 5
|
||||
m_Name: VkLogin
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &263924339
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 263924338}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 959891290}
|
||||
m_Father: {fileID: 1044920373}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!114 &263924340
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 263924338}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &263924341
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 263924338}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &263924342
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 263924338}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 263924340}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &276006784
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1079,12 +801,12 @@ MonoBehaviour:
|
||||
m_RequiresColorTexture: 0
|
||||
m_Version: 2
|
||||
m_TaaSettings:
|
||||
m_Quality: 3
|
||||
m_FrameInfluence: 0.1
|
||||
m_JitterScale: 1
|
||||
m_MipBias: 0
|
||||
m_VarianceClampScale: 0.9
|
||||
m_ContrastAdaptiveSharpening: 0
|
||||
quality: 3
|
||||
frameInfluence: 0.1
|
||||
jitterScale: 1
|
||||
mipBias: 0
|
||||
varianceClampScale: 0.9
|
||||
contrastAdaptiveSharpening: 0
|
||||
--- !u!1 &340278280
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1243,127 +965,6 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 354913240}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &365226264
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 365226265}
|
||||
- component: {fileID: 365226268}
|
||||
- component: {fileID: 365226267}
|
||||
- component: {fileID: 365226266}
|
||||
m_Layer: 5
|
||||
m_Name: CVk
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &365226265
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 365226264}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 425077563}
|
||||
m_Father: {fileID: 1044920373}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!114 &365226266
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 365226264}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 365226267}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!114 &365226267
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 365226264}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &365226268
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 365226264}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &407966797
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1443,85 +1044,6 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 407966797}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &425077562
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 425077563}
|
||||
- component: {fileID: 425077565}
|
||||
- component: {fileID: 425077564}
|
||||
m_Layer: 5
|
||||
m_Name: Text (Legacy)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &425077563
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 425077562}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 365226265}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &425077564
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 425077562}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 33
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 1
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 0
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: C_VK
|
||||
--- !u!222 &425077565
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 425077562}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &571824850
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1643,127 +1165,6 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 571824850}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &678940589
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 678940590}
|
||||
- component: {fileID: 678940593}
|
||||
- component: {fileID: 678940592}
|
||||
- component: {fileID: 678940591}
|
||||
m_Layer: 5
|
||||
m_Name: Review
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &678940590
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 678940589}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 9113282}
|
||||
m_Father: {fileID: 1044920373}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!114 &678940591
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 678940589}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 678940592}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!114 &678940592
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 678940589}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &678940593
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 678940589}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &686445508
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -2643,85 +2044,6 @@ MonoBehaviour:
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &959891289
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 959891290}
|
||||
- component: {fileID: 959891292}
|
||||
- component: {fileID: 959891291}
|
||||
m_Layer: 5
|
||||
m_Name: Text (Legacy)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &959891290
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 959891289}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 263924339}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &959891291
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 959891289}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 33
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 1
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 0
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: VK
|
||||
--- !u!222 &959891292
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 959891289}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &1033367769
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -2954,14 +2276,11 @@ RectTransform:
|
||||
- {fileID: 1956900235}
|
||||
- {fileID: 1910171036}
|
||||
- {fileID: 1188788676}
|
||||
- {fileID: 263924339}
|
||||
- {fileID: 1627053315}
|
||||
- {fileID: 1668967320}
|
||||
- {fileID: 834002869}
|
||||
- {fileID: 1094138236}
|
||||
- {fileID: 698899140}
|
||||
- {fileID: 1113066541}
|
||||
- {fileID: 365226265}
|
||||
- {fileID: 948068709}
|
||||
- {fileID: 1033467961}
|
||||
- {fileID: 571824851}
|
||||
@@ -2974,7 +2293,6 @@ RectTransform:
|
||||
- {fileID: 1686948820}
|
||||
- {fileID: 827533342}
|
||||
- {fileID: 1240291498}
|
||||
- {fileID: 678940590}
|
||||
m_Father: {fileID: 1451597222}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@@ -3448,127 +2766,6 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1110300852}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &1113066540
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1113066541}
|
||||
- component: {fileID: 1113066544}
|
||||
- component: {fileID: 1113066543}
|
||||
- component: {fileID: 1113066542}
|
||||
m_Layer: 5
|
||||
m_Name: LVK
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1113066541
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1113066540}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 159485067}
|
||||
m_Father: {fileID: 1044920373}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!114 &1113066542
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1113066540}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 1113066543}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!114 &1113066543
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1113066540}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &1113066544
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1113066540}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &1156426215
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -4946,12 +4143,9 @@ MonoBehaviour:
|
||||
_InitBtn: {fileID: 1956900236}
|
||||
_loginGuestBtn: {fileID: 1910171037}
|
||||
_loginGoogleBtn: {fileID: 1188788679}
|
||||
_loginVkBtn: {fileID: 263924342}
|
||||
_loginFbBtn: {fileID: 1627053318}
|
||||
_loginAppleBtn: {fileID: 1668967321}
|
||||
_loginTokenBtn: {fileID: 834002870}
|
||||
_linkVkBtn: {fileID: 1113066542}
|
||||
_checkVkBtn: {fileID: 365226266}
|
||||
_linkGoogleBtn: {fileID: 1094138239}
|
||||
_checkGoogleBtn: {fileID: 698899143}
|
||||
_linkFacbookBtn: {fileID: 948068712}
|
||||
@@ -4966,7 +4160,6 @@ MonoBehaviour:
|
||||
_signoutBtn: {fileID: 1686948823}
|
||||
_fbShareLinkBtn: {fileID: 827533345}
|
||||
_mfbShareLinkBtn: {fileID: 1240291501}
|
||||
_reviewBtn: {fileID: 678940591}
|
||||
_messageTxt: {fileID: 2070325010}
|
||||
--- !u!4 &1788702880
|
||||
Transform:
|
||||
|
||||
8
sdk-intergration/Assets/Scripts/AdTesting.meta
Normal file
8
sdk-intergration/Assets/Scripts/AdTesting.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9176f7473eb140f4af98b026642a0c8c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
public static class AdReadyStateLog
|
||||
{
|
||||
public static string FormatReadyCheck(string format, string adUnitId, bool isReady)
|
||||
{
|
||||
string status = isReady ? "OK" : "WARNING";
|
||||
return $"[{format}] Loaded callback ready check: adUnitId={adUnitId}, IsReady={isReady}, {status}";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6db64ebff4c74a8e987935dcdf9fd211
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
423
sdk-intergration/Assets/Scripts/AdTesting/AdTest.cs
Normal file
423
sdk-intergration/Assets/Scripts/AdTesting/AdTest.cs
Normal file
@@ -0,0 +1,423 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class AdTest : MonoBehaviour
|
||||
{
|
||||
[Header("Rewarded")]
|
||||
[SerializeField] private string androidRewardedAdUnitId = "c6c49a100de8496c";
|
||||
[SerializeField] private string iosRewardedAdUnitId = "ec3c8fd688cdb5e2";
|
||||
|
||||
[Header("Interstitial")]
|
||||
[SerializeField] private string androidInterstitialAdUnitId = "0dcd37fa0885aa1f";
|
||||
[SerializeField] private string iosInterstitialAdUnitId = "interstitial_test_ios";
|
||||
|
||||
[Header("UI")]
|
||||
[SerializeField] private Button initMaxButton;
|
||||
[SerializeField] private Button loadRewardedButton;
|
||||
[SerializeField] private Button showRewardedButton;
|
||||
[SerializeField] private Button forceShowRewardedButton;
|
||||
[SerializeField] private Button checkRewardedReadyButton;
|
||||
[SerializeField] private Button loadInterstitialButton;
|
||||
[SerializeField] private Button showInterstitialButton;
|
||||
[SerializeField] private Button forceShowInterstitialButton;
|
||||
[SerializeField] private Button checkInterstitialReadyButton;
|
||||
[SerializeField] private Button mediationDebuggerButton;
|
||||
[SerializeField] private Button clearLogButton;
|
||||
[SerializeField] private Text logText;
|
||||
|
||||
private const int MaxLogLines = 80;
|
||||
private readonly List<string> logLines = new List<string>();
|
||||
private bool callbacksRegistered;
|
||||
private bool sdkInitializeRequested;
|
||||
private int rewardedLoadFailCount;
|
||||
private int interstitialLoadFailCount;
|
||||
|
||||
private string RewardedAdUnitId
|
||||
{
|
||||
get
|
||||
{
|
||||
#if UNITY_IOS
|
||||
return iosRewardedAdUnitId;
|
||||
#else
|
||||
return androidRewardedAdUnitId;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
private string InterstitialAdUnitId
|
||||
{
|
||||
get
|
||||
{
|
||||
#if UNITY_IOS
|
||||
return iosInterstitialAdUnitId;
|
||||
#else
|
||||
return androidInterstitialAdUnitId;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public void Configure(
|
||||
Button initMax,
|
||||
Button loadRewarded,
|
||||
Button showRewarded,
|
||||
Button forceShowRewarded,
|
||||
Button checkRewardedReady,
|
||||
Button loadInterstitial,
|
||||
Button showInterstitial,
|
||||
Button forceShowInterstitial,
|
||||
Button checkInterstitialReady,
|
||||
Button mediationDebugger,
|
||||
Button clearLog,
|
||||
Text output)
|
||||
{
|
||||
initMaxButton = initMax;
|
||||
loadRewardedButton = loadRewarded;
|
||||
showRewardedButton = showRewarded;
|
||||
forceShowRewardedButton = forceShowRewarded;
|
||||
checkRewardedReadyButton = checkRewardedReady;
|
||||
loadInterstitialButton = loadInterstitial;
|
||||
showInterstitialButton = showInterstitial;
|
||||
forceShowInterstitialButton = forceShowInterstitial;
|
||||
checkInterstitialReadyButton = checkInterstitialReady;
|
||||
mediationDebuggerButton = mediationDebugger;
|
||||
clearLogButton = clearLog;
|
||||
logText = output;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
Bind(initMaxButton, InitMax);
|
||||
Bind(loadRewardedButton, LoadRewarded);
|
||||
Bind(showRewardedButton, ShowRewarded);
|
||||
Bind(forceShowRewardedButton, ForceShowRewarded);
|
||||
Bind(checkRewardedReadyButton, CheckRewardedReady);
|
||||
Bind(loadInterstitialButton, LoadInterstitial);
|
||||
Bind(showInterstitialButton, ShowInterstitial);
|
||||
Bind(forceShowInterstitialButton, ForceShowInterstitial);
|
||||
Bind(checkInterstitialReadyButton, CheckInterstitialReady);
|
||||
Bind(mediationDebuggerButton, ShowMediationDebugger);
|
||||
Bind(clearLogButton, ClearLog);
|
||||
AppendLog("AdTest ready.");
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (!callbacksRegistered)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
MaxSdkCallbacks.OnSdkInitializedEvent -= OnSdkInitialized;
|
||||
|
||||
MaxSdkCallbacks.Rewarded.OnAdLoadedEvent -= OnRewardedAdLoaded;
|
||||
MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent -= OnRewardedAdLoadFailed;
|
||||
MaxSdkCallbacks.Rewarded.OnAdDisplayedEvent -= OnRewardedAdDisplayed;
|
||||
MaxSdkCallbacks.Rewarded.OnAdDisplayFailedEvent -= OnRewardedAdDisplayFailed;
|
||||
MaxSdkCallbacks.Rewarded.OnAdHiddenEvent -= OnRewardedAdHidden;
|
||||
MaxSdkCallbacks.Rewarded.OnAdReceivedRewardEvent -= OnRewardedAdReceivedReward;
|
||||
MaxSdkCallbacks.Rewarded.OnAdRevenuePaidEvent -= OnRewardedAdRevenuePaid;
|
||||
|
||||
MaxSdkCallbacks.Interstitial.OnAdLoadedEvent -= OnInterstitialAdLoaded;
|
||||
MaxSdkCallbacks.Interstitial.OnAdLoadFailedEvent -= OnInterstitialAdLoadFailed;
|
||||
MaxSdkCallbacks.Interstitial.OnAdDisplayedEvent -= OnInterstitialAdDisplayed;
|
||||
MaxSdkCallbacks.Interstitial.OnAdDisplayFailedEvent -= OnInterstitialAdDisplayFailed;
|
||||
MaxSdkCallbacks.Interstitial.OnAdHiddenEvent -= OnInterstitialAdHidden;
|
||||
MaxSdkCallbacks.Interstitial.OnAdRevenuePaidEvent -= OnInterstitialAdRevenuePaid;
|
||||
}
|
||||
|
||||
private void Bind(Button button, Action action)
|
||||
{
|
||||
if (button == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
button.onClick.AddListener(() => action());
|
||||
}
|
||||
|
||||
public void InitMax()
|
||||
{
|
||||
RegisterCallbacks();
|
||||
|
||||
if (sdkInitializeRequested)
|
||||
{
|
||||
AppendLog("MAX initialization already requested.");
|
||||
return;
|
||||
}
|
||||
|
||||
sdkInitializeRequested = true;
|
||||
MaxSdk.SetHasUserConsent(true);
|
||||
MaxSdk.SetDoNotSell(false);
|
||||
#if UNITY_IOS
|
||||
MaxSdk.SetExtraParameter("disable_b2b_ad_unit_ids", "ec3c8fd688cdb5e2,00442f7962682a80");
|
||||
#else
|
||||
MaxSdk.SetExtraParameter("disable_b2b_ad_unit_ids", "c6c49a100de8496c,0dcd37fa0885aa1f");
|
||||
#endif
|
||||
MaxSdk.InitializeSdk();
|
||||
AppendLog("MAX initialization requested.");
|
||||
}
|
||||
|
||||
public void LoadRewarded()
|
||||
{
|
||||
EnsureInitialized();
|
||||
AppendLog($"Load rewarded: {RewardedAdUnitId}");
|
||||
MaxSdk.LoadRewardedAd(RewardedAdUnitId);
|
||||
}
|
||||
|
||||
public void ShowRewarded()
|
||||
{
|
||||
EnsureInitialized();
|
||||
bool isReady = MaxSdk.IsRewardedAdReady(RewardedAdUnitId);
|
||||
AppendLog($"Show rewarded requested. IsReady={isReady}");
|
||||
|
||||
if (isReady)
|
||||
{
|
||||
MaxSdk.ShowRewardedAd(RewardedAdUnitId);
|
||||
return;
|
||||
}
|
||||
|
||||
LoadRewarded();
|
||||
}
|
||||
|
||||
public void ForceShowRewarded()
|
||||
{
|
||||
EnsureInitialized();
|
||||
AppendLog($"Force show rewarded without ready check: {RewardedAdUnitId}");
|
||||
MaxSdk.ShowRewardedAd(RewardedAdUnitId);
|
||||
}
|
||||
|
||||
public void CheckRewardedReady()
|
||||
{
|
||||
EnsureInitialized();
|
||||
bool isReady = MaxSdk.IsRewardedAdReady(RewardedAdUnitId);
|
||||
AppendReadyCheck("Rewarded", RewardedAdUnitId, isReady);
|
||||
}
|
||||
|
||||
public void LoadInterstitial()
|
||||
{
|
||||
EnsureInitialized();
|
||||
if (string.IsNullOrEmpty(InterstitialAdUnitId))
|
||||
{
|
||||
AppendWarning("Interstitial ad unit ID is empty.");
|
||||
return;
|
||||
}
|
||||
|
||||
AppendLog($"Load interstitial: {InterstitialAdUnitId}");
|
||||
MaxSdk.LoadInterstitial(InterstitialAdUnitId);
|
||||
}
|
||||
|
||||
public void ShowInterstitial()
|
||||
{
|
||||
EnsureInitialized();
|
||||
if (string.IsNullOrEmpty(InterstitialAdUnitId))
|
||||
{
|
||||
AppendWarning("Interstitial ad unit ID is empty.");
|
||||
return;
|
||||
}
|
||||
|
||||
bool isReady = MaxSdk.IsInterstitialReady(InterstitialAdUnitId);
|
||||
AppendLog($"Show interstitial requested. IsReady={isReady}");
|
||||
|
||||
if (isReady)
|
||||
{
|
||||
MaxSdk.ShowInterstitial(InterstitialAdUnitId);
|
||||
return;
|
||||
}
|
||||
|
||||
LoadInterstitial();
|
||||
}
|
||||
|
||||
public void ForceShowInterstitial()
|
||||
{
|
||||
EnsureInitialized();
|
||||
if (string.IsNullOrEmpty(InterstitialAdUnitId))
|
||||
{
|
||||
AppendWarning("Interstitial ad unit ID is empty.");
|
||||
return;
|
||||
}
|
||||
|
||||
AppendLog($"Force show interstitial without ready check: {InterstitialAdUnitId}");
|
||||
MaxSdk.ShowInterstitial(InterstitialAdUnitId);
|
||||
}
|
||||
|
||||
public void CheckInterstitialReady()
|
||||
{
|
||||
EnsureInitialized();
|
||||
if (string.IsNullOrEmpty(InterstitialAdUnitId))
|
||||
{
|
||||
AppendWarning("Interstitial ad unit ID is empty.");
|
||||
return;
|
||||
}
|
||||
|
||||
bool isReady = MaxSdk.IsInterstitialReady(InterstitialAdUnitId);
|
||||
AppendReadyCheck("Interstitial", InterstitialAdUnitId, isReady);
|
||||
}
|
||||
|
||||
public void ClearLog()
|
||||
{
|
||||
logLines.Clear();
|
||||
if (logText != null)
|
||||
{
|
||||
logText.text = string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
public void ShowMediationDebugger()
|
||||
{
|
||||
AppendLog("Show mediation debugger requested.");
|
||||
MaxSdk.ShowMediationDebugger();
|
||||
}
|
||||
|
||||
private void EnsureInitialized()
|
||||
{
|
||||
if (!sdkInitializeRequested)
|
||||
{
|
||||
InitMax();
|
||||
}
|
||||
}
|
||||
|
||||
private void RegisterCallbacks()
|
||||
{
|
||||
if (callbacksRegistered)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
callbacksRegistered = true;
|
||||
MaxSdkCallbacks.OnSdkInitializedEvent += OnSdkInitialized;
|
||||
|
||||
MaxSdkCallbacks.Rewarded.OnAdLoadedEvent += OnRewardedAdLoaded;
|
||||
MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent += OnRewardedAdLoadFailed;
|
||||
MaxSdkCallbacks.Rewarded.OnAdDisplayedEvent += OnRewardedAdDisplayed;
|
||||
MaxSdkCallbacks.Rewarded.OnAdDisplayFailedEvent += OnRewardedAdDisplayFailed;
|
||||
MaxSdkCallbacks.Rewarded.OnAdHiddenEvent += OnRewardedAdHidden;
|
||||
MaxSdkCallbacks.Rewarded.OnAdReceivedRewardEvent += OnRewardedAdReceivedReward;
|
||||
MaxSdkCallbacks.Rewarded.OnAdRevenuePaidEvent += OnRewardedAdRevenuePaid;
|
||||
|
||||
MaxSdkCallbacks.Interstitial.OnAdLoadedEvent += OnInterstitialAdLoaded;
|
||||
MaxSdkCallbacks.Interstitial.OnAdLoadFailedEvent += OnInterstitialAdLoadFailed;
|
||||
MaxSdkCallbacks.Interstitial.OnAdDisplayedEvent += OnInterstitialAdDisplayed;
|
||||
MaxSdkCallbacks.Interstitial.OnAdDisplayFailedEvent += OnInterstitialAdDisplayFailed;
|
||||
MaxSdkCallbacks.Interstitial.OnAdHiddenEvent += OnInterstitialAdHidden;
|
||||
MaxSdkCallbacks.Interstitial.OnAdRevenuePaidEvent += OnInterstitialAdRevenuePaid;
|
||||
}
|
||||
|
||||
private void OnSdkInitialized(MaxSdkBase.SdkConfiguration configuration)
|
||||
{
|
||||
AppendLog($"MAX initialized. Success={configuration.IsSuccessfullyInitialized}");
|
||||
}
|
||||
|
||||
private void OnRewardedAdLoaded(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
rewardedLoadFailCount = 0;
|
||||
AppendLog($"Rewarded loaded callback: {adUnitId}");
|
||||
bool isReady = MaxSdk.IsRewardedAdReady(adUnitId);
|
||||
AppendReadyCheck("Rewarded", adUnitId, isReady);
|
||||
}
|
||||
|
||||
private void OnRewardedAdLoadFailed(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
|
||||
{
|
||||
rewardedLoadFailCount++;
|
||||
AppendWarning($"Rewarded load failed: {adUnitId}, attempt={rewardedLoadFailCount}, message={errorInfo.Message}");
|
||||
}
|
||||
|
||||
private void OnRewardedAdDisplayed(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
AppendLog($"Rewarded displayed: {adUnitId}");
|
||||
}
|
||||
|
||||
private void OnRewardedAdDisplayFailed(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
AppendWarning($"Rewarded display failed: {adUnitId}, message={errorInfo.Message}");
|
||||
LoadRewarded();
|
||||
}
|
||||
|
||||
private void OnRewardedAdHidden(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
AppendLog($"Rewarded hidden: {adUnitId}");
|
||||
LoadRewarded();
|
||||
}
|
||||
|
||||
private void OnRewardedAdReceivedReward(string adUnitId, MaxSdkBase.Reward reward, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
AppendLog($"Rewarded received reward: {adUnitId}, label={reward.Label}, amount={reward.Amount}");
|
||||
}
|
||||
|
||||
private void OnRewardedAdRevenuePaid(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
AppendLog($"Rewarded revenue paid: {adUnitId}, revenue={adInfo.Revenue}");
|
||||
}
|
||||
|
||||
private void OnInterstitialAdLoaded(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
interstitialLoadFailCount = 0;
|
||||
AppendLog($"Interstitial loaded callback: {adUnitId}");
|
||||
bool isReady = MaxSdk.IsInterstitialReady(adUnitId);
|
||||
AppendReadyCheck("Interstitial", adUnitId, isReady);
|
||||
}
|
||||
|
||||
private void OnInterstitialAdLoadFailed(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
|
||||
{
|
||||
interstitialLoadFailCount++;
|
||||
AppendWarning($"Interstitial load failed: {adUnitId}, attempt={interstitialLoadFailCount}, message={errorInfo.Message}");
|
||||
}
|
||||
|
||||
private void OnInterstitialAdDisplayed(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
AppendLog($"Interstitial displayed: {adUnitId}");
|
||||
}
|
||||
|
||||
private void OnInterstitialAdDisplayFailed(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
AppendWarning($"Interstitial display failed: {adUnitId}, message={errorInfo.Message}");
|
||||
LoadInterstitial();
|
||||
}
|
||||
|
||||
private void OnInterstitialAdHidden(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
AppendLog($"Interstitial hidden: {adUnitId}");
|
||||
LoadInterstitial();
|
||||
}
|
||||
|
||||
private void OnInterstitialAdRevenuePaid(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
AppendLog($"Interstitial revenue paid: {adUnitId}, revenue={adInfo.Revenue}");
|
||||
}
|
||||
|
||||
private void AppendReadyCheck(string format, string adUnitId, bool isReady)
|
||||
{
|
||||
string line = AdReadyStateLog.FormatReadyCheck(format, adUnitId, isReady);
|
||||
if (isReady)
|
||||
{
|
||||
AppendLog(line);
|
||||
}
|
||||
else
|
||||
{
|
||||
AppendWarning(line);
|
||||
}
|
||||
}
|
||||
|
||||
private void AppendWarning(string message)
|
||||
{
|
||||
AppendLog(message, true);
|
||||
}
|
||||
|
||||
private void AppendLog(string message, bool warning = false)
|
||||
{
|
||||
string line = $"[{DateTime.Now:HH:mm:ss}] {message}";
|
||||
logLines.Add(line);
|
||||
while (logLines.Count > MaxLogLines)
|
||||
{
|
||||
logLines.RemoveAt(0);
|
||||
}
|
||||
|
||||
if (logText != null)
|
||||
{
|
||||
logText.text = string.Join("\n", logLines);
|
||||
}
|
||||
|
||||
// This scene is for device-side manual QA, so the UI log is the source of truth.
|
||||
}
|
||||
}
|
||||
11
sdk-intergration/Assets/Scripts/AdTesting/AdTest.cs.meta
Normal file
11
sdk-intergration/Assets/Scripts/AdTesting/AdTest.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 70a4079f02f94f47a9a065de6d76f8f2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,98 @@
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
|
||||
public class AdTestSceneBootstrap : MonoBehaviour
|
||||
{
|
||||
private void Awake()
|
||||
{
|
||||
EnsureEventSystem();
|
||||
|
||||
AdTest adTest = GetComponent<AdTest>();
|
||||
if (adTest == null)
|
||||
{
|
||||
adTest = gameObject.AddComponent<AdTest>();
|
||||
}
|
||||
|
||||
adTest.Configure(
|
||||
FindButton("InitMax", "Init"),
|
||||
FindButton("LoadRewardedAd", "LoadRewarded", "Load Rewarded", "RewardedLoad"),
|
||||
FindButton("RewardedAd", "Max", "ShowRewarded", "Show Rewarded", "RewardedShow"),
|
||||
FindButton("ForceRewardedAd", "ForceRewarded", "Force Rewarded"),
|
||||
FindButton("CheckRewardedReady", "CheckRewarded", "Check Rewarded", "RewardedReady"),
|
||||
FindButton("LoadInterstitialAd", "LoadInterstitial", "Load Interstitial", "InterstitialLoad", "PayList"),
|
||||
FindButton("ShowInterstitialAd", "ShowInterstitial", "Show Interstitial", "InterstitialShow", "Pay"),
|
||||
FindButton("ForceInterstitialAd", "ForceInterstitial", "Force Interstitial"),
|
||||
FindButton("CheckInterstitialReady", "CheckInterstitial", "Check Interstitial", "InterstitialReady"),
|
||||
FindButton("MediationDebugger", "ATT", "Debugger", "Mediation Debugger"),
|
||||
FindButton("ClearLog", "Clear Log"),
|
||||
FindText("Message", "Log", "LogText"));
|
||||
|
||||
RenameButton("InitMax", "Init MAX");
|
||||
RenameButton("LoadRewardedAd", "Load Reward");
|
||||
RenameButton("CheckRewardedReady", "Check Reward");
|
||||
RenameButton("RewardedAd", "Rewarded");
|
||||
RenameButton("ForceRewardedAd", "Force Reward");
|
||||
RenameButton("LoadInterstitialAd", "Load Inter");
|
||||
RenameButton("CheckInterstitialReady", "Check Inter");
|
||||
RenameButton("ShowInterstitialAd", "Show Inter");
|
||||
RenameButton("ForceInterstitialAd", "Force Inter");
|
||||
RenameButton("MediationDebugger", "Debugger");
|
||||
RenameButton("ClearLog", "Clear Log");
|
||||
}
|
||||
|
||||
private void EnsureEventSystem()
|
||||
{
|
||||
if (FindObjectOfType<EventSystem>() != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
GameObject eventSystem = new GameObject("EventSystem");
|
||||
eventSystem.AddComponent<EventSystem>();
|
||||
eventSystem.AddComponent<StandaloneInputModule>();
|
||||
}
|
||||
|
||||
private Button FindButton(params string[] names)
|
||||
{
|
||||
foreach (string name in names)
|
||||
{
|
||||
GameObject target = GameObject.Find(name);
|
||||
if (target != null && target.TryGetComponent(out Button button))
|
||||
{
|
||||
return button;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private Text FindText(params string[] names)
|
||||
{
|
||||
foreach (string name in names)
|
||||
{
|
||||
GameObject target = GameObject.Find(name);
|
||||
if (target != null && target.TryGetComponent(out Text text))
|
||||
{
|
||||
return text;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private void RenameButton(string buttonName, string label)
|
||||
{
|
||||
GameObject target = GameObject.Find(buttonName);
|
||||
if (target == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Text text = target.GetComponentInChildren<Text>();
|
||||
if (text != null)
|
||||
{
|
||||
text.text = label;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7f4c0e3f6b3d4d6b9b8a923dc1274d31
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -16,8 +16,6 @@ public class SDKTest : MonoBehaviour
|
||||
private Button _loginGuestBtn;
|
||||
[SerializeField]
|
||||
private Button _loginGoogleBtn;
|
||||
[SerializeField] // 海外VkId 登陆
|
||||
private Button _loginVkBtn;
|
||||
[SerializeField]
|
||||
private Button _loginFbBtn;
|
||||
[SerializeField]
|
||||
@@ -25,10 +23,6 @@ public class SDKTest : MonoBehaviour
|
||||
[SerializeField]
|
||||
private Button _loginTokenBtn;
|
||||
[SerializeField]
|
||||
private Button _linkVkBtn;
|
||||
[SerializeField]
|
||||
private Button _checkVkBtn;
|
||||
[SerializeField]
|
||||
private Button _linkGoogleBtn;
|
||||
[SerializeField]
|
||||
private Button _checkGoogleBtn;
|
||||
@@ -56,10 +50,6 @@ public class SDKTest : MonoBehaviour
|
||||
private Button _fbShareLinkBtn;
|
||||
[SerializeField]
|
||||
private Button _mfbShareLinkBtn;
|
||||
|
||||
[SerializeField]
|
||||
private Button _reviewBtn;
|
||||
|
||||
[SerializeField]
|
||||
private Text _messageTxt;
|
||||
|
||||
@@ -74,7 +64,7 @@ public class SDKTest : MonoBehaviour
|
||||
//===============================================================================
|
||||
//====================== Test Server ===========================
|
||||
// UnityBridgeFunc.UnityResetServerUrl("https://128-hwsfsdk-sdk-test01.qijihdhk.com");
|
||||
config.Set("AGG_SERVER", "https://128-hwsfsdk-sdk-test01.qijihdhk.com");
|
||||
// config.Set("AGG_SERVER", "https://128-hwsfsdk-sdk-test01.qijihdhk.com");
|
||||
//====================== Test Server ===========================
|
||||
//===============================================================================
|
||||
//
|
||||
@@ -82,8 +72,6 @@ public class SDKTest : MonoBehaviour
|
||||
_loginGuestBtn.onClick.AddListener(() => OnLogin(EAccoutType.hwGuest));
|
||||
_loginGoogleBtn.onClick.AddListener(() => OnLogin(EAccoutType.hwGoogle));
|
||||
_loginFbBtn.onClick.AddListener(() => OnLogin(EAccoutType.hwFacebook));
|
||||
_loginVkBtn.onClick.AddListener(()=> OnLogin(EAccoutType.hwVkid));
|
||||
|
||||
#if UNITY_IOS
|
||||
_loginAppleBtn.onClick.AddListener(() => OnLogin(EAccoutType.Apple));
|
||||
#endif
|
||||
@@ -91,8 +79,6 @@ public class SDKTest : MonoBehaviour
|
||||
_logOutBtn.onClick.AddListener(OnLogout);
|
||||
_linkGoogleBtn.onClick.AddListener(OnLinkGoogle);
|
||||
_checkGoogleBtn.onClick.AddListener(OncheckGoogle);
|
||||
_linkVkBtn.onClick.AddListener(OnLinkVkId);
|
||||
_checkVkBtn.onClick.AddListener(OnCheckVKId);
|
||||
_linkFacbookBtn.onClick.AddListener(OnLinkFacebook);
|
||||
_linkAppleBtn.onClick.AddListener(OnLinkApple);
|
||||
_checkFacbookBtn.onClick.AddListener(OncheckFacebook);
|
||||
@@ -104,7 +90,6 @@ public class SDKTest : MonoBehaviour
|
||||
_signoutBtn.onClick.AddListener(OnSignoutBtn);
|
||||
_fbShareLinkBtn.onClick.AddListener(OnFBShareLinkBtn);
|
||||
_mfbShareLinkBtn.onClick.AddListener(OnMessengerShareLinkBtn);
|
||||
_reviewBtn.onClick.AddListener(OnReview);
|
||||
Debug.Log("SDKTest Started");
|
||||
}
|
||||
|
||||
@@ -127,8 +112,8 @@ public class SDKTest : MonoBehaviour
|
||||
var customId = TDAnalytics.GetDistinctId();
|
||||
var customId_2 = TDAnalytics.GetDistinctId("0caf287574bd4a9bb08be8995705ef6f");
|
||||
Debug.Log($"customId = {customId}, customId_2 = {customId_2}");
|
||||
|
||||
// UnityBridgeFunc.UnityResetServerUrl("https://128-hwsfsdk-sdk-test01.qijihdhk.com");
|
||||
|
||||
UnityBridgeFunc.UnityResetServerUrl("https://128-hwsfsdk-sdk-test01.qijihdhk.com");
|
||||
}
|
||||
|
||||
int retryAttempt;
|
||||
@@ -148,11 +133,16 @@ public class SDKTest : MonoBehaviour
|
||||
MaxSdkCallbacks.OnSdkInitializedEvent += (MaxSdkBase.SdkConfiguration sdkConfiguration) =>
|
||||
{
|
||||
Debug.Log($"[MaxSdk::OnSdkInitializedEvent] Init:{sdkConfiguration.IsSuccessfullyInitialized}");
|
||||
};
|
||||
MaxSdk.SetHasUserConsent(true);
|
||||
MaxSdk.SetDoNotSell(false);
|
||||
MaxSdk.InitializeSdk();
|
||||
}
|
||||
};
|
||||
MaxSdk.SetHasUserConsent(true);
|
||||
MaxSdk.SetDoNotSell(false);
|
||||
#if UNITY_IOS
|
||||
MaxSdk.SetExtraParameter("disable_b2b_ad_unit_ids", "ec3c8fd688cdb5e2,00442f7962682a80");
|
||||
#else
|
||||
MaxSdk.SetExtraParameter("disable_b2b_ad_unit_ids", "c6c49a100de8496c,0dcd37fa0885aa1f");
|
||||
#endif
|
||||
MaxSdk.InitializeSdk();
|
||||
}
|
||||
|
||||
private async void OnLogin(EAccoutType accoutType)
|
||||
{
|
||||
@@ -200,11 +190,9 @@ public class SDKTest : MonoBehaviour
|
||||
#endif
|
||||
|
||||
var purchaseInfo = new JObject();
|
||||
// purchaseInfo["ver"] = 2;
|
||||
purchaseInfo["pfid"] = "TestPlayer";
|
||||
// purchaseInfo["sum"] = sku.ProdPrice;
|
||||
purchaseInfo["customData"] = "{\"test\":\"test\"}";
|
||||
// purchaseInfo[]
|
||||
|
||||
|
||||
PaymentInfo payResult = await TYSdkFacade.Instance.Pay(sku, 1, sku.ProdPrice, purchaseInfo);
|
||||
_messageTxt.text = "\n" + $"Success : {payResult.isSuccess}";
|
||||
@@ -223,7 +211,6 @@ public class SDKTest : MonoBehaviour
|
||||
_messageTxt.text = "products count:::" + result.products.Count;
|
||||
_messageTxt.text += "\n" + result.products[0].ToString();
|
||||
sku = result.products[0];
|
||||
Debug.Log($"sku = {sku}");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -346,12 +333,6 @@ eb68f93a08156e04
|
||||
Debug.Log($"[AD LOG]Rewarded ad revenue paid \n {adInfo.ToString()}");
|
||||
}
|
||||
|
||||
private async void OnLinkVkId()
|
||||
{
|
||||
_messageTxt.text = string.Empty;
|
||||
var isSuccess = await TYSdkFacade.Instance.LinkAccount(EAccoutType.hwVkid);
|
||||
_messageTxt.text = $"\n link VkId account : {isSuccess} {isSuccess.code}";
|
||||
}
|
||||
|
||||
private async void OnLinkGoogle()
|
||||
{
|
||||
@@ -374,12 +355,6 @@ eb68f93a08156e04
|
||||
_messageTxt.text = $"\n link facebook account : {isSuccess}";
|
||||
}
|
||||
|
||||
private async void OnCheckVKId()
|
||||
{
|
||||
_messageTxt.text = string.Empty;
|
||||
var isSuccess = await TYSdkFacade.Instance.LinkCheck(EAccoutType.hwVkid);
|
||||
_messageTxt.text = $"\n google account linked : {isSuccess}";
|
||||
}
|
||||
private async void OncheckGoogle()
|
||||
{
|
||||
_messageTxt.text = string.Empty;
|
||||
@@ -409,11 +384,6 @@ eb68f93a08156e04
|
||||
UnityBridgeFunc.MessengerShareLink("title", "content", "https://www.baidu.com");
|
||||
}
|
||||
|
||||
private void OnReview()
|
||||
{
|
||||
UnityBridgeFunc.Review();
|
||||
}
|
||||
|
||||
/*
|
||||
public void OnTaBtn()
|
||||
{
|
||||
|
||||
@@ -76,12 +76,6 @@ MonoBehaviour:
|
||||
type: 3}
|
||||
dataDrivenLensFlare: {fileID: 4800000, guid: 6cda457ac28612740adb23da5d39ea92,
|
||||
type: 3}
|
||||
terrainDetailLitPS: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144,
|
||||
type: 3}
|
||||
terrainDetailGrassPS: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1,
|
||||
type: 3}
|
||||
terrainDetailGrassBillboardPS: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90,
|
||||
type: 3}
|
||||
m_AssetVersion: 2
|
||||
m_OpaqueLayerMask:
|
||||
serializedVersion: 2
|
||||
|
||||
@@ -7,7 +7,7 @@ public class ConfigManager {
|
||||
public static String SDK_GAMEID = "20587";
|
||||
public static String SDK_PROJECTID = "20587";
|
||||
public static String SDK_CLOUDID = "128";
|
||||
public static String SDK_CLIENTID = "Android_5.00_tyGuest,facebook.googleplay.0-hall20587.rustore.FishingTravel";
|
||||
public static String SDK_CLIENTID = "Android_5.00_tyGuest,facebook.googleplay.0-hall20587.googleplay.FishingMaster";
|
||||
|
||||
public static String SDK_LOGIN_SERVER_URL = "https://128-hwsfsdk-sdk-online01.qijihdhk.com";
|
||||
|
||||
@@ -28,5 +28,4 @@ public class ConfigManager {
|
||||
public static final String PAY_TYPE_CALLBACK_FUNCTION_NAME = "SKUListResult";
|
||||
public static final String FCM_NOTICE_FUNCTION_NAME = "FCMCallback";
|
||||
public static final String FCM_REALNAME_CALLBACK_FUNCTION_NAME = "RealNameCallback";
|
||||
|
||||
}
|
||||
|
||||
@@ -511,125 +511,20 @@ public class SDKManager {
|
||||
|
||||
public static void Review()
|
||||
{
|
||||
// ReviewManager manager = ReviewManagerFactory.create(SDKWrapper.getInstance().getContext());
|
||||
// Task<ReviewInfo> request = manager.requestReviewFlow();
|
||||
// request.addOnCompleteListener(reqTask -> {
|
||||
// if (reqTask.isSuccessful()) {
|
||||
// ReviewInfo reviewInfo = reqTask.getResult();
|
||||
// Activity activity = UnityPlayer.currentActivity;
|
||||
// manager.launchReviewFlow(activity, reviewInfo);
|
||||
// } else {
|
||||
// @ReviewErrorCode int reviewErrorCode = ((ReviewException) request.getException()).getErrorCode();
|
||||
// Log.e(TAG,"Review Error code: " + reviewErrorCode);
|
||||
// }
|
||||
// });
|
||||
// Runnable
|
||||
RuStoreReview();
|
||||
}
|
||||
//- Rustore相关接口
|
||||
public interface ReviewResultCallback {
|
||||
void onReviewSuccess(JSONObject result);
|
||||
void onReviewError(int code, String msg);
|
||||
}
|
||||
// # 第一步 请求评分request
|
||||
public static void RequestRustoreReView(ReviewResultCallback callback) {
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
try {
|
||||
json.put("action", "ACTION_REQUEST_REVIEW");
|
||||
} catch (JSONException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
SDKAPI.getIns().thirdExtend(json.toString(), (code, msg) -> {
|
||||
Log.e(TAG, "====>RequestRustoreReView code= " + code + " msg= " + msg);
|
||||
JSONObject result = new JSONObject();
|
||||
|
||||
try {
|
||||
result.put("code", code);
|
||||
if (code == SDKCallBack.Extend.EXTEND_CODE_SUCCESS) {
|
||||
Log.e(TAG, "RequestRustoreReView Success: " + msg);
|
||||
//获取成功,msg即为对应的json字符串
|
||||
// 成功时调用回调
|
||||
if (callback != null) {
|
||||
callback.onReviewSuccess(result);
|
||||
}
|
||||
} else {
|
||||
Log.e(TAG, "RequestRustoreReView Failed: " + msg);
|
||||
result.put("thirdExtend_errStr", msg);
|
||||
// 失败时调用回调
|
||||
if (callback != null) {
|
||||
callback.onReviewError(code, msg);
|
||||
}
|
||||
}
|
||||
//code 说明:
|
||||
// 0 : 获取成功
|
||||
// 26012001 : RuStoreNotInstalledException
|
||||
// 26012002 : RuStoreOutdatedException
|
||||
// 26012003 : RuStoreUserUnauthorizedException
|
||||
// 26012004 : RuStoreUserBannedException
|
||||
// 26012005 : RuStoreApplicationBannedException
|
||||
// 26012006 : RuStoreRequestLimitReached
|
||||
// 26012007 : RuStoreReviewExists
|
||||
// 26012008 : RuStoreInvalidReviewInfo
|
||||
// 26012009 : RuStoreException
|
||||
// -1 : 其他未知异常
|
||||
// msg 说明:
|
||||
// 失败时为error msg
|
||||
// UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.RUSTORE_REVIEW_CALLBACK, result.toString());
|
||||
} catch (Exception e) {
|
||||
|
||||
SDKLog.e("SDKManager-RequestRustoreReView-Exception" + e);
|
||||
// UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.RUSTORE_REVIEW_CALLBACK, result.toString());
|
||||
ReviewManager manager = ReviewManagerFactory.create(SDKWrapper.getInstance().getContext());
|
||||
Task<ReviewInfo> request = manager.requestReviewFlow();
|
||||
request.addOnCompleteListener(reqTask -> {
|
||||
if (reqTask.isSuccessful()) {
|
||||
ReviewInfo reviewInfo = reqTask.getResult();
|
||||
Activity activity = UnityPlayer.currentActivity;
|
||||
manager.launchReviewFlow(activity, reviewInfo);
|
||||
} else {
|
||||
@ReviewErrorCode int reviewErrorCode = ((ReviewException) request.getException()).getErrorCode();
|
||||
Log.e(TAG,"Review Error code: " + reviewErrorCode);
|
||||
}
|
||||
});
|
||||
}
|
||||
// # 第二步,展示评分UI 。请求评分request成功后,调用,且一次成功的request只能调用一次展示
|
||||
public static void LaunchRustoreView(){
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
try {
|
||||
json.put("action", "ACTION_LAUNCH_REVIEW");
|
||||
} catch (JSONException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
SDKAPI.getIns().thirdExtend(json.toString(), (code, msg) -> {
|
||||
Log.e(TAG, "====>LaunchRustoreView code= " + code + " msg= " + msg);
|
||||
JSONObject result = new JSONObject();
|
||||
try {
|
||||
result.put("code", code);
|
||||
if (code == SDKCallBack.Extend.EXTEND_CODE_SUCCESS) {
|
||||
Log.e(TAG, "LaunchRustoreView Success: " + msg);
|
||||
//获取成功,msg即为对应的json字符串
|
||||
// UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.RUSTORE_LAUNCH_REVIEW, result.toString());
|
||||
|
||||
} else {
|
||||
Log.e(TAG, "LaunchRustoreView Failed: " + msg);
|
||||
result.put("thirdExtend_errStr", msg);
|
||||
}
|
||||
// UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.RUSTORE_LAUNCH_REVIEW, result.toString());
|
||||
} catch (Exception e) {
|
||||
|
||||
SDKLog.e("SDKManager-LaunchRustoreReView-Exception" + e);
|
||||
// UnityPlayer.UnitySendMessage(ConfigManager.UNITY_FACADE_NAME, ConfigManager.RUSTORE_LAUNCH_REVIEW, result.toString());
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
public static void RuStoreReview(){
|
||||
|
||||
RequestRustoreReView(new ReviewResultCallback() {
|
||||
@Override
|
||||
public void onReviewSuccess(JSONObject result) {
|
||||
LaunchRustoreView();
|
||||
}
|
||||
@Override
|
||||
public void onReviewError(int code, String msg) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void FBShareLink(String title, String content, String url)
|
||||
{
|
||||
Log.e(TAG,"FBShareLink : " + title + " " + content + " " + url);
|
||||
|
||||
Binary file not shown.
@@ -38,9 +38,7 @@ namespace tysdk
|
||||
{"google", EAccoutType.hwGoogle},
|
||||
{"fb", EAccoutType.hwFacebook},
|
||||
{"tyGuest", EAccoutType.hwGuest},
|
||||
{"ios13", EAccoutType.Apple},
|
||||
{"vk.global.app",EAccoutType.hwVkid},
|
||||
|
||||
{"ios13", EAccoutType.Apple}
|
||||
};
|
||||
|
||||
private static EAccoutType ConvertAccoutType(string accountType)
|
||||
@@ -140,11 +138,6 @@ namespace tysdk
|
||||
|
||||
|
||||
public static bool IsLoggedIn => _accountInfo != null;
|
||||
|
||||
// 记录一下渠道,保证客户端可以调用
|
||||
public static string Channel => "hwVkid";
|
||||
|
||||
//-
|
||||
|
||||
public void Logout()
|
||||
{
|
||||
@@ -166,7 +159,6 @@ namespace tysdk
|
||||
|
||||
var userId = (int)ulong.Parse(deviceId, System.Globalization.NumberStyles.HexNumber);
|
||||
|
||||
Debug.Log($"userId -> {userId}");
|
||||
_accountInfo = new AccountInfo()
|
||||
{
|
||||
userId = userId,
|
||||
@@ -179,7 +171,7 @@ namespace tysdk
|
||||
};
|
||||
|
||||
#elif UNITY_ANDROID || UNITY_IOS
|
||||
var task = TYSDKCallbackManager.Instance.RegisterCallback<LoginInfo>(TimeSpan.FromSeconds(120));
|
||||
var task = TYSDKCallbackManager.Instance.RegisterCallback<LoginInfo>(TimeSpan.FromSeconds(30));
|
||||
|
||||
UnityBridgeFunc.UnityLogin(accoutType);
|
||||
|
||||
@@ -477,7 +469,7 @@ namespace tysdk
|
||||
list.Add(appid);
|
||||
|
||||
#if UNITY_ANDROID
|
||||
string clientid = "Android_5.00_tyGuest,facebook.googleplay.0-hall20587.googleplay.FishingMaster";
|
||||
string clientid = "Android_5.00_tyGuest,facebook.googleplay.0-hall20587.googleplay.FishingMaster";
|
||||
#elif UNITY_IOS
|
||||
string clientid = "IOS_5.00_tyGuest,facebook,appStore.appStore.0-hall20587.appStore.FishingMaster";
|
||||
#endif
|
||||
|
||||
@@ -51,13 +51,16 @@ namespace tysdk
|
||||
orderId = orderId,
|
||||
productId = prodId,
|
||||
price = prodPrice
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
return result;
|
||||
#elif UNITY_ANDROID
|
||||
|
||||
// var pType = "googleiab.global.app";
|
||||
var pType = tysdk.AccountInfo.hwPayType;
|
||||
var pType = "googleiab.global.app";
|
||||
|
||||
var task = TYSDKCallbackManager.Instance.RegisterCallback<PaymentInfo>(TimeSpan.FromSeconds(30));
|
||||
|
||||
try
|
||||
{
|
||||
//UnityBridgeFunc.UnityKnow(prodId, prodName, count.ToString(), orderId, extraInfo);
|
||||
@@ -151,7 +154,7 @@ namespace tysdk
|
||||
//商品列表的回调
|
||||
public void SKUListResult(string json)
|
||||
{
|
||||
Debug.Log($"[TYSdkFacade] GetSKUList callback -> accountChannel: {_accountInfo.channel}");
|
||||
Debug.Log("[TYSdkFacade] GetSKUList callback");
|
||||
var jresult = JObject.Parse(json);
|
||||
int code = int.Parse(jresult["code"].ToString());
|
||||
var result = new ProductListInfo();
|
||||
@@ -160,26 +163,11 @@ namespace tysdk
|
||||
string productStr = jresult["respObj"].ToString();
|
||||
result.code = code;
|
||||
#if UNITY_ANDROID && !UNITY_EDITOR
|
||||
|
||||
var jsonObjList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SKUDetail>>(productStr);
|
||||
result.products = jsonObjList;
|
||||
|
||||
// var accountChannel = _accountInfo.channel;
|
||||
// if (accountChannel == EAccoutType.hwVkid)
|
||||
// {
|
||||
// result.ReadSkuFromData(productStr, accountChannel);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // var jsonObjList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SKUDetail>>(productStr);
|
||||
// // result.products = jsonObjList;
|
||||
// result.BaseReadSkuFromData(productStr);
|
||||
// }
|
||||
// result.BaseReadSkuFromData(productStr);
|
||||
#elif UNITY_IOS && !UNITY_EDITOR
|
||||
result.ReadSKUFromJson(productStr);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
TYSDKCallbackManager.Instance.TryTriggerCallback(result);
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace tysdk
|
||||
{
|
||||
@@ -10,18 +8,11 @@ namespace tysdk
|
||||
{
|
||||
hwGoogle,
|
||||
hwFacebook,
|
||||
hwGuest,
|
||||
hwVkid,
|
||||
hwGuest,
|
||||
hwVkid,
|
||||
Apple,
|
||||
none
|
||||
}
|
||||
public static class AccountInfo
|
||||
{
|
||||
public static string hwVkid = "vk.global.app";
|
||||
public static string hwPayType = "rustore.global.app";
|
||||
public static string googlePayType = "googleiab.global.app";
|
||||
}
|
||||
|
||||
|
||||
public class LoginInfo
|
||||
{
|
||||
@@ -107,18 +98,6 @@ namespace tysdk
|
||||
}
|
||||
#endif
|
||||
|
||||
// public List<SKUDetail> BaseReadSkuFromData(string productData)
|
||||
// {
|
||||
// var jsonObjList = JsonConvert.DeserializeObject<List<SKUDetail>>(productData);
|
||||
// products = jsonObjList;
|
||||
// return jsonObjList;
|
||||
// }
|
||||
// public List<SKUDetail> ReadSkuFromData(string productData, EAccoutType accountChannel)
|
||||
// {
|
||||
// var jsonObjList = JsonConvert.DeserializeObject<List<SKUDetail>>(productData);
|
||||
// products = jsonObjList;
|
||||
// return jsonObjList;
|
||||
// }
|
||||
}
|
||||
|
||||
#if UNITY_IOS
|
||||
@@ -143,57 +122,30 @@ namespace tysdk
|
||||
}
|
||||
}
|
||||
#else
|
||||
// 注意 这个值支持Rustore
|
||||
// #if UNITY_RUSTORE_ANDROID
|
||||
public class SKUDetail
|
||||
public class SKUDetail
|
||||
{
|
||||
public string description;
|
||||
public string ourProductId;
|
||||
public string price;
|
||||
public string price_amount_micros;
|
||||
public string price_currency_code;
|
||||
public string productId;
|
||||
public string title;
|
||||
public string type;
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
public string description;
|
||||
public string ourProductId;
|
||||
public string productId;
|
||||
public string price;
|
||||
public string title;
|
||||
public string currency;
|
||||
public string price_amount; //- 具体的值
|
||||
//- 防止编译报错
|
||||
public string price_currency_code => currency;
|
||||
|
||||
public string ProdPriceStr => $"₽{ProdPrice}";
|
||||
public float ProdPrice => float.Parse(price) / 100 ;
|
||||
public string ProdID => ourProductId;
|
||||
public string ProdKey => productId;
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return JsonConvert.SerializeObject(this);
|
||||
}
|
||||
|
||||
return Newtonsoft.Json.JsonConvert.SerializeObject(this);
|
||||
}
|
||||
// #else
|
||||
// public class SKUDetail
|
||||
// {
|
||||
// public string description;
|
||||
// public string ourProductId;
|
||||
// public string price;
|
||||
// [JsonProperty("price_amount_micros")]
|
||||
// public string price_amount_micros { get; set; }
|
||||
// public string price_currency_code;
|
||||
// public string productId;
|
||||
// public string title;
|
||||
// public string type;
|
||||
//
|
||||
// public override string ToString()
|
||||
// {
|
||||
// return Newtonsoft.Json.JsonConvert.SerializeObject(this);
|
||||
// }
|
||||
//
|
||||
// public string ProdPriceStr => price;
|
||||
// public float ProdPrice => float.Parse(price_amount_micros) / 1000000;
|
||||
//
|
||||
// public string ProdID => ourProductId;
|
||||
// public string ProdKey => productId;
|
||||
// }
|
||||
// #endif
|
||||
|
||||
public string ProdPriceStr => price;
|
||||
public float ProdPrice => float.Parse(price_amount_micros) / 1000000;
|
||||
public string ProdID => ourProductId;
|
||||
public string ProdKey => productId;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
public class ATTInfo
|
||||
{
|
||||
public bool isAccepted;
|
||||
|
||||
@@ -1,447 +1,434 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using UnityEngine;
|
||||
|
||||
namespace tysdk
|
||||
{
|
||||
|
||||
public static class UnityBridgeFunc
|
||||
{
|
||||
|
||||
#if UNITY_EDITOR
|
||||
//初始化sdk
|
||||
public static void InitSDK(){}
|
||||
|
||||
//更新登录支付域名
|
||||
public static void UnityResetServerUrl(string url){}
|
||||
|
||||
//登录
|
||||
public static void UnityLoginByTokenFun(string token){}
|
||||
|
||||
public static string UnityLoginBySnsInfoFun() => null;
|
||||
|
||||
public static void UnityLogin(EAccoutType accoutType){}
|
||||
|
||||
public static void CleanLinkTmpSnsInfo() { }
|
||||
|
||||
|
||||
public static void LinkAccount(EAccoutType accoutType){}
|
||||
public static void ChangeLinkAccount(EAccoutType accoutType, int oldUserId, int newUserId){}
|
||||
public static void LinkCheck(EAccoutType accoutType){}
|
||||
|
||||
public static void UnityGetIdentityFun(string type){}
|
||||
|
||||
public static void UnityLogOutByChannel(EAccoutType accoutType){}
|
||||
//支付new
|
||||
public static void UnityKnowNew(string productId, string productPrice, string productName,
|
||||
string productCount, string prodorderId, string appInfo, string pType) { }
|
||||
|
||||
//支付
|
||||
|
||||
public static void UnityKnow(String productId, String productName, String productCount,
|
||||
String prodorderId, String appInfo) {}
|
||||
|
||||
//获取商品列表
|
||||
public static void GetSKUList() { }
|
||||
|
||||
//打点
|
||||
public static void SetGaUserInfo(string userId){}
|
||||
|
||||
|
||||
public static void SetGaCommonInfo(string SetGaCommonInfo){}
|
||||
|
||||
public static void GAReportParams(int type, string eventstr, string paramstr){}
|
||||
|
||||
//ATT
|
||||
public static void RequestATT(){}
|
||||
|
||||
public static int GetATT() {return 1;}
|
||||
|
||||
public static void Review() { }
|
||||
|
||||
public static void FBShareLink(string title, string content, string url) { }
|
||||
public static void MessengerShareLink(string title, string content, string url) { }
|
||||
|
||||
|
||||
|
||||
#elif UNITY_ANDROID
|
||||
|
||||
private static string EAccountTypeToStr(EAccoutType accoutType)
|
||||
{
|
||||
return accoutType == EAccoutType.hwVkid ? AccountInfo.hwVkid : accoutType.ToString();
|
||||
}
|
||||
|
||||
private static string SDK_CLASS = "com.unity3d.player.SDKManager";
|
||||
|
||||
//初始化sdk
|
||||
public static void InitSDK(){
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
using(var activityCls = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
|
||||
{
|
||||
var activity = activityCls.GetStatic<AndroidJavaObject>("currentActivity");
|
||||
sdkManager.CallStatic("InitSDK", activity);
|
||||
}
|
||||
}
|
||||
}
|
||||
//更新登录支付域名
|
||||
public static void UnityResetServerUrl(string url)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityResetServerUrl", url);
|
||||
}
|
||||
}
|
||||
|
||||
//登录
|
||||
public static void UnityLoginByTokenFun(string token)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityLoginByTokenFun", token);
|
||||
}
|
||||
}
|
||||
|
||||
public static String UnityLoginBySnsInfoFun()
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
return sdkManager.CallStatic<string>("UnityLoginBySnsInfo");
|
||||
}
|
||||
}
|
||||
|
||||
public static void UnityLogin(EAccoutType accoutType)
|
||||
{
|
||||
var accountInfo = EAccountTypeToStr(accoutType);
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
Debug.Log($"UnityLogin -> {accountInfo}");
|
||||
sdkManager.CallStatic("UnityLogin",accountInfo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void UnityGetIdentityFun(string type)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityGetIdentityFun", type);
|
||||
}
|
||||
}
|
||||
|
||||
public static void UnityLogOutByChannel(EAccoutType accoutType)
|
||||
{
|
||||
|
||||
var accountInfo = EAccountTypeToStr(accoutType);
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityLogOutByChannel", accountInfo);
|
||||
}
|
||||
}
|
||||
|
||||
public static void LinkAccount(EAccoutType accoutType)
|
||||
{
|
||||
string userId = TYSdkFacade.TYAccountInfo.strUserId;
|
||||
using (var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
var accountInfo = EAccountTypeToStr(accoutType);
|
||||
sdkManager.CallStatic("LinkAccount",accountInfo,userId);
|
||||
}
|
||||
}
|
||||
|
||||
public static void CleanLinkTmpSnsInfo(){
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
using(var activityCls = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
|
||||
{
|
||||
sdkManager.CallStatic("CleanLinkTmpSnsInfo");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void ChangeLinkAccount(EAccoutType accoutType, int oldUserId, int newUserId)
|
||||
{
|
||||
var accountInfo = EAccountTypeToStr(accoutType);
|
||||
using (var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("ChangeLinkAccount", accountInfo, oldUserId, newUserId);
|
||||
}
|
||||
}
|
||||
|
||||
public static void LinkCheck(EAccoutType accoutType)
|
||||
{
|
||||
var accountInfo = EAccountTypeToStr(accoutType);
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("LinkCheck",accountInfo);
|
||||
}
|
||||
}
|
||||
|
||||
//支付new
|
||||
public static void UnityKnowNew(string productId, string productPrice, string productName,
|
||||
string productCount, string prodorderId, string appInfo,string pType)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityKnowNew", productId, productPrice, productName,
|
||||
productCount, prodorderId, appInfo,pType);
|
||||
}
|
||||
}
|
||||
|
||||
//支付
|
||||
|
||||
public static void UnityKnow(String productId, String productName, String productCount, String prodorderId, String appInfo)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityKnow", productId, productName, productCount, prodorderId, appInfo);
|
||||
}
|
||||
}
|
||||
|
||||
//获取商品列表
|
||||
public static void GetSKUList()
|
||||
{
|
||||
UnityEngine.Debug.Log("UnityBridgeFunc.GetSKUList()");
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("thirdExtend");
|
||||
}
|
||||
}
|
||||
|
||||
//打点
|
||||
public static void SetGaUserInfo(string userId)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("SetGaUserInfo", userId);
|
||||
}
|
||||
}
|
||||
|
||||
public static void SetGaCommonInfo(string SetGaCommonInfo)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("SetGaCommonInfo", SetGaCommonInfo);
|
||||
}
|
||||
}
|
||||
|
||||
public static void GAReportParams(int type, string eventstr, string paramstr)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("GAReportParams", type, eventstr, paramstr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//ATT
|
||||
public static void RequestATT(){}
|
||||
|
||||
public static int GetATT() {return 1;}
|
||||
|
||||
public static void Review()
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("Review");
|
||||
// sdkManager.CallStataic("RuStoreReview");
|
||||
}
|
||||
}
|
||||
|
||||
public static void FBShareLink(string title, string content, string url)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("FBShareLink", title, content, url);
|
||||
}
|
||||
}
|
||||
|
||||
public static void MessengerShareLink(string title, string content, string url)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("MessengerShareLink", title, content, url);
|
||||
}
|
||||
}
|
||||
|
||||
#elif UNITY_IOS
|
||||
|
||||
//更新登录支付域名
|
||||
[DllImport("__Internal")]
|
||||
public static extern void UnityResetServerUrl(string url);
|
||||
|
||||
//登录
|
||||
[DllImport("__Internal")]
|
||||
public static extern void UnityLoginByTokenFun(string token);
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern IntPtr UnityLoginBySnsInfo();
|
||||
|
||||
public static string UnityLoginBySnsInfoFun()
|
||||
{
|
||||
IntPtr ptr = UnityLoginBySnsInfo();
|
||||
|
||||
if (ptr == IntPtr.Zero)
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
// Convert C string to C# string
|
||||
string result = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(ptr);
|
||||
return result ?? string.Empty;
|
||||
}
|
||||
|
||||
public static void UnityLogin(EAccoutType accoutType)
|
||||
{
|
||||
switch (accoutType)
|
||||
{
|
||||
case EAccoutType.hwGoogle:
|
||||
UnityLoginByGoogle();
|
||||
break;
|
||||
case EAccoutType.hwFacebook:
|
||||
UnityLoginByFacebook();
|
||||
break;
|
||||
case EAccoutType.hwGuest:
|
||||
UnityLoginByGuest();
|
||||
break;
|
||||
case EAccoutType.Apple:
|
||||
UnityLoginByApple();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLoginByGuest();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLoginByGoogle();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLoginByFacebook();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLoginByApple();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void UnityGetIdentityFun(string type);
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void UnityLoginOut();
|
||||
|
||||
public static void UnityLogOutByChannel(EAccoutType accoutType)
|
||||
{
|
||||
switch (accoutType)
|
||||
{
|
||||
case EAccoutType.hwGoogle:
|
||||
UnityLogoutGoogle();
|
||||
break;
|
||||
case EAccoutType.hwFacebook:
|
||||
UnityLogoutFacebook();
|
||||
break;
|
||||
case EAccoutType.hwGuest:
|
||||
UnityLogoutGuest();
|
||||
break;
|
||||
case EAccoutType.Apple:
|
||||
UnityLogoutApple();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLogoutGoogle();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLogoutFacebook();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLogoutGuest();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLogoutApple();
|
||||
|
||||
public static void LinkAccount(EAccoutType accoutType)
|
||||
{
|
||||
var userId = TYSdkFacade.TYAccountInfo.userId;
|
||||
|
||||
switch (accoutType)
|
||||
{
|
||||
case EAccoutType.hwGoogle:
|
||||
LinkGoogle(userId);
|
||||
break;
|
||||
case EAccoutType.hwFacebook:
|
||||
LinkFacebook(userId);
|
||||
break;
|
||||
case EAccoutType.Apple:
|
||||
LinkApple(userId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[DllImport("__Internal")] private static extern void LinkGoogle(int userId);
|
||||
[DllImport("__Internal")] private static extern void LinkFacebook(int userId);
|
||||
[DllImport("__Internal")] private static extern void LinkApple(int userId);
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void ChangeLinkAccount(EAccoutType accoutType, int oldUserId, int newUserId);
|
||||
|
||||
public static void LinkCheck(EAccoutType accoutType)
|
||||
{
|
||||
switch (accoutType)
|
||||
{
|
||||
case EAccoutType.hwGoogle:
|
||||
IsLinkedGoogle();
|
||||
break;
|
||||
case EAccoutType.hwFacebook:
|
||||
IsLinkedFacebook();
|
||||
break;
|
||||
|
||||
case EAccoutType.Apple:
|
||||
IsLinkedApple();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[DllImport("__Internal")] public static extern void CleanLinkTmpSnsInfo();
|
||||
|
||||
[DllImport("__Internal")] private static extern void IsLinkedGoogle();
|
||||
[DllImport("__Internal")] private static extern void IsLinkedFacebook();
|
||||
[DllImport("__Internal")] private static extern void IsLinkedApple();
|
||||
|
||||
|
||||
//支付
|
||||
[DllImport("__Internal")]
|
||||
public static extern void UnityKnow(string userId, string productId, string productPrice, string productName,
|
||||
string productCount, string prodorderId, string appInfo);
|
||||
|
||||
//获取商品列表
|
||||
[DllImport("__Internal")]
|
||||
public static extern void GetSKUList();
|
||||
|
||||
//打点
|
||||
[DllImport("__Internal")]
|
||||
public static extern void SetGaUserInfo(string userId);
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void SetGaCommonInfo(string SetGaCommonInfo);
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void GAReportParams(int type, string eventstr, string paramstr);
|
||||
|
||||
//ATT
|
||||
[DllImport("__Internal")]
|
||||
public static extern void RequestATT();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern int GetATT();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void FBShareLink(string title, string content, string url);
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void MessengerShareLink(string title, string content, string url);
|
||||
|
||||
#endif
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using UnityEngine;
|
||||
|
||||
namespace tysdk
|
||||
{
|
||||
|
||||
public static class UnityBridgeFunc
|
||||
{
|
||||
|
||||
#if UNITY_EDITOR
|
||||
//初始化sdk
|
||||
public static void InitSDK(){}
|
||||
|
||||
//更新登录支付域名
|
||||
public static void UnityResetServerUrl(string url){}
|
||||
|
||||
//登录
|
||||
public static void UnityLoginByTokenFun(string token){}
|
||||
|
||||
public static string UnityLoginBySnsInfoFun() => null;
|
||||
|
||||
public static void UnityLogin(EAccoutType accoutType){}
|
||||
|
||||
public static void CleanLinkTmpSnsInfo() { }
|
||||
|
||||
|
||||
public static void LinkAccount(EAccoutType accoutType){}
|
||||
public static void ChangeLinkAccount(EAccoutType accoutType, int oldUserId, int newUserId){}
|
||||
public static void LinkCheck(EAccoutType accoutType){}
|
||||
|
||||
public static void UnityGetIdentityFun(string type){}
|
||||
|
||||
public static void UnityLogOutByChannel(EAccoutType accoutType){}
|
||||
//支付new
|
||||
public static void UnityKnowNew(string productId, string productPrice, string productName,
|
||||
string productCount, string prodorderId, string appInfo, string pType) { }
|
||||
|
||||
//支付
|
||||
|
||||
public static void UnityKnow(String productId, String productName, String productCount,
|
||||
String prodorderId, String appInfo) {}
|
||||
|
||||
//获取商品列表
|
||||
public static void GetSKUList() { }
|
||||
|
||||
//打点
|
||||
public static void SetGaUserInfo(string userId){}
|
||||
|
||||
|
||||
public static void SetGaCommonInfo(string SetGaCommonInfo){}
|
||||
|
||||
public static void GAReportParams(int type, string eventstr, string paramstr){}
|
||||
|
||||
//ATT
|
||||
public static void RequestATT(){}
|
||||
|
||||
public static int GetATT() {return 1;}
|
||||
|
||||
public static void Review() { }
|
||||
|
||||
public static void FBShareLink(string title, string content, string url) { }
|
||||
public static void MessengerShareLink(string title, string content, string url) { }
|
||||
|
||||
|
||||
|
||||
#elif UNITY_ANDROID
|
||||
|
||||
private static string SDK_CLASS = "com.unity3d.player.SDKManager";
|
||||
|
||||
//初始化sdk
|
||||
public static void InitSDK(){
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
using(var activityCls = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
|
||||
{
|
||||
var activity = activityCls.GetStatic<AndroidJavaObject>("currentActivity");
|
||||
sdkManager.CallStatic("InitSDK", activity);
|
||||
}
|
||||
}
|
||||
}
|
||||
//更新登录支付域名
|
||||
public static void UnityResetServerUrl(string url)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityResetServerUrl", url);
|
||||
}
|
||||
}
|
||||
|
||||
//登录
|
||||
public static void UnityLoginByTokenFun(string token)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityLoginByTokenFun", token);
|
||||
}
|
||||
}
|
||||
|
||||
public static String UnityLoginBySnsInfoFun()
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
return sdkManager.CallStatic<string>("UnityLoginBySnsInfo");
|
||||
}
|
||||
}
|
||||
|
||||
public static void UnityLogin(EAccoutType accoutType)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityLogin", accoutType.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public static void UnityGetIdentityFun(string type)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityGetIdentityFun", type);
|
||||
}
|
||||
}
|
||||
|
||||
public static void UnityLogOutByChannel(EAccoutType accoutType)
|
||||
{
|
||||
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityLogOutByChannel", accoutType.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public static void LinkAccount(EAccoutType accoutType)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
string userId = TYSdkFacade.TYAccountInfo.strUserId;
|
||||
sdkManager.CallStatic("LinkAccount", accoutType.ToString(), userId);
|
||||
}
|
||||
}
|
||||
|
||||
public static void CleanLinkTmpSnsInfo(){
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
using(var activityCls = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
|
||||
{
|
||||
sdkManager.CallStatic("CleanLinkTmpSnsInfo");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void ChangeLinkAccount(EAccoutType accoutType, int oldUserId, int newUserId)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("ChangeLinkAccount", accoutType.ToString(), oldUserId, newUserId);
|
||||
}
|
||||
}
|
||||
|
||||
public static void LinkCheck(EAccoutType accoutType)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("LinkCheck", accoutType.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
//支付new
|
||||
public static void UnityKnowNew(string productId, string productPrice, string productName,
|
||||
string productCount, string prodorderId, string appInfo,string pType)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityKnowNew", productId, productPrice, productName,
|
||||
productCount, prodorderId, appInfo,pType);
|
||||
}
|
||||
}
|
||||
|
||||
//支付
|
||||
|
||||
public static void UnityKnow(String productId, String productName, String productCount, String prodorderId, String appInfo)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("UnityKnow", productId, productName, productCount, prodorderId, appInfo);
|
||||
}
|
||||
}
|
||||
|
||||
//获取商品列表
|
||||
public static void GetSKUList()
|
||||
{
|
||||
UnityEngine.Debug.Log("UnityBridgeFunc.GetSKUList()");
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("thirdExtend");
|
||||
}
|
||||
}
|
||||
|
||||
//打点
|
||||
public static void SetGaUserInfo(string userId)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("SetGaUserInfo", userId);
|
||||
}
|
||||
}
|
||||
|
||||
public static void SetGaCommonInfo(string SetGaCommonInfo)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("SetGaCommonInfo", SetGaCommonInfo);
|
||||
}
|
||||
}
|
||||
|
||||
public static void GAReportParams(int type, string eventstr, string paramstr)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("GAReportParams", type, eventstr, paramstr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//ATT
|
||||
public static void RequestATT(){}
|
||||
|
||||
public static int GetATT() {return 1;}
|
||||
|
||||
public static void Review()
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("Review");
|
||||
}
|
||||
}
|
||||
|
||||
public static void FBShareLink(string title, string content, string url)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("FBShareLink", title, content, url);
|
||||
}
|
||||
}
|
||||
|
||||
public static void MessengerShareLink(string title, string content, string url)
|
||||
{
|
||||
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
|
||||
{
|
||||
sdkManager.CallStatic("MessengerShareLink", title, content, url);
|
||||
}
|
||||
}
|
||||
|
||||
#elif UNITY_IOS
|
||||
|
||||
//更新登录支付域名
|
||||
[DllImport("__Internal")]
|
||||
public static extern void UnityResetServerUrl(string url);
|
||||
|
||||
//登录
|
||||
[DllImport("__Internal")]
|
||||
public static extern void UnityLoginByTokenFun(string token);
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern IntPtr UnityLoginBySnsInfo();
|
||||
|
||||
public static string UnityLoginBySnsInfoFun()
|
||||
{
|
||||
IntPtr ptr = UnityLoginBySnsInfo();
|
||||
|
||||
if (ptr == IntPtr.Zero)
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
// Convert C string to C# string
|
||||
string result = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(ptr);
|
||||
return result ?? string.Empty;
|
||||
}
|
||||
|
||||
public static void UnityLogin(EAccoutType accoutType)
|
||||
{
|
||||
switch (accoutType)
|
||||
{
|
||||
case EAccoutType.hwGoogle:
|
||||
UnityLoginByGoogle();
|
||||
break;
|
||||
case EAccoutType.hwFacebook:
|
||||
UnityLoginByFacebook();
|
||||
break;
|
||||
case EAccoutType.hwGuest:
|
||||
UnityLoginByGuest();
|
||||
break;
|
||||
case EAccoutType.Apple:
|
||||
UnityLoginByApple();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLoginByGuest();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLoginByGoogle();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLoginByFacebook();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLoginByApple();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void UnityGetIdentityFun(string type);
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void UnityLoginOut();
|
||||
|
||||
public static void UnityLogOutByChannel(EAccoutType accoutType)
|
||||
{
|
||||
switch (accoutType)
|
||||
{
|
||||
case EAccoutType.hwGoogle:
|
||||
UnityLogoutGoogle();
|
||||
break;
|
||||
case EAccoutType.hwFacebook:
|
||||
UnityLogoutFacebook();
|
||||
break;
|
||||
case EAccoutType.hwGuest:
|
||||
UnityLogoutGuest();
|
||||
break;
|
||||
case EAccoutType.Apple:
|
||||
UnityLogoutApple();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLogoutGoogle();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLogoutFacebook();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLogoutGuest();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void UnityLogoutApple();
|
||||
|
||||
public static void LinkAccount(EAccoutType accoutType)
|
||||
{
|
||||
var userId = TYSdkFacade.TYAccountInfo.userId;
|
||||
|
||||
switch (accoutType)
|
||||
{
|
||||
case EAccoutType.hwGoogle:
|
||||
LinkGoogle(userId);
|
||||
break;
|
||||
case EAccoutType.hwFacebook:
|
||||
LinkFacebook(userId);
|
||||
break;
|
||||
case EAccoutType.Apple:
|
||||
LinkApple(userId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[DllImport("__Internal")] private static extern void LinkGoogle(int userId);
|
||||
[DllImport("__Internal")] private static extern void LinkFacebook(int userId);
|
||||
[DllImport("__Internal")] private static extern void LinkApple(int userId);
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void ChangeLinkAccount(EAccoutType accoutType, int oldUserId, int newUserId);
|
||||
|
||||
public static void LinkCheck(EAccoutType accoutType)
|
||||
{
|
||||
switch (accoutType)
|
||||
{
|
||||
case EAccoutType.hwGoogle:
|
||||
IsLinkedGoogle();
|
||||
break;
|
||||
case EAccoutType.hwFacebook:
|
||||
IsLinkedFacebook();
|
||||
break;
|
||||
|
||||
case EAccoutType.Apple:
|
||||
IsLinkedApple();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[DllImport("__Internal")] public static extern void CleanLinkTmpSnsInfo();
|
||||
|
||||
[DllImport("__Internal")] private static extern void IsLinkedGoogle();
|
||||
[DllImport("__Internal")] private static extern void IsLinkedFacebook();
|
||||
[DllImport("__Internal")] private static extern void IsLinkedApple();
|
||||
|
||||
|
||||
//支付
|
||||
[DllImport("__Internal")]
|
||||
public static extern void UnityKnow(string userId, string productId, string productPrice, string productName,
|
||||
string productCount, string prodorderId, string appInfo);
|
||||
|
||||
//获取商品列表
|
||||
[DllImport("__Internal")]
|
||||
public static extern void GetSKUList();
|
||||
|
||||
//打点
|
||||
[DllImport("__Internal")]
|
||||
public static extern void SetGaUserInfo(string userId);
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void SetGaCommonInfo(string SetGaCommonInfo);
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void GAReportParams(int type, string eventstr, string paramstr);
|
||||
|
||||
//ATT
|
||||
[DllImport("__Internal")]
|
||||
public static extern void RequestATT();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern int GetATT();
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void FBShareLink(string title, string content, string url);
|
||||
|
||||
[DllImport("__Internal")]
|
||||
public static extern void MessengerShareLink(string title, string content, string url);
|
||||
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,17 @@
|
||||
<dependencies>
|
||||
<packages>
|
||||
<package>androidx.recyclerview:recyclerview:1.2.1</package>
|
||||
<package>com.android.installreferrer:installreferrer:2.1</package>
|
||||
<package>com.applovin.mediation:bytedance-adapter:8.1.0.3.0</package>
|
||||
<package>com.applovin.mediation:facebook-adapter:[6.18.0.1]</package>
|
||||
<package>com.applovin.mediation:fyber-adapter:8.4.2.0</package>
|
||||
<package>com.applovin.mediation:google-adapter:[23.6.0.1]</package>
|
||||
<package>com.applovin.mediation:ironsource-adapter:8.6.1.0.0</package>
|
||||
<package>com.applovin.mediation:mintegral-adapter:17.1.61.0</package>
|
||||
<package>com.applovin.mediation:moloco-adapter:4.9.0.0</package>
|
||||
<package>com.applovin.mediation:unityads-adapter:4.12.3.0</package>
|
||||
<package>com.applovin.mediation:vungle-adapter:7.4.2.2</package>
|
||||
<package>com.applovin.mediation:yandex-adapter:8.1.0.0</package>
|
||||
<package>com.applovin:applovin-sdk:13.5.1</package>
|
||||
<package>com.appsflyer:af-android-sdk:6.17.3</package>
|
||||
<package>com.appsflyer:purchase-connector:2.2.0</package>
|
||||
|
||||
@@ -4,11 +4,5 @@
|
||||
EditorBuildSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Scenes:
|
||||
- enabled: 1
|
||||
path: Assets/Scenes/SampleScene.unity
|
||||
guid: 99c9720ab356a0642a771bea13969a05
|
||||
- enabled: 1
|
||||
path: Assets/Scenes/UnbindTest.unity
|
||||
guid: e55d807d563854943a26ad6dadec548d
|
||||
m_Scenes: []
|
||||
m_configObjects: {}
|
||||
|
||||
@@ -173,7 +173,7 @@ PlayerSettings:
|
||||
tvOS: 0
|
||||
overrideDefaultApplicationIdentifier: 1
|
||||
AndroidBundleVersionCode: 1
|
||||
AndroidMinSdkVersion: 26
|
||||
AndroidMinSdkVersion: 25
|
||||
AndroidTargetSdkVersion: 35
|
||||
AndroidPreferredInstallLocation: 1
|
||||
aotOptions:
|
||||
|
||||
Reference in New Issue
Block a user