[M] sync n3
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7863556d88b814e09ba9cfc75a91d655
|
||||
guid: da76ae4f9ba92124087139583d0dd929
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@@ -28,6 +28,7 @@ public class AFInAppEvents {
|
||||
public const string LOCATION_CHANGED = "af_location_changed";
|
||||
public const string LOCATION_COORDINATES = "af_location_coordinates";
|
||||
public const string ORDER_ID = "af_order_id";
|
||||
public const string GA = "af_ga_event";
|
||||
/**
|
||||
* Event Parameter Name
|
||||
* **/
|
||||
|
||||
0
sdk-intergration/Assets/AppsFlyer/AFMiniJSON.cs
Executable file → Normal file
0
sdk-intergration/Assets/AppsFlyer/AFMiniJSON.cs
Executable file → Normal file
0
sdk-intergration/Assets/AppsFlyer/Mac/AppsFlyerBundle.bundle/Contents/MacOS/AppsFlyerBundle
Executable file → Normal file
0
sdk-intergration/Assets/AppsFlyer/Mac/AppsFlyerBundle.bundle/Contents/MacOS/AppsFlyerBundle
Executable file → Normal file
@@ -1,145 +1,145 @@
|
||||
//#define AFSDK_WIN_DEBUG
|
||||
//#define UNITY_WSA_10_0
|
||||
//#define ENABLE_WINMD_SUPPORT
|
||||
|
||||
#if UNITY_WSA_10_0
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using System.ComponentModel;
|
||||
using UnityEngine;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
using AppsFlyerLib;
|
||||
#endif
|
||||
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
public class AppsFlyerWindows
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
static private MonoBehaviour _gameObject = null;
|
||||
#endif
|
||||
|
||||
public static void InitSDK(string devKey, string appId, MonoBehaviour gameObject)
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
|
||||
#if AFSDK_WIN_DEBUG
|
||||
// Remove callstack
|
||||
Application.SetStackTraceLogType(LogType.Log, StackTraceLogType.None);
|
||||
#endif
|
||||
Log("[InitSDK]: devKey: {0}, appId: {1}, gameObject: {2}", devKey, appId, gameObject == null ? "null" : gameObject.ToString());
|
||||
AppsFlyerTracker tracker = AppsFlyerTracker.GetAppsFlyerTracker();
|
||||
tracker.devKey = devKey;
|
||||
tracker.appId = appId;
|
||||
// Interface
|
||||
_gameObject = gameObject;
|
||||
#endif
|
||||
}
|
||||
|
||||
public static string GetAppsFlyerId()
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
Log("[GetAppsFlyerId]");
|
||||
return AppsFlyerTracker.GetAppsFlyerTracker().GetAppsFlyerUID();
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
public static void SetCustomerUserId(string customerUserId)
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
Log("[SetCustomerUserId] customerUserId: {0}", customerUserId);
|
||||
if (customerUserId.Contains("test_device:"))
|
||||
{
|
||||
string testDeviceId = customerUserId.Substring(12);
|
||||
AppsFlyerTracker.GetAppsFlyerTracker().testDeviceId = testDeviceId;
|
||||
}
|
||||
AppsFlyerTracker.GetAppsFlyerTracker().customerUserId = customerUserId;
|
||||
#endif
|
||||
}
|
||||
|
||||
public static void Start()
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
Log("[Start]");
|
||||
AppsFlyerTracker.GetAppsFlyerTracker().TrackAppLaunchAsync(Callback);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
public static void Callback(AppsFlyerLib.ServerStatusCode code)
|
||||
{
|
||||
Log("[Callback]: {0}", code.ToString());
|
||||
|
||||
AppsFlyerRequestEventArgs eventArgs = new AppsFlyerRequestEventArgs((int)code, code.ToString());
|
||||
if (_gameObject != null) {
|
||||
var method = _gameObject.GetType().GetMethod("AppsFlyerOnRequestResponse");
|
||||
if (method != null) {
|
||||
method.Invoke(_gameObject, new object[] { AppsFlyerTracker.GetAppsFlyerTracker(), eventArgs });
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static void LogEvent(string eventName, Dictionary<string, string> eventValues)
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
if (eventValues == null)
|
||||
{
|
||||
eventValues = new Dictionary<string, string>();
|
||||
}
|
||||
IDictionary<string, object> result = new Dictionary<string, object>();
|
||||
foreach (KeyValuePair<string, string> kvp in eventValues)
|
||||
{
|
||||
result.Add(kvp.Key.ToString(), kvp.Value);
|
||||
}
|
||||
|
||||
Log("[LogEvent]: eventName: {0} result: {1}", eventName, result.ToString());
|
||||
|
||||
AppsFlyerTracker tracker = AppsFlyerTracker.GetAppsFlyerTracker();
|
||||
tracker.TrackEvent(eventName, result);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
public static void GetConversionData(string _reserved)
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
Task.Run(async () =>
|
||||
{
|
||||
AppsFlyerLib.AppsFlyerTracker tracker = AppsFlyerLib.AppsFlyerTracker.GetAppsFlyerTracker();
|
||||
string conversionData = await tracker.GetConversionDataAsync();
|
||||
|
||||
IAppsFlyerConversionData conversionDataHandler = _gameObject as IAppsFlyerConversionData;
|
||||
|
||||
if (conversionDataHandler != null)
|
||||
{
|
||||
Log("[GetConversionData] Will call `onConversionDataSuccess` with: {0}", conversionData);
|
||||
conversionDataHandler.onConversionDataSuccess(conversionData);
|
||||
} else {
|
||||
Log("[GetConversionData] Object with `IAppsFlyerConversionData` interface not found! Check `InitSDK` implementation");
|
||||
}
|
||||
// _gameObject.GetType().GetMethod("onConversionDataSuccess").Invoke(_gameObject, new[] { conversionData });
|
||||
});
|
||||
#endif
|
||||
}
|
||||
|
||||
private static void Log(string format, params string[] args)
|
||||
{
|
||||
#if AFSDK_WIN_DEBUG
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
Debug.Log("AF_UNITY_WSA_10_0" + String.Format(format, args));
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
//#define AFSDK_WIN_DEBUG
|
||||
//#define UNITY_WSA_10_0
|
||||
//#define ENABLE_WINMD_SUPPORT
|
||||
|
||||
#if UNITY_WSA_10_0
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using System.ComponentModel;
|
||||
using UnityEngine;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
using AppsFlyerLib;
|
||||
#endif
|
||||
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
public class AppsFlyerWindows
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
static private MonoBehaviour _gameObject = null;
|
||||
#endif
|
||||
|
||||
public static void InitSDK(string devKey, string appId, MonoBehaviour gameObject)
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
|
||||
#if AFSDK_WIN_DEBUG
|
||||
// Remove callstack
|
||||
Application.SetStackTraceLogType(LogType.Log, StackTraceLogType.None);
|
||||
#endif
|
||||
Log("[InitSDK]: devKey: {0}, appId: {1}, gameObject: {2}", devKey, appId, gameObject == null ? "null" : gameObject.ToString());
|
||||
AppsFlyerTracker tracker = AppsFlyerTracker.GetAppsFlyerTracker();
|
||||
tracker.devKey = devKey;
|
||||
tracker.appId = appId;
|
||||
// Interface
|
||||
_gameObject = gameObject;
|
||||
#endif
|
||||
}
|
||||
|
||||
public static string GetAppsFlyerId()
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
Log("[GetAppsFlyerId]");
|
||||
return AppsFlyerTracker.GetAppsFlyerTracker().GetAppsFlyerUID();
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
public static void SetCustomerUserId(string customerUserId)
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
Log("[SetCustomerUserId] customerUserId: {0}", customerUserId);
|
||||
if (customerUserId.Contains("test_device:"))
|
||||
{
|
||||
string testDeviceId = customerUserId.Substring(12);
|
||||
AppsFlyerTracker.GetAppsFlyerTracker().testDeviceId = testDeviceId;
|
||||
}
|
||||
AppsFlyerTracker.GetAppsFlyerTracker().customerUserId = customerUserId;
|
||||
#endif
|
||||
}
|
||||
|
||||
public static void Start()
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
Log("[Start]");
|
||||
AppsFlyerTracker.GetAppsFlyerTracker().TrackAppLaunchAsync(Callback);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
public static void Callback(AppsFlyerLib.ServerStatusCode code)
|
||||
{
|
||||
Log("[Callback]: {0}", code.ToString());
|
||||
|
||||
AppsFlyerRequestEventArgs eventArgs = new AppsFlyerRequestEventArgs((int)code, code.ToString());
|
||||
if (_gameObject != null) {
|
||||
var method = _gameObject.GetType().GetMethod("AppsFlyerOnRequestResponse");
|
||||
if (method != null) {
|
||||
method.Invoke(_gameObject, new object[] { AppsFlyerTracker.GetAppsFlyerTracker(), eventArgs });
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static void LogEvent(string eventName, Dictionary<string, string> eventValues)
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
if (eventValues == null)
|
||||
{
|
||||
eventValues = new Dictionary<string, string>();
|
||||
}
|
||||
IDictionary<string, object> result = new Dictionary<string, object>();
|
||||
foreach (KeyValuePair<string, string> kvp in eventValues)
|
||||
{
|
||||
result.Add(kvp.Key.ToString(), kvp.Value);
|
||||
}
|
||||
|
||||
Log("[LogEvent]: eventName: {0} result: {1}", eventName, result.ToString());
|
||||
|
||||
AppsFlyerTracker tracker = AppsFlyerTracker.GetAppsFlyerTracker();
|
||||
tracker.TrackEvent(eventName, result);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
public static void GetConversionData(string _reserved)
|
||||
{
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
Task.Run(async () =>
|
||||
{
|
||||
AppsFlyerLib.AppsFlyerTracker tracker = AppsFlyerLib.AppsFlyerTracker.GetAppsFlyerTracker();
|
||||
string conversionData = await tracker.GetConversionDataAsync();
|
||||
|
||||
IAppsFlyerConversionData conversionDataHandler = _gameObject as IAppsFlyerConversionData;
|
||||
|
||||
if (conversionDataHandler != null)
|
||||
{
|
||||
Log("[GetConversionData] Will call `onConversionDataSuccess` with: {0}", conversionData);
|
||||
conversionDataHandler.onConversionDataSuccess(conversionData);
|
||||
} else {
|
||||
Log("[GetConversionData] Object with `IAppsFlyerConversionData` interface not found! Check `InitSDK` implementation");
|
||||
}
|
||||
// _gameObject.GetType().GetMethod("onConversionDataSuccess").Invoke(_gameObject, new[] { conversionData });
|
||||
});
|
||||
#endif
|
||||
}
|
||||
|
||||
private static void Log(string format, params string[] args)
|
||||
{
|
||||
#if AFSDK_WIN_DEBUG
|
||||
#if ENABLE_WINMD_SUPPORT
|
||||
Debug.Log("AF_UNITY_WSA_10_0" + String.Format(format, args));
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7047d3afa28754c68bb1b75839add256
|
||||
guid: 374495418f507124e80cfe5137776bf6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 559e25347dd3d4992953b41e4968fc33
|
||||
guid: b0579fd5f5ba2e146908c139c7324d32
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
BIN
sdk-intergration/Assets/CoreLib/DebugLib/asap.core.dll
Normal file
BIN
sdk-intergration/Assets/CoreLib/DebugLib/asap.core.dll
Normal file
Binary file not shown.
@@ -1,10 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5552c54c11d94016bcfe740f27df44a6
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-1.2.177
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.177/Google.IOSResolver.dll
|
||||
- gvhp_targets-editor
|
||||
guid: 6cc76c7bd652be74bb4eecae879d9c3b
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@@ -46,31 +41,31 @@ PluginImporter:
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: OSX
|
||||
OS: AnyOS
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
CPU: None
|
||||
- first:
|
||||
Windows Store Apps: WindowsStoreApps
|
||||
second:
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b539e47b3e609b0489cf78ee8db1ca03
|
||||
guid: 4283d5a798253634689dfaccaba552e9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
BIN
sdk-intergration/Assets/CoreLib/Plugins/LitJSON.dll
Normal file
BIN
sdk-intergration/Assets/CoreLib/Plugins/LitJSON.dll
Normal file
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 03a65c11b1b2d4d068764ce890d18383
|
||||
guid: a6aee3e70b1022d4aa0dd15acad74351
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ddfa0c1d1c36b4079848d61bac0913ff
|
||||
guid: b6c176e912c23c742927770501978946
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
@@ -0,0 +1,77 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 03845875206fd43188499b44315ff8b4
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: Any
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Android: 0
|
||||
Exclude Editor: 1
|
||||
Exclude Linux64: 0
|
||||
Exclude OSXUniversal: 0
|
||||
Exclude Win: 0
|
||||
Exclude Win64: 0
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
AndroidSharedLibraryType: Executable
|
||||
CPU: ARMv7
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
- first:
|
||||
Windows Store Apps: WindowsStoreApps
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -64,7 +64,7 @@ public class BuildTool
|
||||
outPath = "../Bin/tysdkTest.apk"
|
||||
};
|
||||
|
||||
BuildiOS(bparams);
|
||||
BuildAndroid(bparams);
|
||||
}
|
||||
|
||||
public static void CIBuildAndroid()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2eaa69f2af3e445d591e6c66028a9d80
|
||||
guid: 016b33dc25cccbf4e95c82f356514690
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a018e17712e364f0e97a392611a0718c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,38 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3429646f5d4949efa347230fa86778b7
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-1.2.182
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll
|
||||
- gvhp_targets-editor
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
- first:
|
||||
Windows Store Apps: WindowsStoreApps
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,9 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1f4f113972f04c3695341dfb3ba48d3b
|
||||
guid: 5b1a2b9a8d0748609fa3195265844d21
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-1.2.177
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.177/Google.JarResolver.dll
|
||||
- gvh_version-1.2.182
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.dll
|
||||
- gvhp_targets-editor
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
Binary file not shown.
@@ -1,9 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 413ed4abd14645c38ebbd8c5ff26e9de
|
||||
guid: 4026c19ba8ec495f93f5919b5f2934ee
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-1.2.177
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.177/Google.PackageManagerResolver.dll
|
||||
- gvh_version-1.2.182
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.dll
|
||||
- gvhp_targets-editor
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
Binary file not shown.
@@ -1,9 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 38d0b40a7b2d44c6a6a2362599bfc41e
|
||||
guid: 025280fbe75c450fbdf7c5fc7ecc8860
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-1.2.177
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.177/Google.VersionHandlerImpl.dll
|
||||
- gvh_version-1.2.182
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.dll
|
||||
- gvhp_targets-editor
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
@@ -1,3 +1,23 @@
|
||||
# Version 1.2.182 - Aug 2, 2024
|
||||
* General - Check for gradle version instead of Unity version when determining
|
||||
the template files to modify.
|
||||
|
||||
# Version 1.2.181 - Jun 26, 2024
|
||||
* General - Disable `EditorMeasurement` reporting that relied on the
|
||||
Measurement Protocol for Universal Analytics.
|
||||
|
||||
# Version 1.2.180 - Jun 4, 2024
|
||||
* General - Fix project settings resetting on domain reload.
|
||||
Fixes #524
|
||||
|
||||
# Version 1.2.179 - Feb 12, 2024
|
||||
* Android Resolver - Added logic to automatically turn on `mainTemplate.gradle`
|
||||
for new projects, and prompt users to enable it on projects that have previously
|
||||
had the resolver run.
|
||||
|
||||
# Version 1.2.178 - Dec 20, 2023
|
||||
* Added [OpenUPM support](https://openupm.com/packages/com.google.external-dependency-manager/).
|
||||
|
||||
# Version 1.2.177 - Aug 14, 2023
|
||||
* iOS Resolver - Added `/opt/homebrew/bin` to Cocoapod executable search path.
|
||||
Fixes #627
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6cdb6572965940cb9bcd8ce572951c7d
|
||||
guid: b699fc553a294dbcad96ff0365038f6a
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-1.2.177
|
||||
- gvh_version-1.2.182
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/CHANGELOG.md
|
||||
timeCreated: 1584567712
|
||||
licenseType: Pro
|
||||
|
||||
Binary file not shown.
@@ -1,8 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 86460262ea60447dbb6a62d21167790f
|
||||
guid: 61128ff4560e43ddb606dc203efe7799
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-1.2.177
|
||||
- gvh_version-1.2.182
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/Google.VersionHandler.dll
|
||||
- gvhp_targets-editor
|
||||
timeCreated: 1480838400
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7640443de1d445eab9dfaac68fefcc3b
|
||||
guid: b91d7551a5d9453e914e5295af46195e
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-1.2.177
|
||||
- gvh_version-1.2.182
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/LICENSE
|
||||
timeCreated: 1584567712
|
||||
licenseType: Pro
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6fd4c95e7f9941198f1bac5f0fff74c8
|
||||
guid: ee2d63ed1abf409b893e36120a404f03
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-1.2.177
|
||||
- gvh_version-1.2.182
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/README.md
|
||||
timeCreated: 1584567712
|
||||
licenseType: Pro
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
Assets/ExternalDependencyManager/Editor/1.2.177/Google.IOSResolver.dll
|
||||
Assets/ExternalDependencyManager/Editor/1.2.177/Google.IOSResolver.dll.mdb
|
||||
Assets/ExternalDependencyManager/Editor/1.2.177/Google.JarResolver.dll
|
||||
Assets/ExternalDependencyManager/Editor/1.2.177/Google.JarResolver.dll.mdb
|
||||
Assets/ExternalDependencyManager/Editor/1.2.177/Google.PackageManagerResolver.dll
|
||||
Assets/ExternalDependencyManager/Editor/1.2.177/Google.PackageManagerResolver.dll.mdb
|
||||
Assets/ExternalDependencyManager/Editor/1.2.177/Google.VersionHandlerImpl.dll
|
||||
Assets/ExternalDependencyManager/Editor/1.2.177/Google.VersionHandlerImpl.dll.mdb
|
||||
Assets/ExternalDependencyManager/Editor/CHANGELOG.md
|
||||
Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll
|
||||
Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll.mdb
|
||||
Assets/ExternalDependencyManager/Editor/LICENSE
|
||||
Assets/ExternalDependencyManager/Editor/README.md
|
||||
@@ -0,0 +1,13 @@
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.pdb
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.dll
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.pdb
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.dll
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.pdb
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.dll
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.pdb
|
||||
Assets/ExternalDependencyManager/Editor/CHANGELOG.md
|
||||
Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll
|
||||
Assets/ExternalDependencyManager/Editor/Google.VersionHandler.pdb
|
||||
Assets/ExternalDependencyManager/Editor/LICENSE
|
||||
Assets/ExternalDependencyManager/Editor/README.md
|
||||
@@ -1,10 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2764c5ea3b354f3cb7ca80028fd08da2
|
||||
guid: d602686ba68d4bfea020d161c28431a9
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_manifest
|
||||
- gvh_version-1.2.177
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.177_manifest.txt
|
||||
- gvh_version-1.2.182
|
||||
- gvhp_exportpath-ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.182_manifest.txt
|
||||
- gvhp_manifestname-0External Dependency Manager
|
||||
- gvhp_manifestname-play-services-resolver
|
||||
timeCreated: 1474401009
|
||||
8
sdk-intergration/Assets/GoogleMobileAds.meta
Normal file
8
sdk-intergration/Assets/GoogleMobileAds.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e6dd5e1cf473c244ba09d6cf5058a3fd
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 30111a133e0c14b7c85f133882f7b282
|
||||
guid: 1d1ca9700477e4b43ab8edb535f588c6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<dependencies>
|
||||
<androidPackages>
|
||||
<androidPackage spec="com.applovin:applovin-sdk:12.6.0" />
|
||||
<androidPackage spec="com.applovin:applovin-sdk:13.0.0" />
|
||||
</androidPackages>
|
||||
<iosPods>
|
||||
<iosPod name="AppLovinSDK" version="12.6.0" />
|
||||
<iosPod name="AppLovinSDK" version="13.0.0" />
|
||||
</iosPods>
|
||||
</dependencies>
|
||||
|
||||
Binary file not shown.
@@ -8,7 +8,7 @@
|
||||
|
||||
#import "MAUnityAdManager.h"
|
||||
|
||||
#define VERSION @"6.6.1"
|
||||
#define VERSION @"7.0.0"
|
||||
#define NSSTRING(_X) ( (_X != NULL) ? [NSString stringWithCString: _X encoding: NSStringEncodingConversionAllowLossy].al_stringByTrimmingWhitespace : nil)
|
||||
|
||||
@interface NSString (ALUtils)
|
||||
@@ -28,7 +28,6 @@ extern "C"
|
||||
static NSString *const KeySdkKey = @"SdkKey";
|
||||
|
||||
UIView* UnityGetGLView();
|
||||
NSString *getSdkKeyFromAppLovinSettingsPlist();
|
||||
|
||||
static ALSdkInitializationConfigurationBuilder *_initConfigurationBuilder;
|
||||
static ALSdk *_sdk;
|
||||
@@ -42,16 +41,6 @@ extern "C"
|
||||
// Helper method to log errors
|
||||
void logUninitializedAccessError(const char *callingMethod);
|
||||
|
||||
ALSdkInitializationConfigurationBuilder *getInitConfigurationBuilder()
|
||||
{
|
||||
if ( !_initConfigurationBuilder )
|
||||
{
|
||||
_initConfigurationBuilder = [ALSdkInitializationConfiguration builderWithSdkKey: getSdkKeyFromAppLovinSettingsPlist()];
|
||||
}
|
||||
|
||||
return _initConfigurationBuilder;
|
||||
}
|
||||
|
||||
ALSdk *getSdk()
|
||||
{
|
||||
if ( !_sdk )
|
||||
@@ -72,6 +61,17 @@ extern "C"
|
||||
return _adManager;
|
||||
}
|
||||
|
||||
ALSdkInitializationConfigurationBuilder *getInitConfigurationBuilder()
|
||||
{
|
||||
if ( !_initConfigurationBuilder )
|
||||
{
|
||||
NSString *sdkKey = [getSdk().settings.extraParameters al_stringForKey: KeySdkKey];
|
||||
_initConfigurationBuilder = [ALSdkInitializationConfiguration builderWithSdkKey: sdkKey];
|
||||
}
|
||||
|
||||
return _initConfigurationBuilder;
|
||||
}
|
||||
|
||||
int getConsentStatusValue(NSNumber *consentStatus)
|
||||
{
|
||||
if ( consentStatus )
|
||||
@@ -117,14 +117,6 @@ extern "C"
|
||||
return array;
|
||||
}
|
||||
|
||||
NSString *getSdkKeyFromAppLovinSettingsPlist()
|
||||
{
|
||||
NSString *settingsPlistResourceURL = [NSBundle.mainBundle pathForResource: @"AppLovin-Settings" ofType: @"plist"];
|
||||
NSDictionary<NSString *, id> *sdkSettingsFromPlist = settingsPlistResourceURL ? [[NSDictionary alloc] initWithContentsOfFile: settingsPlistResourceURL] : @{};
|
||||
|
||||
return [sdkSettingsFromPlist al_stringForKey: KeySdkKey];
|
||||
}
|
||||
|
||||
MASegmentCollection *getSegmentCollection(const char *collectionJson)
|
||||
{
|
||||
MASegmentCollectionBuilder *segmentCollectionBuilder = [MASegmentCollection builder];
|
||||
@@ -289,21 +281,6 @@ extern "C"
|
||||
return [ALPrivacySettings isUserConsentSet];
|
||||
}
|
||||
|
||||
void _MaxSetIsAgeRestrictedUser(bool isAgeRestrictedUser)
|
||||
{
|
||||
[ALPrivacySettings setIsAgeRestrictedUser: isAgeRestrictedUser];
|
||||
}
|
||||
|
||||
bool _MaxIsAgeRestrictedUser()
|
||||
{
|
||||
return [ALPrivacySettings isAgeRestrictedUser];
|
||||
}
|
||||
|
||||
bool _MaxIsAgeRestrictedUserSet()
|
||||
{
|
||||
return [ALPrivacySettings isAgeRestrictedUserSet];
|
||||
}
|
||||
|
||||
void _MaxSetDoNotSell(bool doNotSell)
|
||||
{
|
||||
[ALPrivacySettings setDoNotSell: doNotSell];
|
||||
|
||||
8
sdk-intergration/Assets/MaxSdk/Mediation/Facebook.meta
Normal file
8
sdk-intergration/Assets/MaxSdk/Mediation/Facebook.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ceafa35ff4b964f12b9c025f47227c44
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 28880992a399a48b7abe95b66649d711
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Facebook/Editor
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<dependencies>
|
||||
<androidPackages>
|
||||
<!-- Ensure that Resolver doesn't inadvertently pull Facebook's beta versions of the SDK by forcing a specific version.
|
||||
Since FAN SDK depends on older versions of a few support and play service versions
|
||||
`com.applovin.mediation:facebook-adapter:x.y.z.a` resolves to `com.applovin.mediation:facebook-adapter:+` which pulls down the beta versions of FAN SDK.
|
||||
Note that forcing the adapter is enough to stop Jar Resolver from pulling the latest FAN SDK. -->
|
||||
<androidPackage spec="com.applovin.mediation:facebook-adapter:[6.18.0.0]" />
|
||||
</androidPackages>
|
||||
<iosPods>
|
||||
<iosPod name="AppLovinMediationFacebookAdapter" version="6.15.2.1" />
|
||||
</iosPods>
|
||||
</dependencies>
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aea9bdf974328420db5ae118ef0d2b87
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Facebook/Editor/Dependencies.xml
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
sdk-intergration/Assets/MaxSdk/Mediation/Fyber.meta
Normal file
8
sdk-intergration/Assets/MaxSdk/Mediation/Fyber.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d082a8938aab642cd8a004a029248a3b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
11
sdk-intergration/Assets/MaxSdk/Mediation/Fyber/Editor.meta
Normal file
11
sdk-intergration/Assets/MaxSdk/Mediation/Fyber/Editor.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e076e4ef7e2874ba69b108cc7a346c2a
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Fyber/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:fyber-adapter:8.3.1.1"/>
|
||||
</androidPackages>
|
||||
<iosPods>
|
||||
<iosPod name="AppLovinMediationFyberAdapter" version="8.3.2.1"/>
|
||||
</iosPods>
|
||||
</dependencies>
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5e123cdc08e804dffb2c40c4fbc83caf
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Fyber/Editor/Dependencies.xml
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
sdk-intergration/Assets/MaxSdk/Mediation/Google.meta
Normal file
8
sdk-intergration/Assets/MaxSdk/Mediation/Google.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0ac48cf571fb649d6b44e9973e31d03d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
11
sdk-intergration/Assets/MaxSdk/Mediation/Google/Editor.meta
Normal file
11
sdk-intergration/Assets/MaxSdk/Mediation/Google/Editor.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e8015bd045cea462c8f39c8a05867d08
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Google/Editor
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<dependencies>
|
||||
<androidPackages>
|
||||
<!-- Ensure that Resolver doesn't inadvertently pull the latest Play Services Ads' SDK that we haven't certified against. -->
|
||||
<androidPackage spec="com.applovin.mediation:google-adapter:[23.3.0.1]" />
|
||||
</androidPackages>
|
||||
<iosPods>
|
||||
<iosPod name="AppLovinMediationGoogleAdapter" version="11.10.0.0" />
|
||||
</iosPods>
|
||||
</dependencies>
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 053b810d3594744e38b6fd0fa378fb57
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Google/Editor/Dependencies.xml
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
sdk-intergration/Assets/MaxSdk/Mediation/IronSource.meta
Normal file
8
sdk-intergration/Assets/MaxSdk/Mediation/IronSource.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0d540ee5f5b374e3ea122e65b3d9fa98
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 531d860cac61f47d19e32f526470ae43
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/IronSource/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:ironsource-adapter:8.3.0.0.2">
|
||||
<repositories>
|
||||
<repository>https://android-sdk.is.com/</repository>
|
||||
</repositories>
|
||||
</androidPackage>
|
||||
</androidPackages>
|
||||
<iosPods>
|
||||
<iosPod name="AppLovinMediationIronSourceAdapter" version="8.3.0.0.1" />
|
||||
</iosPods>
|
||||
</dependencies>
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 19262406303f04f05b14b31b3c734d35
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/IronSource/Editor/Dependencies.xml
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
sdk-intergration/Assets/MaxSdk/Mediation/UnityAds.meta
Normal file
8
sdk-intergration/Assets/MaxSdk/Mediation/UnityAds.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 65275fe8716b147f2a622c8018ca68d2
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 30751f2dc322a40e588edfb7c978c9c0
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/UnityAds/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:unityads-adapter:4.12.3.0" />
|
||||
</androidPackages>
|
||||
<iosPods>
|
||||
<iosPod name="AppLovinMediationUnityAdsAdapter" version="4.12.3.0" />
|
||||
</iosPods>
|
||||
</dependencies>
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9950f1cb0da1e43efbeca604db142076
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
sdk-intergration/Assets/MaxSdk/Mediation/Vungle.meta
Normal file
8
sdk-intergration/Assets/MaxSdk/Mediation/Vungle.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 83e47aa65ef684577b34edb98b63a226
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
11
sdk-intergration/Assets/MaxSdk/Mediation/Vungle/Editor.meta
Normal file
11
sdk-intergration/Assets/MaxSdk/Mediation/Vungle/Editor.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 77b6ea05736a9458f8ef8762ee9b64bb
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Vungle/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:vungle-adapter:7.4.1.2" />
|
||||
</androidPackages>
|
||||
<iosPods>
|
||||
<iosPod name="AppLovinMediationVungleAdapter" version="7.4.1.1" />
|
||||
</iosPods>
|
||||
</dependencies>
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0d8ad3a6ddc4f44fab2efe607fe14f26
|
||||
labels:
|
||||
- al_max
|
||||
- al_max_export_path-MaxSdk/Mediation/Vungle/Editor/Dependencies.xml
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -30,7 +30,7 @@ MonoBehaviour:
|
||||
userTrackingUsageDescriptionJa:
|
||||
userTrackingUsageDescriptionKo:
|
||||
userTrackingUsageDescriptionZhHans:
|
||||
userTrackingUsageDescriptionZhHant: default_localization
|
||||
adMobAndroidAppId:
|
||||
adMobIosAppId:
|
||||
userTrackingUsageDescriptionZhHant:
|
||||
adMobAndroidAppId: ca-app-pub-1541656156622049~4671899521
|
||||
adMobIosAppId: ca-app-pub-1541656156622049~9934477255
|
||||
showInternalSettingsInIntegrationManager: 0
|
||||
|
||||
0
sdk-intergration/Assets/MaxSdk/Resources/Images/uninstall_icon.png
Executable file → Normal file
0
sdk-intergration/Assets/MaxSdk/Resources/Images/uninstall_icon.png
Executable file → Normal file
|
Before Width: | Height: | Size: 159 B After Width: | Height: | Size: 159 B |
@@ -26,19 +26,27 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
// TODO: Make this list dynamic.
|
||||
public static readonly Dictionary<string, string> MinAdapterVersions = new Dictionary<string, string>()
|
||||
{
|
||||
{"ADMOB_NETWORK", "android_19.3.0.3_ios_7.65.0.0"},
|
||||
{"CHARTBOOST_NETWORK", "android_8.1.0.7_ios_8.2.1.3"},
|
||||
{"FACEBOOK_MEDIATE", "android_6.0.0.1_ios_6.0.0.3"},
|
||||
{"FYBER_NETWORK", "android_7.7.0.1_ios_7.6.4.1"},
|
||||
{"GOOGLE_AD_MANAGER_NETWORK", "android_19.3.0.3_ios_7.65.0.0"},
|
||||
{"INMOBI_NETWORK", "android_9.0.9.2_ios_9.0.7.9"},
|
||||
{"IRONSOURCE_NETWORK", "android_7.0.1.1.1_ios_7.0.1.0.1"},
|
||||
{"MYTARGET_NETWORK", "android_5.9.1.2_ios_5.7.5.1"},
|
||||
{"SMAATO_NETWORK", "android_21.5.2.5_ios_21.5.2.3"},
|
||||
{"TIKTOK_NETWORK", "android_3.1.0.1.6_ios_3.2.5.1.1"},
|
||||
{"UNITY_NETWORK", "android_3.4.8.2_ios_3.4.8.2"},
|
||||
{"VUNGLE_NETWORK", "android_6.7.1.2_ios_6.7.1.3"},
|
||||
{"YANDEX_NETWORK", "android_2.170.2_ios_2.18.0.1"}
|
||||
{"ADMOB_NETWORK", "android_23.3.0.1_ios_11.9.0.1"},
|
||||
{"BIDMACHINE_NETWORK", "android_3.0.1.1_ios_3.0.0.0.1"},
|
||||
{"CHARTBOOST_NETWORK", "android_9.7.0.3_ios_9.7.0.2"},
|
||||
{"FACEBOOK_MEDIATE", "android_6.17.0.1_ios_6.15.2.1"},
|
||||
{"FYBER_NETWORK", "android_8.3.1.1_ios_8.3.2.1"},
|
||||
{"GOOGLE_AD_MANAGER_NETWORK", "android_23.3.0.1_ios_11.9.0.1"},
|
||||
{"HYPRMX_NETWORK", "android_6.4.2.1_ios_6.4.1.0.1"},
|
||||
{"INMOBI_NETWORK", "android_10.7.7.1_ios_10.7.5.1"},
|
||||
{"IRONSOURCE_NETWORK", "android_8.3.0.0.2_ios_8.3.0.0.1"},
|
||||
{"LINE_NETWORK", "android_2024.8.27.1_ios_2.8.20240827.1"},
|
||||
{"MINTEGRAL_NETWORK", "android_16.8.51.1_ios_7.7.2.0.1"},
|
||||
{"MOBILEFUSE_NETWORK", "android_1.7.6.1_ios_1.7.6.1"},
|
||||
{"MOLOCO_NETWORK", "android_3.1.0.1_ios_3.1.3.1"},
|
||||
{"MYTARGET_NETWORK", "android_5.22.1.1_ios_5.21.7.1"},
|
||||
{"PUBMATIC_NETWORK", "android_3.9.0.2_ios_3.9.0.2"},
|
||||
{"SMAATO_NETWORK", "android_22.7.0.1_ios_22.8.4.1"},
|
||||
{"TIKTOK_NETWORK", "android_6.2.0.5.2_ios_6.2.0.7.2"},
|
||||
{"UNITY_NETWORK", "android_4.12.2.1_ios_4.12.2.1"},
|
||||
{"VERVE_NETWORK", "android_3.0.4.1_ios_3.0.4.1"},
|
||||
{"VUNGLE_NETWORK", "android_7.4.1.1_ios_7.4.1.1"},
|
||||
{"YANDEX_NETWORK", "android_7.4.0.1_ios_2.18.0.1"},
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -56,6 +56,8 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
private const string KeyConsentFlowPrivacyPolicy = "consent_flow_privacy_policy";
|
||||
private const string KeyConsentFlowDebugUserGeography = "consent_flow_debug_user_geography";
|
||||
|
||||
private const string KeyRenderOutsideSafeArea = "render_outside_safe_area";
|
||||
|
||||
#if UNITY_2022_3_OR_NEWER
|
||||
// To match "'com.android.library' version '7.3.1'" line in build.gradle
|
||||
private static readonly Regex TokenGradleVersionLibrary = new Regex(".*id ['\"]com\\.android\\.library['\"] version");
|
||||
@@ -354,6 +356,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
|
||||
// Add the SDK key to the SDK settings.
|
||||
appLovinSdkSettings[KeySdkKey] = AppLovinSettings.Instance.SdkKey;
|
||||
appLovinSdkSettings[KeyRenderOutsideSafeArea] = PlayerSettings.Android.renderOutsideSafeArea;
|
||||
|
||||
// Add the Consent/Terms flow settings if needed.
|
||||
if (AppLovinInternalSettings.Instance.ConsentFlowEnabled)
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
|
||||
using System.IO;
|
||||
using UnityEditor.Android;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
{
|
||||
@@ -27,15 +26,21 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
// On Unity 2019.3+, the path returned is the path to the unityLibrary's module.
|
||||
// The AppLovin Quality Service buildscript closure related lines need to be added to the root build.gradle file.
|
||||
var rootGradleBuildFilePath = Path.Combine(path, "../build.gradle");
|
||||
#if UNITY_2022_2_OR_NEWER
|
||||
if (!AddPluginToRootGradleBuildFile(rootGradleBuildFilePath)) return;
|
||||
|
||||
var rootSettingsGradleFilePath = Path.Combine(path, "../settings.gradle");
|
||||
if (!AddAppLovinRepository(rootSettingsGradleFilePath)) return;
|
||||
#else
|
||||
|
||||
// For 2022.2 and newer and 2021.3.41+
|
||||
var qualityServiceAdded = AddPluginToRootGradleBuildFile(rootGradleBuildFilePath);
|
||||
var appLovinRepositoryAdded = AddAppLovinRepository(rootSettingsGradleFilePath);
|
||||
|
||||
// For 2021.3.40 and older and 2022.0 - 2022.1.x
|
||||
var buildScriptChangesAdded = AddQualityServiceBuildScriptLines(rootGradleBuildFilePath);
|
||||
if (!buildScriptChangesAdded) return;
|
||||
#endif
|
||||
|
||||
var failedToAddPlugin = !buildScriptChangesAdded && !(qualityServiceAdded && appLovinRepositoryAdded);
|
||||
if (failedToAddPlugin)
|
||||
{
|
||||
MaxSdkLogger.UserWarning("Failed to add AppLovin Quality Service plugin to the gradle project.");
|
||||
return;
|
||||
}
|
||||
|
||||
// The plugin needs to be added to the application module (named launcher)
|
||||
var applicationGradleBuildFilePath = Path.Combine(path, "../launcher/build.gradle");
|
||||
|
||||
@@ -39,13 +39,15 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
#if !UNITY_2019_3_OR_NEWER
|
||||
private const string UnityMainTargetName = "Unity-iPhone";
|
||||
#endif
|
||||
// Use a priority of 90 to have AppLovin embed frameworks after Pods are installed (EDM finishes installing Pods at priority 60) and before Firebase Crashlytics runs their scripts (at priority 100).
|
||||
private const int AppLovinEmbedFrameworksPriority = 90;
|
||||
|
||||
private const string TargetUnityIphonePodfileLine = "target 'Unity-iPhone' do";
|
||||
private const string UseFrameworksPodfileLine = "use_frameworks!";
|
||||
private const string UseFrameworksDynamicPodfileLine = "use_frameworks! :linkage => :dynamic";
|
||||
private const string UseFrameworksStaticPodfileLine = "use_frameworks! :linkage => :static";
|
||||
|
||||
private const string LegacyResourcesDirectoryName = "Resources";
|
||||
private const string ResourcesDirectoryName = "Resources";
|
||||
private const string AppLovinMaxResourcesDirectoryName = "AppLovinMAXResources";
|
||||
private const string AppLovinAdvertisingAttributionEndpoint = "https://postbacks-app.com";
|
||||
|
||||
@@ -80,7 +82,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
/// 1. Downloads the Quality Service ruby script.
|
||||
/// 2. Runs the script using Ruby which integrates AppLovin Quality Service to the project.
|
||||
/// </summary>
|
||||
//[PostProcessBuild(int.MaxValue)] // We want to run Quality Service script last.
|
||||
[PostProcessBuild(int.MaxValue)] // We want to run Quality Service script last.
|
||||
public static void OnPostProcessBuild(BuildTarget buildTarget, string buildPath)
|
||||
{
|
||||
if (!AppLovinSettings.Instance.QualityServiceEnabled) return;
|
||||
@@ -146,7 +148,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
}
|
||||
}
|
||||
|
||||
[PostProcessBuild(int.MaxValue)]
|
||||
[PostProcessBuild(AppLovinEmbedFrameworksPriority)]
|
||||
public static void MaxPostProcessPbxProject(BuildTarget buildTarget, string buildPath)
|
||||
{
|
||||
var projectPath = PBXProject.GetPBXProjectPath(buildPath);
|
||||
@@ -365,9 +367,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
|
||||
private static void LocalizeUserTrackingDescriptionIfNeeded(string localizedUserTrackingDescription, string localeCode, string buildPath, PBXProject project, string targetGuid)
|
||||
{
|
||||
// Use the legacy resources directory name if the build is being appended (the "Resources" directory already exists if it is an incremental build).
|
||||
var resourcesDirectoryName = Directory.Exists(Path.Combine(buildPath, LegacyResourcesDirectoryName)) ? LegacyResourcesDirectoryName : AppLovinMaxResourcesDirectoryName;
|
||||
var resourcesDirectoryPath = Path.Combine(buildPath, resourcesDirectoryName);
|
||||
var resourcesDirectoryPath = Path.Combine(buildPath, AppLovinMaxResourcesDirectoryName);
|
||||
var localeSpecificDirectoryName = localeCode + ".lproj";
|
||||
var localeSpecificDirectoryPath = Path.Combine(resourcesDirectoryPath, localeSpecificDirectoryName);
|
||||
var infoPlistStringsFilePath = Path.Combine(localeSpecificDirectoryPath, "InfoPlist.strings");
|
||||
@@ -381,6 +381,15 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
return;
|
||||
}
|
||||
|
||||
// Log an error if we detect a localization file for this language in the `Resources` directory
|
||||
var legacyResourcedDirectoryPath = Path.Combine(buildPath, ResourcesDirectoryName);
|
||||
var localeSpecificLegacyDirectoryPath = Path.Combine(legacyResourcedDirectoryPath, localeSpecificDirectoryName);
|
||||
if (Directory.Exists(localeSpecificLegacyDirectoryPath))
|
||||
{
|
||||
MaxSdkLogger.UserError("Detected existing localization resource for \"" + localeCode + "\" locale. Skipping localization for User Tracking Usage Description. Please disable localization in AppLovin Integration manager and add the localizations to your existing resource.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Create intermediate directories as needed.
|
||||
if (!Directory.Exists(resourcesDirectoryPath))
|
||||
{
|
||||
@@ -425,7 +434,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
File.WriteAllText(infoPlistStringsFilePath, "/* Localized versions of Info.plist keys - Generated by AL MAX plugin */\n" + localizedDescriptionLine);
|
||||
}
|
||||
|
||||
var localeSpecificDirectoryRelativePath = Path.Combine(resourcesDirectoryName, localeSpecificDirectoryName);
|
||||
var localeSpecificDirectoryRelativePath = Path.Combine(AppLovinMaxResourcesDirectoryName, localeSpecificDirectoryName);
|
||||
var guid = project.AddFolderReference(localeSpecificDirectoryRelativePath, localeSpecificDirectoryRelativePath);
|
||||
project.AddFileToBuild(targetGuid, guid);
|
||||
}
|
||||
|
||||
@@ -37,11 +37,9 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
private static readonly Regex TokenApiKey = new Regex(".*apiKey.*");
|
||||
private static readonly Regex TokenAppLovinPlugin = new Regex(".*apply plugin:.+?(?=applovin-quality-service).*");
|
||||
|
||||
#if UNITY_2022_2_OR_NEWER
|
||||
private const string PluginsMatcher = "plugins";
|
||||
private const string PluginManagementMatcher = "pluginManagement";
|
||||
private const string QualityServicePluginRoot = " id 'com.applovin.quality' version '+' apply false // NOTE: Requires version 4.8.3+ for Gradle version 7.2+";
|
||||
#endif
|
||||
|
||||
private const string BuildScriptMatcher = "buildscript";
|
||||
private const string QualityServiceMavenRepo = "maven { url 'https://artifacts.applovin.com/android'; content { includeGroupByRegex 'com.applovin.*' } }";
|
||||
@@ -108,9 +106,19 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
Console.WriteLine(exception);
|
||||
}
|
||||
}
|
||||
#if UNITY_2022_2_OR_NEWER
|
||||
|
||||
/// <summary>
|
||||
/// Adds AppLovin Quality Service plugin DSL element to the project's root build.gradle file.
|
||||
/// Adds AppLovin Quality Service plugin DSL element to the project's root build.gradle file.
|
||||
/// Sample build.gradle file after adding quality service:
|
||||
/// plugins {
|
||||
/// id 'com.android.application' version '7.4.2' apply false
|
||||
/// id 'com.android.library' version '7.4.2' apply false
|
||||
/// id 'com.applovin.quality' version '+' apply false
|
||||
/// }
|
||||
/// tasks.register('clean', Delete) {
|
||||
/// delete rootProject.layout.buildDirectory
|
||||
/// }
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="rootGradleBuildFile">The path to project's root build.gradle file.</param>
|
||||
/// <returns><c>true</c> when the plugin was added successfully.</returns>
|
||||
@@ -141,11 +149,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
outputLines.Add(line);
|
||||
}
|
||||
|
||||
if (!pluginAdded)
|
||||
{
|
||||
MaxSdkLogger.UserError("Failed to add AppLovin Quality Service plugin to root gradle file.");
|
||||
return false;
|
||||
}
|
||||
if (!pluginAdded) return false;
|
||||
|
||||
try
|
||||
{
|
||||
@@ -163,6 +167,18 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
|
||||
/// <summary>
|
||||
/// Adds the AppLovin maven repository to the project's settings.gradle file.
|
||||
/// Sample settings.gradle file after adding AppLovin Repository:
|
||||
/// pluginManagement {
|
||||
/// repositories {
|
||||
/// maven { url 'https://artifacts.applovin.com/android'; content { includeGroupByRegex 'com.applovin.*' } }
|
||||
///
|
||||
/// gradlePluginPortal()
|
||||
/// google()
|
||||
/// mavenCentral()
|
||||
/// }
|
||||
/// }
|
||||
/// ...
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="settingsGradleFile">The path to the project's settings.gradle file.</param>
|
||||
/// <returns><c>true</c> if the repository was added successfully.</returns>
|
||||
@@ -212,11 +228,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
}
|
||||
}
|
||||
|
||||
if (!mavenRepoAdded)
|
||||
{
|
||||
MaxSdkLogger.UserError("Failed to add AppLovin Quality Service plugin maven repo to settings gradle file.");
|
||||
return false;
|
||||
}
|
||||
if (!mavenRepoAdded) return false;
|
||||
|
||||
try
|
||||
{
|
||||
@@ -231,11 +243,25 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if UNITY_2019_3_OR_NEWER
|
||||
/// <summary>
|
||||
/// Adds the necessary AppLovin Quality Service dependency and maven repo lines to the provided root build.gradle file.
|
||||
/// Sample build.gradle file after adding quality service:
|
||||
/// allprojects {
|
||||
/// buildscript {
|
||||
/// repositories {
|
||||
/// maven { url 'https://artifacts.applovin.com/android'; content { includeGroupByRegex 'com.applovin.*' } }
|
||||
/// google()
|
||||
/// jcenter()
|
||||
/// }
|
||||
///
|
||||
/// dependencies {
|
||||
/// classpath 'com.android.tools.build:gradle:4.0.1'
|
||||
/// classpath 'com.applovin.quality:AppLovinQualityServiceGradlePlugin:+'
|
||||
/// }
|
||||
/// ...
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="rootGradleBuildFile">The root build.gradle file path</param>
|
||||
/// <returns><c>true</c> if the build script lines were applied correctly.</returns>
|
||||
@@ -536,7 +562,6 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
||||
|
||||
if ((addBuildScriptLines && (!qualityServiceRepositoryAdded || !qualityServiceDependencyClassPathAdded)) || (addPlugin && !qualityServicePluginAdded))
|
||||
{
|
||||
MaxSdkLogger.UserError("Failed to add AppLovin Quality Service plugin. Quality Service Plugin Added?: " + qualityServicePluginAdded + ", Quality Service Repo added?: " + qualityServiceRepositoryAdded + ", Quality Service dependency added?: " + qualityServiceDependencyClassPathAdded);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ public class MaxSdk :
|
||||
MaxSdkUnityEditor
|
||||
#endif
|
||||
{
|
||||
private const string _version = "6.6.1";
|
||||
private const string _version = "7.0.0";
|
||||
|
||||
/// <summary>
|
||||
/// Returns the current plugin version.
|
||||
|
||||
@@ -171,33 +171,6 @@ public class MaxSdkAndroid : MaxSdkBase
|
||||
return MaxUnityPluginClass.CallStatic<bool>("isUserConsentSet");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Mark user as age restricted (i.e. under 16).
|
||||
/// </summary>
|
||||
/// <param name="isAgeRestrictedUser"><c>true</c> if the user is age restricted (i.e. under 16).</param>
|
||||
public static void SetIsAgeRestrictedUser(bool isAgeRestrictedUser)
|
||||
{
|
||||
MaxUnityPluginClass.CallStatic("setIsAgeRestrictedUser", isAgeRestrictedUser);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check if user is age restricted.
|
||||
/// </summary>
|
||||
/// <returns><c>true</c> if the user is age-restricted. <c>false</c> if the user is not age-restricted or the age-restriction has not been set<see cref="IsAgeRestrictedUserSet">.</returns>
|
||||
public static bool IsAgeRestrictedUser()
|
||||
{
|
||||
return MaxUnityPluginClass.CallStatic<bool>("isAgeRestrictedUser");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check if the user has set its age restricted settings.
|
||||
/// </summary>
|
||||
/// <returns><c>true</c> if the user has set its age restricted settings.</returns>
|
||||
public static bool IsAgeRestrictedUserSet()
|
||||
{
|
||||
return MaxUnityPluginClass.CallStatic<bool>("isAgeRestrictedUserSet");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set whether or not user has opted out of the sale of their personal information.
|
||||
/// </summary>
|
||||
|
||||
@@ -275,17 +275,39 @@ public abstract class MaxSdkBase
|
||||
/// </summary>
|
||||
FullscreenAdNotReady = -24,
|
||||
|
||||
#if UNITY_ANDROID
|
||||
#if UNITY_IOS || UNITY_IPHONE
|
||||
/// <summary>
|
||||
/// This error code indicates that the SDK failed to load an ad because it could not find the top Activity.
|
||||
/// This error code indicates you attempted to present a fullscreen ad from an invalid view controller.
|
||||
/// </summary>
|
||||
NoActivity = -5601,
|
||||
FullscreenAdInvalidViewController = -25,
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// This error code indicates you are attempting to load a fullscreen ad while another fullscreen ad is already loading.
|
||||
/// </summary>
|
||||
FullscreenAdAlreadyLoading = -26,
|
||||
|
||||
/// <summary>
|
||||
/// This error code indicates you are attempting to load a fullscreen ad while another fullscreen ad is still showing.
|
||||
/// </summary>
|
||||
FullscreenAdLoadWhileShowing = -27,
|
||||
|
||||
#if UNITY_ANDROID
|
||||
/// <summary>
|
||||
/// This error code indicates that the SDK failed to display an ad because the user has the "Don't Keep Activities" developer setting enabled.
|
||||
/// </summary>
|
||||
DontKeepActivitiesEnabled = -5602,
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// This error code indicates that the SDK failed to load an ad because the publisher provided an invalid ad unit identifier.
|
||||
/// Possible reasons for an invalid ad unit identifier:
|
||||
/// 1. Ad unit identifier is malformed or does not exist
|
||||
/// 2. Ad unit is disabled
|
||||
/// 3. Ad unit is not associated with the current app's package name
|
||||
/// 4. Ad unit was created within the last 30-60 minutes
|
||||
/// </summary>
|
||||
InvalidAdUnitId = -5603
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -23,8 +23,6 @@ public class MaxSdkUnityEditor : MaxSdkBase
|
||||
private static bool _isInitialized;
|
||||
private static bool _hasUserConsent = false;
|
||||
private static bool _isUserConsentSet = false;
|
||||
private static bool _isAgeRestrictedUser = false;
|
||||
private static bool _isAgeRestrictedUserSet = false;
|
||||
private static bool _doNotSell = false;
|
||||
private static bool _isDoNotSellSet = false;
|
||||
private static bool _showStubAds = true;
|
||||
@@ -222,34 +220,6 @@ public class MaxSdkUnityEditor : MaxSdkBase
|
||||
return _isUserConsentSet;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Mark user as age restricted (i.e. under 16).
|
||||
/// </summary>
|
||||
/// <param name="isAgeRestrictedUser"><c>true</c> if the user is age restricted (i.e. under 16).</param>
|
||||
public static void SetIsAgeRestrictedUser(bool isAgeRestrictedUser)
|
||||
{
|
||||
_isAgeRestrictedUser = isAgeRestrictedUser;
|
||||
_isAgeRestrictedUserSet = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check if user is age restricted.
|
||||
/// </summary>
|
||||
/// <returns><c>true</c> if the user is age-restricted. <c>false</c> if the user is not age-restricted or the age-restriction has not been set<see cref="IsAgeRestrictedUserSet"/>.</returns>
|
||||
public static bool IsAgeRestrictedUser()
|
||||
{
|
||||
return _isAgeRestrictedUser;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check if user set its age restricted settings.
|
||||
/// </summary>
|
||||
/// <returns><c>true</c> if user has set its age restricted settings.</returns>
|
||||
public static bool IsAgeRestrictedUserSet()
|
||||
{
|
||||
return _isAgeRestrictedUserSet;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set whether or not user has opted out of the sale of their personal information.
|
||||
/// </summary>
|
||||
|
||||
@@ -214,42 +214,6 @@ public class MaxSdkiOS : MaxSdkBase
|
||||
return _MaxIsUserConsentSet();
|
||||
}
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void _MaxSetIsAgeRestrictedUser(bool isAgeRestrictedUser);
|
||||
|
||||
/// <summary>
|
||||
/// Mark user as age restricted (i.e. under 16).
|
||||
/// </summary>
|
||||
/// <param name="isAgeRestrictedUser"><c>true</c> if the user is age restricted (i.e. under 16).</param>
|
||||
public static void SetIsAgeRestrictedUser(bool isAgeRestrictedUser)
|
||||
{
|
||||
_MaxSetIsAgeRestrictedUser(isAgeRestrictedUser);
|
||||
}
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern bool _MaxIsAgeRestrictedUser();
|
||||
|
||||
/// <summary>
|
||||
/// Check if user is age restricted.
|
||||
/// </summary>
|
||||
/// <returns><c>true</c> if the user is age-restricted. <c>false</c> if the user is not age-restricted or the age-restriction has not been set<see cref="IsAgeRestrictedUserSet">.</returns>
|
||||
public static bool IsAgeRestrictedUser()
|
||||
{
|
||||
return _MaxIsAgeRestrictedUser();
|
||||
}
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern bool _MaxIsAgeRestrictedUserSet();
|
||||
|
||||
/// <summary>
|
||||
/// Check if user set its age restricted settings.
|
||||
/// </summary>
|
||||
/// <returns><c>true</c> if user has set its age restricted settings.</returns>
|
||||
public static bool IsAgeRestrictedUserSet()
|
||||
{
|
||||
return _MaxIsAgeRestrictedUserSet();
|
||||
}
|
||||
|
||||
[DllImport("__Internal")]
|
||||
private static extern void _MaxSetDoNotSell(bool doNotSell);
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: de38137d567d12045bbe1372bc888de6
|
||||
guid: 83607d3558d16fd44868ee734e051f0b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3fdee26ffb417244da1c9778ddaf7e90
|
||||
guid: 15ef3a13abd225e4db1d26b28e321a97
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.arkgame.ft"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.arkgame.ft"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
<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" android:usesCleartextTraffic="true">
|
||||
<activity android:name="com.unity3d.player.TYUnityActivity"
|
||||
android:theme="@style/UnityThemeSelector">
|
||||
|
||||
@@ -15,10 +15,10 @@ dependencies {
|
||||
api "com.squareup.retrofit2:adapter-rxjava:2.1.0"
|
||||
api "io.reactivex:rxandroid:1.2.1"
|
||||
api "io.reactivex:rxjava:1.1.9"
|
||||
|
||||
//GA依赖
|
||||
// implementation 'com.tuyoo.component:growsdk-gasdk:2.4.22_0115-RELEASE' 由于build时候 包获取不到(可能是网络原因)平台已经给了 aar文件
|
||||
implementation 'net.aihelp:android-aihelp-aar:4.6.+'
|
||||
|
||||
// Google Play In-App Review
|
||||
implementation 'com.google.android.play:review:2.0.1'
|
||||
implementation 'net.aihelp:android-aihelp-aar:5.3.+'
|
||||
|
||||
implementation 'com.google.android.gms:play-services-auth:20.2.0'
|
||||
implementation('com.android.billingclient:billing:6.0.1')
|
||||
@@ -31,9 +31,6 @@ dependencies {
|
||||
implementation 'org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.41'
|
||||
implementation 'androidx.core:core:1.8.0'
|
||||
|
||||
// implementation 'com.appsflyer:af-android-sdk:6.14.2' //tuyou 讓使用6.12.5 版本 ,對接后發現 缺少了一些文件 所以使用6.14.2版本
|
||||
// implementation 'com.appsflyer:unity-wrapper:6.14.3'
|
||||
// implementation 'com.android.installreferrer:installreferrer:2.2'
|
||||
implementation 'com.miui.referrer:homereferrer:1.0.0.6'
|
||||
|
||||
implementation platform('com.google.firebase:firebase-bom:32.7.4')
|
||||
@@ -45,7 +42,13 @@ dependencies {
|
||||
|
||||
// Android Resolver Dependencies Start
|
||||
implementation 'com.android.installreferrer:installreferrer:2.1' // Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml:10
|
||||
implementation 'com.applovin:applovin-sdk:12.6.0' // Assets/MaxSdk/AppLovin/Editor/Dependencies.xml:4
|
||||
implementation 'com.applovin.mediation:facebook-adapter:[6.18.0.0]' // Assets/MaxSdk/Mediation/Facebook/Editor/Dependencies.xml:8
|
||||
implementation 'com.applovin.mediation:fyber-adapter:8.3.1.1' // Assets/MaxSdk/Mediation/Fyber/Editor/Dependencies.xml:4
|
||||
implementation 'com.applovin.mediation:google-adapter:[23.3.0.1]' // Assets/MaxSdk/Mediation/Google/Editor/Dependencies.xml:5
|
||||
implementation 'com.applovin.mediation:ironsource-adapter:8.3.0.0.2' // Assets/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml:8
|
||||
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.1.2' // Assets/MaxSdk/Mediation/Vungle/Editor/Dependencies.xml:4
|
||||
implementation 'com.applovin:applovin-sdk:13.0.0' // Assets/MaxSdk/AppLovin/Editor/Dependencies.xml:4
|
||||
implementation 'com.appsflyer:adrevenue:6.9.1' // Assets/AppsFlyer/Editor/AppsFlyerAdRevenueDependencies.xml:4
|
||||
implementation 'com.appsflyer:af-android-sdk:6.14.0' // Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml:6
|
||||
implementation 'com.appsflyer:unity-adrevenue-generic-wrapper:6.9.1' // Assets/AppsFlyer/Editor/AppsFlyerAdRevenueDependencies.xml:5
|
||||
|
||||
49
sdk-intergration/Assets/Plugins/Android/push.java
Normal file
49
sdk-intergration/Assets/Plugins/Android/push.java
Normal file
@@ -0,0 +1,49 @@
|
||||
package com.android.action.activity;
|
||||
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
|
||||
|
||||
class NS{
|
||||
|
||||
public static void GotoNS(Context context){
|
||||
Intent intent = new Intent();
|
||||
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.O) {
|
||||
intent.setAction(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
|
||||
intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName());
|
||||
}
|
||||
else if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP&&
|
||||
Build.VERSION.SDK_INT<Build.VERSION_CODES.O) {
|
||||
intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS");
|
||||
intent.putExtra("app_package", context.getPackageName());
|
||||
//Log.e("success grt packagename",context.getPackageName());
|
||||
intent.putExtra("app_uid", context.getApplicationInfo().uid);
|
||||
//Log.e("success get uid", String.valueOf(context.getApplicationInfo().uid));
|
||||
}
|
||||
else if(Build.VERSION.SDK_INT==Build.VERSION_CODES.KITKAT) {
|
||||
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
|
||||
intent.addCategory(Intent.CATEGORY_DEFAULT);
|
||||
intent.setData(Uri.parse("package:" + context.getPackageName()));
|
||||
}
|
||||
else{
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
if(Build.VERSION.SDK_INT>=9)
|
||||
{
|
||||
intent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
|
||||
intent.setData(Uri.fromParts("package",context.getPackageName(),null));
|
||||
}
|
||||
else if(Build.VERSION.SDK_INT<=8){
|
||||
intent.setAction(Intent.ACTION_VIEW);
|
||||
intent.setClassName("com.android.settings", "com.android.setting.InstalledAppDetails");
|
||||
intent.putExtra("com.android.settings.ApplicationPkgName", context.getPackageName());
|
||||
}
|
||||
}
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
}
|
||||
32
sdk-intergration/Assets/Plugins/Android/push.java.meta
Normal file
32
sdk-intergration/Assets/Plugins/Android/push.java.meta
Normal file
@@ -0,0 +1,32 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bec28024fb536c549856ff8c4ebc57af
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -17,7 +17,9 @@ dependencyResolutionManagement {
|
||||
google()
|
||||
mavenCentral()
|
||||
// Android Resolver Repos Start
|
||||
def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
|
||||
maven {
|
||||
url "https://android-sdk.is.com/" // Assets/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml:8
|
||||
}
|
||||
mavenLocal()
|
||||
// Android Resolver Repos End
|
||||
flatDir {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using AppsFlyerSDK;
|
||||
using asap.core;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
2d1ff846becd15535825f810a1098903
|
||||
File diff suppressed because one or more lines are too long
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d04ab5feb9b027f4fb188506d52dc152
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "ta",
|
||||
"version": "0.0.1",
|
||||
"displayName": "TA",
|
||||
"description": "ThinkingData SDK"
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
**v2.5.1** 2022/11/21
|
||||
- 新增支持设置实例名称
|
||||
- 新增支持获取国家/地区信息
|
||||
- 优化代码
|
||||
|
||||
**v2.5.0** 2022/10/20
|
||||
- 优化代码
|
||||
|
||||
**v2.4.1** 2022/08/08
|
||||
- 支持 Package Manager 接入
|
||||
- 新增自动采集场景加载、卸载事件
|
||||
- 优化代码
|
||||
|
||||
**v2.4.0** 2022/06/24
|
||||
- 新增支持去重追加用户属性
|
||||
- 新增支持自动采集事件回调
|
||||
- 新增支持 iOS / Android 数据加密上报
|
||||
- 优化代码
|
||||
|
||||
**v2.3.1** 2022/04/21
|
||||
- 新增预置属性禁用开关
|
||||
- 优化代码
|
||||
|
||||
**v2.3.0** 2022/02/28
|
||||
- 全平台支持缓存事件、批量发送
|
||||
- 优化代码
|
||||
|
||||
**v2.2.5** 2022/01/17
|
||||
- 新增预置属性`#app_version`
|
||||
- 支持 Switch 等平台,放开对支持平台的限制
|
||||
- 简化初始化流程,放开 Unity 预置体限制
|
||||
- 优化代码
|
||||
|
||||
**v2.2.4** 2021/11/15
|
||||
- 支持复杂数据类型传输
|
||||
- 自动采集事件支持自定义属性
|
||||
- 优化代码
|
||||
|
||||
**v2.2.3** 2021/09/24
|
||||
- 适配 WebGL 平台
|
||||
- 优化代码
|
||||
|
||||
**v2.2.2** 2021/09/15
|
||||
- 支持手动初始化
|
||||
- 支持事件黑名单
|
||||
- 优化代码
|
||||
|
||||
**v2.2.1** 2021/07/21
|
||||
- 优化代码
|
||||
|
||||
**v2.2.0** 2021/06/16
|
||||
- 适配低版本 Xcode 版本
|
||||
- 适配 .NET 3.5 / 2017.x 环境
|
||||
- 新增 C# 异常采集
|
||||
- 调整事件属性、公共属性、预置属性的覆盖顺序
|
||||
- 更新 Android SDK (v2.7.0)、iOS SDK (v2.7.0)
|
||||
|
||||
**v2.1.5** 2021/04/19
|
||||
- 兼容低版本 .NET
|
||||
- 代码优化
|
||||
|
||||
|
||||
**v2.1.4** 2021/03/15
|
||||
- 适配 iOS 14
|
||||
- 适配 Android 11
|
||||
- 新增预置属性`#bundle_id` (应用唯一标识)
|
||||
- 优化网络信号获取逻辑
|
||||
|
||||
|
||||
**v2.1.3** 2021/01/04
|
||||
- 支持 UnityEditor 中上报数据
|
||||
- 支持 PC 端游戏 ( Windows, MacOS )
|
||||
- 多实例场景,支持代码设置默认实例
|
||||
|
||||
|
||||
**v.2.1.2**(2020-10-31)
|
||||
- autodata中信息放入track事件的properties
|
||||
- 移除iOS bundle资源文件
|
||||
- install,start事件以后立即flush
|
||||
- 新增iOS 5G信息采集;更新5G情况的数据上报判断逻辑
|
||||
- 调整未知网络数据上报逻辑调整
|
||||
- 默认上报策略调整为所有网络情况均可上报
|
||||
- 大量安卓日志打印OOM异常优化
|
||||
|
||||
|
||||
**v2.1.1** (2020-08-25)
|
||||
- 修复特殊事件不设置timeZone导致上报错误的#zone_offset的问题.
|
||||
|
||||
**v2.1.0** (2020-08-24)
|
||||
- 支持首次事件, 允许传入自定义的 ID 校验是否首次上报
|
||||
- 支持可更新、可重写的事件
|
||||
- 优化#lib/#lib_version 字段为 Unity SDK 信息
|
||||
- 升级原生 SDK 版本为 v2.6.0
|
||||
|
||||
**v2.0.8** (2020-06-28)
|
||||
- 更新原生 Android SDK,解决极端情况下的空指针异常
|
||||
|
||||
**v2.0.7** (2020-06-23)
|
||||
- 新增预置属性 #system_language
|
||||
- 更新原生 SDK 版本号: Android v2.5.5, iOS v2.5.5
|
||||
- Android 不再通过修改 gradle 配置来引入ThinkingAnalyticsSDK 依赖
|
||||
|
||||
**v2.0.6** (2020-06-17)
|
||||
- 解决 iOS 32 位机型 long 型溢出的问题
|
||||
|
||||
**v2.0.5** (2020-05-19)
|
||||
- 解决 2018.04 版本无法使用 ntp 校准时间的问题
|
||||
|
||||
**v2.0.4** (2020-05-15)
|
||||
- 更新原生 iOS SDK 到 v2.5.2,解决上个版本中 Debug 模式问题
|
||||
|
||||
**v2.0.3** (2020-05-14)
|
||||
- 更新原生 SDK 版本,适配 TA 后台埋点管理功能
|
||||
- 优化代码,避免出现异常(可能会导致与其他崩溃采集 SDK 冲突)
|
||||
|
||||
**v2.0.2** (2020-04-17)
|
||||
- 修复 Double 类型在自定义 CultureInfo 的场景下格式错误
|
||||
|
||||
**v2.0.1** (2020-04-14)
|
||||
- 修复 Android 平台 DEBUG 模式上报事件的 BUG.
|
||||
|
||||
**v2.0.0** (2020-04-03)
|
||||
- 修改自动采集逻辑,支持四种类型的自动采集事件:启动、关闭、崩溃、安装
|
||||
- 支持 SDK 时间校准功能,支持时间戳校准和 NTP 服务器校准
|
||||
- 允许为用户属性相关设置接口传入指定时间
|
||||
|
||||
**v1.4.3** (2020-03-19)
|
||||
- 支持对数据 #time 属性的默认时区设置
|
||||
- 更新原生 SDK 版本
|
||||
|
||||
**v1.4.2** (2020-02-21)
|
||||
- 更新iOS 插件,修复之前版本bug
|
||||
|
||||
**v1.4.1** (2020-02-14)
|
||||
- 适配 Unity 2019.3.1f1
|
||||
|
||||
**v1.4.0** (2020-02-11)
|
||||
- 属性值支持 List / Array 类型
|
||||
- 新增 UserAppend 接口
|
||||
- 支持 Debug 模式数据校验
|
||||
- 支持为每个实例单独配置接收端地址
|
||||
- 去除本地数据格式校验
|
||||
|
||||
**v1.3.1** (2019-12-25)
|
||||
- 修复 Android 4.3 以下版本退出超时
|
||||
- 修复 未包含 iOS 开发环境时的报错
|
||||
|
||||
**v1.3.0** (2019-10-18)
|
||||
- 新增 UserUnset 接口:用于重置用户属性.
|
||||
- 事件预置属性新增时间偏移,适配多时区需求
|
||||
|
||||
**v1.2.2** (2019-10-11)
|
||||
- 优化 iOS 平台上报逻辑,解决缓存数据库异常导致的重复上报
|
||||
|
||||
**v1.2.1** (2019-09-27)
|
||||
- 解决老版本 .NET 的兼容性问题
|
||||
|
||||
**v1.2.0** (2019-08-31)
|
||||
- 支持关闭/打开数据上报
|
||||
- 支持暂停/继续数据上报
|
||||
- 支持轻量级实例
|
||||
- 修复2019.2.1f 版本设置网络类型失败
|
||||
- 修复timeEvent 不准确问题
|
||||
- Android/iOS SDK 升级为2.1.0
|
||||
|
||||
**v1.1.0** (2019-08-09)
|
||||
- 支持获取设备ID
|
||||
- 支持动态公共属性
|
||||
- 支持安装事件采集
|
||||
- Android SDK 默认升级为2.0.2
|
||||
- iOS SDK 升级为2.0.1
|
||||
- 支持上报缓存选项,用户可以选择主动调用StartTrack() 去开始上报
|
||||
|
||||
**v1.0.0** (2019-06-20)
|
||||
- 支持访客ID 和用户账号的设置
|
||||
- 支持事件和用户属性上报
|
||||
- 支持 ta_app_start 和 ta_app_end 事件的自动上报
|
||||
- 支持公共属性接口
|
||||
- 支持 timeEvent 接口
|
||||
- 支持多项目上报
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d66857cec492747aa8da439d6d1ff532
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "ThinkingAnalytics-Editor",
|
||||
"references": [
|
||||
"ThinkingAnalytics"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dbc881e260fba43c3b36c3da8364a4b1
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user