From 1a9e55a8a3b8e77e5da872b3fa856e826cd1d180 Mon Sep 17 00:00:00 2001 From: Foldcc_b1 Date: Tue, 12 Mar 2024 02:17:14 +0800 Subject: [PATCH] update 1.1.25 --- .../alex_adapter_gromore_mix_5.8.0.7.aar | Bin 91141 -> 0 bytes .../Plugins/Android/anythink_bridge.aar | Bin 193987 -> 0 bytes AnyThinkAds/Plugins/iOS/Core.meta | 8 - .../Plugins/iOS/Core/Editor/Dependencies.xml | 5 - AnyThinkAds/Plugins/iOS/gdt.meta | 8 - AnyThinkAds/Plugins/iOS/gdt/Editor.meta | 8 - .../Plugins/iOS/gdt/Editor/Dependencies.xml | 5 - .../iOS/gdt/Editor/Dependencies.xml.meta | 7 - AnyThinkAds/Plugins/iOS/kuaishou.meta | 8 - AnyThinkAds/Plugins/iOS/kuaishou/Editor.meta | 8 - .../iOS/kuaishou/Editor/Dependencies.xml | 6 - .../iOS/kuaishou/Editor/Dependencies.xml.meta | 7 - .../AnyThinkAds.meta | 2 +- .../AnyThinkAds}/Api.meta | 2 +- .../AnyThinkAds}/Api/ATAdEventArgs.cs | 0 .../AnyThinkAds}/Api/ATAdEventArgs.cs.meta | 2 +- .../AnyThinkAds}/Api/ATBannerAd.cs | 0 .../AnyThinkAds}/Api/ATBannerAd.cs.meta | 2 +- .../AnyThinkAds}/Api/ATBannerAdListener.cs | 0 .../Api/ATBannerAdListener.cs.meta | 2 +- .../AnyThinkAds}/Api/ATCallbackInfo.cs | 0 .../AnyThinkAds}/Api/ATCallbackInfo.cs.meta | 2 +- .../AnyThinkAds}/Api/ATConst.cs | 0 .../AnyThinkAds}/Api/ATConst.cs.meta | 2 +- .../AnyThinkAds}/Api/ATDownloadAdListener.cs | 0 .../Api/ATDownloadAdListener.cs.meta | 2 +- .../AnyThinkAds}/Api/ATDownloadManager.cs | 0 .../Api/ATDownloadManager.cs.meta | 2 +- .../AnyThinkAds}/Api/ATInterstitialAd.cs | 0 .../AnyThinkAds}/Api/ATInterstitialAd.cs.meta | 2 +- .../Api/ATInterstitialAdListener.cs | 0 .../Api/ATInterstitialAdListener.cs.meta | 2 +- .../AnyThinkAds}/Api/ATInterstitialAutoAd.cs | 0 .../Api/ATInterstitialAutoAd.cs.meta | 2 +- .../AnyThinkAds}/Api/ATNativeAd.cs | 0 .../AnyThinkAds}/Api/ATNativeAd.cs.meta | 2 +- .../AnyThinkAds}/Api/ATNativeAdListener.cs | 0 .../Api/ATNativeAdListener.cs.meta | 2 +- .../AnyThinkAds}/Api/ATNativeAdView.cs | 0 .../AnyThinkAds}/Api/ATNativeAdView.cs.meta | 2 +- .../AnyThinkAds}/Api/ATNativeBannerAd.cs | 0 .../AnyThinkAds}/Api/ATNativeBannerAd.cs.meta | 2 +- .../Api/ATNativeBannerAdListener.cs | 0 .../Api/ATNativeBannerAdListener.cs.meta | 2 +- .../AnyThinkAds}/Api/ATNativeConfig.cs | 0 .../AnyThinkAds}/Api/ATNativeConfig.cs.meta | 2 +- .../AnyThinkAds}/Api/ATNativeItemProperty.cs | 0 .../Api/ATNativeItemProperty.cs.meta | 2 +- .../AnyThinkAds}/Api/ATRect.cs | 0 .../AnyThinkAds}/Api/ATRect.cs.meta | 2 +- .../AnyThinkAds}/Api/ATRewardedAutoVideo.cs | 0 .../Api/ATRewardedAutoVideo.cs.meta | 2 +- .../AnyThinkAds}/Api/ATRewardedVideo.cs | 0 .../AnyThinkAds}/Api/ATRewardedVideo.cs.meta | 2 +- .../Api/ATRewardedVideoListener.cs | 0 .../Api/ATRewardedVideoListener.cs.meta | 2 +- .../AnyThinkAds}/Api/ATSDKAPI.cs | 0 .../AnyThinkAds}/Api/ATSDKAPI.cs.meta | 2 +- .../AnyThinkAds}/Api/ATSDKInitListener.cs | 0 .../Api/ATSDKInitListener.cs.meta | 2 +- .../AnyThinkAds}/Api/ATSplashAd.cs | 0 .../AnyThinkAds}/Api/ATSplashAd.cs.meta | 2 +- .../AnyThinkAds}/Api/ATSplashAdListener.cs | 0 .../Api/ATSplashAdListener.cs.meta | 2 +- .../AnyThinkAds/Bridge.meta | 2 +- .../AnyThinkAds/Bridge/anythink_bridge.aar | Bin 0 -> 193993 bytes .../Bridge}/anythink_bridge.aar.meta | 2 +- .../AnyThinkAds}/Common.meta | 2 +- .../AnyThinkAds}/Common/ATLogger.cs | 0 .../AnyThinkAds}/Common/ATLogger.cs.meta | 2 +- .../AnyThinkAds}/Common/IATBannerAdClient.cs | 0 .../Common/IATBannerAdClient.cs.meta | 2 +- .../AnyThinkAds}/Common/IATDownloadClient.cs | 0 .../Common/IATDownloadClient.cs.meta | 2 +- .../Common/IATInterstitialAdClient.cs | 0 .../Common/IATInterstitialAdClient.cs.meta | 2 +- .../AnyThinkAds}/Common/IATNativeAdClient.cs | 0 .../Common/IATNativeAdClient.cs.meta | 2 +- .../Common/IATNativeBannerAdClient.cs | 0 .../Common/IATNativeBannerAdClient.cs.meta | 2 +- .../Common/IATRewardedVideoAdClient.cs | 0 .../Common/IATRewardedVideoAdClient.cs.meta | 2 +- .../AnyThinkAds}/Common/IATSDKAPIClient.cs | 0 .../Common/IATSDKAPIClient.cs.meta | 2 +- .../AnyThinkAds}/Common/IATSplashAdClient.cs | 0 .../Common/IATSplashAdClient.cs.meta | 2 +- .../AnyThinkAds}/Platform.meta | 2 +- .../Platform/ATAdsClientFactory.cs | 0 .../Platform/ATAdsClientFactory.cs.meta | 2 +- .../AnyThinkAds}/Platform/Android.meta | 2 +- .../Platform/Android/ATAreaListener.cs | 0 .../Platform/Android/ATAreaListener.cs.meta | 2 +- .../Platform/Android/ATBannerAdClient.cs | 0 .../Android}/ATBannerAdClient.cs.meta | 2 +- .../Platform/Android/ATDownloadClient.cs | 0 .../Platform/Android/ATDownloadClient.cs.meta | 2 +- .../Android/ATGDPRConsentDismissListener.cs | 0 .../ATGDPRConsentDismissListener.cs.meta | 2 +- .../Android/ATInterstitialAdClient.cs | 0 .../Android}/ATInterstitialAdClient.cs.meta | 2 +- .../Platform/Android/ATMsgTools.cs | 0 .../Platform/Android/ATMsgTools.cs.meta | 2 +- .../Platform/Android/ATNativeAdClient.cs | 0 .../Android}/ATNativeAdClient.cs.meta | 2 +- .../Android/ATNativeBannerAdClient.cs | 0 .../Android/ATNativeBannerAdClient.cs.meta | 2 +- .../Platform/Android/ATNetTrafficListener.cs | 0 .../Android/ATNetTrafficListener.cs.meta | 2 +- .../Android/ATRewardedVideoAdClient.cs | 0 .../Android/ATRewardedVideoAdClient.cs.meta | 2 +- .../Platform/Android/ATSDKAPIClient.cs | 0 .../Platform/Android/ATSDKAPIClient.cs.meta | 2 +- .../Platform/Android/ATSplashAdClient.cs | 2 +- .../Platform/Android/ATSplashAdClient.cs.meta | 2 +- .../AnyThinkAds/Platform}/iOS.meta | 2 +- .../Platform/iOS/ATBannerAdClient.cs | 0 .../Platform/iOS}/ATBannerAdClient.cs.meta | 2 +- .../Platform/iOS/ATInterstitialAdClient.cs | 0 .../iOS}/ATInterstitialAdClient.cs.meta | 2 +- .../Platform/iOS/ATNativeAdClient.cs | 0 .../Platform/iOS}/ATNativeAdClient.cs.meta | 2 +- .../Platform/iOS/ATNativeBannerAdClient.cs | 0 .../iOS/ATNativeBannerAdClient.cs.meta | 2 +- .../Platform/iOS/ATRewardedVideoAdClient.cs | 0 .../iOS/ATRewardedVideoAdClient.cs.meta | 2 +- .../Platform/iOS/ATSDKAPIClient.cs | 0 .../Platform/iOS/ATSDKAPIClient.cs.meta | 2 +- .../Platform/iOS/ATSplashAdClient.cs | 0 .../Platform/iOS/ATSplashAdClient.cs.meta | 2 +- .../AnyThinkAds}/Platform/iOS/Internal.meta | 2 +- .../AnyThinkAds}/Platform/iOS/Internal/C.meta | 2 +- .../iOS/Internal/C/ATAutolayoutCategories.h | 0 .../Internal/C/ATAutolayoutCategories.h.meta | 2 +- .../iOS/Internal/C/ATAutolayoutCategories.m | 0 .../Internal/C/ATAutolayoutCategories.m.meta | 2 +- .../iOS/Internal/C/ATBannerAdWrapper.h | 0 .../iOS/Internal/C/ATBannerAdWrapper.h.meta | 2 +- .../iOS/Internal/C/ATBannerAdWrapper.m | 0 .../iOS/Internal/C/ATBannerAdWrapper.m.meta | 2 +- .../iOS/Internal/C/ATBaseUnityWrapper.h | 0 .../iOS/Internal/C/ATBaseUnityWrapper.h.meta | 2 +- .../iOS/Internal/C/ATBaseUnityWrapper.m | 0 .../iOS/Internal/C/ATBaseUnityWrapper.m.meta | 2 +- .../iOS/Internal/C/ATInterstitialAdWrapper.h | 0 .../Internal/C/ATInterstitialAdWrapper.h.meta | 2 +- .../iOS/Internal/C/ATInterstitialAdWrapper.m | 0 .../Internal/C/ATInterstitialAdWrapper.m.meta | 2 +- .../iOS/Internal/C/ATNativeAdWrapper.h | 0 .../iOS/Internal/C/ATNativeAdWrapper.h.meta | 2 +- .../iOS/Internal/C/ATNativeAdWrapper.m | 0 .../iOS/Internal/C/ATNativeAdWrapper.m.meta | 2 +- .../iOS/Internal/C/ATNativeSelfRenderView.h | 0 .../Internal/C/ATNativeSelfRenderView.h.meta | 2 +- .../iOS/Internal/C/ATNativeSelfRenderView.m | 0 .../Internal/C/ATNativeSelfRenderView.m.meta | 2 +- .../iOS/Internal/C/ATRewardedVideoWrapper.h | 0 .../Internal/C/ATRewardedVideoWrapper.h.meta | 2 +- .../iOS/Internal/C/ATRewardedVideoWrapper.m | 0 .../Internal/C/ATRewardedVideoWrapper.m.meta | 2 +- .../iOS/Internal/C/ATSplashAdWrapper.h | 0 .../iOS/Internal/C/ATSplashAdWrapper.h.meta | 2 +- .../iOS/Internal/C/ATSplashAdWrapper.m | 0 .../iOS/Internal/C/ATSplashAdWrapper.m.meta | 2 +- .../Platform/iOS/Internal/C/ATUnityManager.h | 0 .../iOS/Internal/C/ATUnityManager.h.meta | 2 +- .../Platform/iOS/Internal/C/ATUnityManager.m | 0 .../iOS/Internal/C/ATUnityManager.m.meta | 2 +- .../iOS/Internal/C/ATUnityUtilities.h | 0 .../iOS/Internal/C/ATUnityUtilities.h.meta | 2 +- .../iOS/Internal/C/ATUnityUtilities.m | 0 .../iOS/Internal/C/ATUnityUtilities.m.meta | 2 +- .../Platform/iOS/Internal/C/ATUnityWrapper.h | 0 .../iOS/Internal/C/ATUnityWrapper.h.meta | 2 +- .../Platform/iOS/Internal/Script.meta | 2 +- .../iOS/Internal/Script/ATAdWrapper.cs | 0 .../iOS/Internal/Script/ATAdWrapper.cs.meta | 2 +- .../iOS/Internal/Script/ATBannerAdWrapper.cs | 0 .../Internal/Script/ATBannerAdWrapper.cs.meta | 2 +- .../Script/ATInterstitialAdWrapper.cs | 0 .../Script/ATInterstitialAdWrapper.cs.meta | 2 +- .../Platform/iOS/Internal/Script/ATManager.cs | 0 .../iOS/Internal/Script/ATManager.cs.meta | 2 +- .../iOS/Internal/Script/ATNativeAdWrapper.cs | 0 .../Internal/Script/ATNativeAdWrapper.cs.meta | 2 +- .../Script/ATNativeBannerAdWrapper.cs | 0 .../Script/ATNativeBannerAdWrapper.cs.meta | 2 +- .../Internal/Script/ATRewardedVideoWrapper.cs | 0 .../Script/ATRewardedVideoWrapper.cs.meta | 2 +- .../iOS/Internal/Script/ATSplashAdWrapper.cs | 0 .../Internal/Script/ATSplashAdWrapper.cs.meta | 2 +- .../iOS/Internal/Script/ATUnityCBridge.cs | 0 .../Internal/Script/ATUnityCBridge.cs.meta | 2 +- .../AnyThinkAds}/Plugins.meta | 2 +- .../AnyThinkAds}/Plugins/Android.meta | 2 +- .../AnyThinkAds}/Plugins/Android/China.meta | 2 +- .../Plugins/Android/China}/Editor.meta | 2 +- .../Android/China/Editor/Dependencies.xml | 0 .../China/Editor/Dependencies.xml.meta | 2 +- .../Plugins/Android/China/Editor/Gromore.meta | 0 .../China/Editor/Gromore/Dependencies.xml | 0 .../Editor/Gromore/Dependencies.xml.meta | 0 .../Plugins/Android/China/anythink_base.meta | 2 +- .../China/anythink_base/anythink_banner.aar | Bin .../anythink_base/anythink_banner.aar.meta | 2 +- .../anythink_base/anythink_china_core.aar | Bin .../anythink_china_core.aar.meta | 2 +- .../China/anythink_base/anythink_core.aar | Bin .../anythink_base/anythink_core.aar.meta | 2 +- .../anythink_base/anythink_interstitial.aar | Bin .../anythink_interstitial.aar.meta | 2 +- .../China/anythink_base/anythink_native.aar | Bin .../anythink_base/anythink_native.aar.meta | 2 +- .../anythink_base/anythink_rewardvideo.aar | Bin .../anythink_rewardvideo.aar.meta | 2 +- .../China/anythink_base/anythink_splash.aar | Bin .../anythink_base/anythink_splash.aar.meta | 2 +- .../China/anythink_base/tramini_sdk.aar | Bin .../China/anythink_base/tramini_sdk.aar.meta | 2 +- .../Plugins/Android/China/mediation.meta | 2 +- .../alex_adapter_gromore_mix_5.8.0.7.2.aar | Bin 0 -> 93253 bytes ...lex_adapter_gromore_mix_5.8.0.7.2.aar.meta | 2 +- .../anythink_network_csj_mix_5.8.0.7.aar | Bin .../anythink_network_csj_mix_5.8.0.7.aar.meta | 2 +- .../Plugins/Android/China/mediation/gdt.meta | 2 +- .../gdt/GDTSDK.unionNormal.4.562.1432.aar | Bin .../GDTSDK.unionNormal.4.562.1432.aar.meta | 2 +- .../gdt/anythink_network_unity_gdt.aar | Bin .../gdt/anythink_network_unity_gdt.aar.meta | 2 +- .../China/mediation/gdt/network_data.json | 1 + .../mediation/gdt/network_data.json.meta | 2 +- .../Android/China/mediation/kuaishou.meta | 2 +- .../China/mediation/kuaishou}/Editor.meta | 2 +- .../kuaishou/Editor/Dependencies.xml | 0 .../kuaishou/Editor/Dependencies.xml.meta | 2 +- .../anythink_network_unity_kuaishou.aar | Bin .../anythink_network_unity_kuaishou.aar.meta | 2 +- ...-ad-3.3.59.1-publishRelease-9ceffff447.aar | Bin ....3.59.1-publishRelease-9ceffff447.aar.meta | 2 +- .../mediation/kuaishou/network_data.json | 1 + .../mediation/kuaishou/network_data.json.meta | 7 + .../Plugins/Android/China/mediation/tap.meta | 2 +- .../Android/China/mediation/tap}/Editor.meta | 2 +- .../mediation/tap/Editor/Dependencies.xml | 0 .../tap/Editor/Dependencies.xml.meta | 2 +- .../China/mediation/tap/TapAD_3.16.3.25h1.aar | Bin .../mediation/tap/TapAD_3.16.3.25h1.aar.meta | 2 +- .../tap/anythink_network_unity_tap.aar | Bin .../tap/anythink_network_unity_tap.aar.meta | 2 +- .../China/mediation/tap/network_data.json | 1 + .../mediation/tap/network_data.json.meta | 7 + .../Android/China/mediation_plugin.meta | 2 +- .../China/mediation_plugin/gson-2.8.4.jar | Bin .../mediation_plugin/gson-2.8.4.jar.meta | 2 +- .../mediation_plugin/miui_sys_splash_1.0.aar | Bin .../miui_sys_splash_1.0.aar.meta | 2 +- .../AnyThinkAds}/Thrid.meta | 2 +- .../AnyThinkAds}/Thrid/IJsonWrapper.cs | 0 .../AnyThinkAds}/Thrid/IJsonWrapper.cs.meta | 2 +- .../AnyThinkAds}/Thrid/JsonData.cs | 0 .../AnyThinkAds}/Thrid/JsonData.cs.meta | 2 +- .../AnyThinkAds}/Thrid/JsonException.cs | 0 .../AnyThinkAds}/Thrid/JsonException.cs.meta | 2 +- .../AnyThinkAds}/Thrid/JsonMapper.cs | 0 .../AnyThinkAds}/Thrid/JsonMapper.cs.meta | 2 +- .../AnyThinkAds}/Thrid/JsonMockWrapper.cs | 0 .../Thrid/JsonMockWrapper.cs.meta | 2 +- .../AnyThinkAds}/Thrid/JsonReader.cs | 0 .../AnyThinkAds}/Thrid/JsonReader.cs.meta | 2 +- .../AnyThinkAds}/Thrid/JsonWriter.cs | 0 .../AnyThinkAds}/Thrid/JsonWriter.cs.meta | 2 +- .../AnyThinkAds}/Thrid/Lexer.cs | 0 .../AnyThinkAds}/Thrid/Lexer.cs.meta | 2 +- .../Thrid/Netstandard15Polyfill.cs | 0 .../Thrid/Netstandard15Polyfill.cs.meta | 2 +- .../AnyThinkAds}/Thrid/ParserToken.cs | 0 .../AnyThinkAds}/Thrid/ParserToken.cs.meta | 2 +- AnyThinkPlugin/Resources.meta | 2 +- AnyThinkPlugin/Resources/Assets.meta | 8 - .../Assets/ATAssetDatabaseManager.asset | 29 - .../Assets/ATAssetDatabaseManager.asset.meta | 8 - .../Resources/Assets/ATPluginSetting.asset | 32 - .../Assets/ATPluginSetting.asset.meta | 8 - AnyThinkPlugin/Resources/Images.meta | 2 +- .../Resources/Images/alert_icon.png.meta | 62 +- .../Resources/Images/uninstall_icon.png.meta | 62 +- .../Resources/Images/warning_icon.png.meta | 62 +- .../Resources/json.meta | 2 +- AnyThinkPlugin/Resources/json/2.1.0.meta | 8 + .../json/2.1.0/plugin_setting_data.json | 1 + .../json/2.1.0/plugin_setting_data.json.meta | 7 + AnyThinkPlugin/Script.meta | 2 +- AnyThinkPlugin/Script/Editor.meta | 2 +- .../Script/Editor/ATAssetPostprocessor.cs | 48 - .../Editor/ATAssetPostprocessor.cs.meta | 11 - .../Editor/ATPostProcessBuildAndroid.cs | 8 +- .../Editor/ATPostProcessBuildAndroid.cs.meta | 2 +- .../Script/Editor/ATPostProcessBuildiOS.cs | 8 +- .../Editor/ATPostProcessBuildiOS.cs.meta | 2 +- .../Editor/ATProcessBuildGradleAndroid.cs | 94 +- .../ATProcessBuildGradleAndroid.cs.meta | 2 +- .../AnyThinkPlugin.Script.Editor.asmdef.meta | 2 +- .../anythink_network_security_config.xml.meta | 2 +- AnyThinkPlugin/Script/IntegrationManager.meta | 2 +- .../Script/IntegrationManager/Editor.meta | 2 +- .../Editor/ATAssetDatabaseManager.cs | 148 -- .../Editor/ATAssetDatabaseManager.cs.meta | 11 - .../Editor/ATAssetPostprocessor.cs | 1 + .../IntegrationManager/Editor/ATConfig.cs | 526 ++++--- .../Editor/ATConfig.cs.meta | 2 +- .../Editor/ATConfigAsset.cs | 105 -- .../Editor/ATConfigAsset.cs.meta | 11 - .../Editor/ATConfigAsset2.cs | 83 - .../Editor/ATConfigAsset2.cs.meta | 11 - .../IntegrationManager/Editor/ATDataUtil.cs | 469 +++--- .../Editor/ATDataUtil.cs.meta | 2 +- .../Editor/ATDownloadHandler.cs.meta | 2 +- .../Editor/ATEditorCoroutine.cs.meta | 2 +- .../Editor/ATIntegrationManager.cs | 652 ++++---- .../Editor/ATIntegrationManager.cs.meta | 2 +- .../Editor/ATIntegrationManagerWindow.cs | 821 +++++----- .../Editor/ATIntegrationManagerWindow.cs.meta | 2 +- .../Script/IntegrationManager/Editor/ATLog.cs | 31 +- .../IntegrationManager/Editor/ATLog.cs.meta | 2 +- .../IntegrationManager/Editor/ATMenuItems.cs | 18 +- .../Editor/ATMenuItems.cs.meta | 2 +- .../IntegrationManager/Editor/ATNetInfo.cs | 29 +- .../Editor/ATNetInfo.cs.meta | 2 +- .../Editor/ATPluginLocalDataModel.cs | 213 +++ .../Editor/ATPluginLocalDataModel.cs.meta | 11 + .../Editor/ATPluginSetting.cs | 118 -- .../Editor/ATPluginSetting.cs.meta | 11 - .../Editor/ATSdkUtil.cs.meta | 2 +- ...ugin.IntegrationManager.Editor.asmdef.meta | 2 +- ExternalDependencyManager/Editor/1.2.177.meta | 2 +- .../1.2.177/Google.IOSResolver.dll.meta | 19 +- .../1.2.177/Google.JarResolver.dll.meta | 19 +- .../Google.PackageManagerResolver.dll.meta | 19 +- .../Google.VersionHandlerImpl.dll.meta | 19 +- ExternalDependencyManager/Editor/CHANGELOG.md | 1357 ----------------- .../Editor/CHANGELOG.md.meta | 12 - .../Editor/Google.VersionHandler.dll.meta | 19 +- ExternalDependencyManager/Editor/LICENSE | 245 --- ExternalDependencyManager/Editor/LICENSE.meta | 12 - ExternalDependencyManager/Editor/README.md | 768 ---------- .../Editor/README.md.meta | 12 - ...-manager_version-1.2.177_manifest.txt.meta | 18 +- 346 files changed, 1902 insertions(+), 4759 deletions(-) delete mode 100644 AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.aar delete mode 100644 AnyThinkAds/Plugins/Android/anythink_bridge.aar delete mode 100644 AnyThinkAds/Plugins/iOS/Core.meta delete mode 100644 AnyThinkAds/Plugins/iOS/Core/Editor/Dependencies.xml delete mode 100644 AnyThinkAds/Plugins/iOS/gdt.meta delete mode 100644 AnyThinkAds/Plugins/iOS/gdt/Editor.meta delete mode 100644 AnyThinkAds/Plugins/iOS/gdt/Editor/Dependencies.xml delete mode 100644 AnyThinkAds/Plugins/iOS/gdt/Editor/Dependencies.xml.meta delete mode 100644 AnyThinkAds/Plugins/iOS/kuaishou.meta delete mode 100644 AnyThinkAds/Plugins/iOS/kuaishou/Editor.meta delete mode 100644 AnyThinkAds/Plugins/iOS/kuaishou/Editor/Dependencies.xml delete mode 100644 AnyThinkAds/Plugins/iOS/kuaishou/Editor/Dependencies.xml.meta rename AnyThinkAds.meta => AnyThinkPlugin/AnyThinkAds.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATAdEventArgs.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATAdEventArgs.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATBannerAd.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATBannerAd.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATBannerAdListener.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATBannerAdListener.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATCallbackInfo.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATCallbackInfo.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATConst.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATConst.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATDownloadAdListener.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATDownloadAdListener.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATDownloadManager.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATDownloadManager.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATInterstitialAd.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATInterstitialAd.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATInterstitialAdListener.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATInterstitialAdListener.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATInterstitialAutoAd.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATInterstitialAutoAd.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeAd.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeAd.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeAdListener.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeAdListener.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeAdView.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeAdView.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeBannerAd.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeBannerAd.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeBannerAdListener.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeBannerAdListener.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeConfig.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeConfig.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeItemProperty.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATNativeItemProperty.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATRect.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATRect.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATRewardedAutoVideo.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATRewardedAutoVideo.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATRewardedVideo.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATRewardedVideo.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATRewardedVideoListener.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATRewardedVideoListener.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATSDKAPI.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATSDKAPI.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATSDKInitListener.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATSDKInitListener.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATSplashAd.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATSplashAd.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATSplashAdListener.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Api/ATSplashAdListener.cs.meta (83%) rename AnyThinkAds/Platform/iOS.meta => AnyThinkPlugin/AnyThinkAds/Bridge.meta (77%) create mode 100644 AnyThinkPlugin/AnyThinkAds/Bridge/anythink_bridge.aar rename {AnyThinkAds/Plugins/Android => AnyThinkPlugin/AnyThinkAds/Bridge}/anythink_bridge.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/ATLogger.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/ATLogger.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATBannerAdClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATBannerAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATDownloadClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATDownloadClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATInterstitialAdClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATInterstitialAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATNativeAdClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATNativeAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATNativeBannerAdClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATNativeBannerAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATRewardedVideoAdClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATRewardedVideoAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATSDKAPIClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATSDKAPIClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATSplashAdClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Common/IATSplashAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/ATAdsClientFactory.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/ATAdsClientFactory.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATAreaListener.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATAreaListener.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATBannerAdClient.cs (100%) rename {AnyThinkAds/Platform/iOS => AnyThinkPlugin/AnyThinkAds/Platform/Android}/ATBannerAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATDownloadClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATDownloadClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATGDPRConsentDismissListener.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATGDPRConsentDismissListener.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATInterstitialAdClient.cs (100%) rename {AnyThinkAds/Platform/iOS => AnyThinkPlugin/AnyThinkAds/Platform/Android}/ATInterstitialAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATMsgTools.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATMsgTools.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATNativeAdClient.cs (100%) rename {AnyThinkAds/Platform/iOS => AnyThinkPlugin/AnyThinkAds/Platform/Android}/ATNativeAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATNativeBannerAdClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATNativeBannerAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATNetTrafficListener.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATNetTrafficListener.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATRewardedVideoAdClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATRewardedVideoAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATSDKAPIClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATSDKAPIClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATSplashAdClient.cs (99%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/Android/ATSplashAdClient.cs.meta (83%) rename {AnyThinkAds/Plugins => AnyThinkPlugin/AnyThinkAds/Platform}/iOS.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/ATBannerAdClient.cs (100%) rename {AnyThinkAds/Platform/Android => AnyThinkPlugin/AnyThinkAds/Platform/iOS}/ATBannerAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/ATInterstitialAdClient.cs (100%) rename {AnyThinkAds/Platform/Android => AnyThinkPlugin/AnyThinkAds/Platform/iOS}/ATInterstitialAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/ATNativeAdClient.cs (100%) rename {AnyThinkAds/Platform/Android => AnyThinkPlugin/AnyThinkAds/Platform/iOS}/ATNativeAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/ATNativeBannerAdClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/ATNativeBannerAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/ATRewardedVideoAdClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/ATRewardedVideoAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/ATSDKAPIClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/ATSDKAPIClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/ATSplashAdClient.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/ATSplashAdClient.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATAutolayoutCategories.h (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATAutolayoutCategories.h.meta (92%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATAutolayoutCategories.m (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATAutolayoutCategories.m.meta (94%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATBannerAdWrapper.h (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATBannerAdWrapper.h.meta (92%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATBannerAdWrapper.m (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATBannerAdWrapper.m.meta (94%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATBaseUnityWrapper.h (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATBaseUnityWrapper.h.meta (92%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATBaseUnityWrapper.m (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATBaseUnityWrapper.m.meta (94%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATInterstitialAdWrapper.h (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATInterstitialAdWrapper.h.meta (92%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATInterstitialAdWrapper.m (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATInterstitialAdWrapper.m.meta (94%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATNativeAdWrapper.h (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATNativeAdWrapper.h.meta (92%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATNativeAdWrapper.m (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATNativeAdWrapper.m.meta (94%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATNativeSelfRenderView.h (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATNativeSelfRenderView.h.meta (92%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATNativeSelfRenderView.m (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATNativeSelfRenderView.m.meta (94%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATRewardedVideoWrapper.h (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATRewardedVideoWrapper.h.meta (92%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATRewardedVideoWrapper.m (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATRewardedVideoWrapper.m.meta (94%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATSplashAdWrapper.h (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATSplashAdWrapper.h.meta (92%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATSplashAdWrapper.m (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATSplashAdWrapper.m.meta (94%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATUnityManager.h (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATUnityManager.h.meta (92%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATUnityManager.m (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATUnityManager.m.meta (94%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATUnityUtilities.h (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATUnityUtilities.h.meta (92%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATUnityUtilities.m (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATUnityUtilities.m.meta (94%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATUnityWrapper.h (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/C/ATUnityWrapper.h.meta (92%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATAdWrapper.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATAdWrapper.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATBannerAdWrapper.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATBannerAdWrapper.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATInterstitialAdWrapper.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATInterstitialAdWrapper.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATManager.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATManager.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATNativeAdWrapper.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATNativeAdWrapper.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATNativeBannerAdWrapper.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATNativeBannerAdWrapper.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATRewardedVideoWrapper.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATRewardedVideoWrapper.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATSplashAdWrapper.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATSplashAdWrapper.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATUnityCBridge.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Platform/iOS/Internal/Script/ATUnityCBridge.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China.meta (77%) rename {AnyThinkAds/Plugins/Android/China/mediation/kuaishou => AnyThinkPlugin/AnyThinkAds/Plugins/Android/China}/Editor.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/Editor/Dependencies.xml (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/Editor/Dependencies.xml.meta (75%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/Editor/Gromore.meta (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/Editor/Gromore/Dependencies.xml (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/Editor/Gromore/Dependencies.xml.meta (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_banner.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_banner.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_china_core.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_china_core.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_core.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_core.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_interstitial.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_interstitial.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_native.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_native.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_rewardvideo.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_rewardvideo.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_splash.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/anythink_splash.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/tramini_sdk.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/anythink_base/tramini_sdk.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation.meta (77%) create mode 100644 AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.2.aar rename AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.aar.meta => AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.2.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/anythink_network_csj_mix_5.8.0.7.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/anythink_network_csj_mix_5.8.0.7.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/gdt.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/gdt/GDTSDK.unionNormal.4.562.1432.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/gdt/GDTSDK.unionNormal.4.562.1432.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/gdt/anythink_network_unity_gdt.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/gdt/anythink_network_unity_gdt.aar.meta (93%) create mode 100644 AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/network_data.json rename AnyThinkAds/Plugins/iOS/Core/Editor/Dependencies.xml.meta => AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/network_data.json.meta (75%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/kuaishou.meta (77%) rename {AnyThinkAds/Plugins/Android/China/mediation/tap => AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou}/Editor.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/kuaishou/Editor/Dependencies.xml (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/kuaishou/Editor/Dependencies.xml.meta (75%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/kuaishou/anythink_network_unity_kuaishou.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/kuaishou/anythink_network_unity_kuaishou.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/kuaishou/kssdk-ad-3.3.59.1-publishRelease-9ceffff447.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/kuaishou/kssdk-ad-3.3.59.1-publishRelease-9ceffff447.aar.meta (93%) create mode 100644 AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/network_data.json create mode 100644 AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/network_data.json.meta rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/tap.meta (77%) rename {AnyThinkAds/Plugins/iOS/Core => AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap}/Editor.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/tap/Editor/Dependencies.xml (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/tap/Editor/Dependencies.xml.meta (75%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/tap/TapAD_3.16.3.25h1.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/tap/TapAD_3.16.3.25h1.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/tap/anythink_network_unity_tap.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation/tap/anythink_network_unity_tap.aar.meta (93%) create mode 100644 AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/network_data.json create mode 100644 AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/network_data.json.meta rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation_plugin.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation_plugin/gson-2.8.4.jar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation_plugin/gson-2.8.4.jar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation_plugin/miui_sys_splash_1.0.aar (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Plugins/Android/China/mediation_plugin/miui_sys_splash_1.0.aar.meta (93%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid.meta (77%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/IJsonWrapper.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/IJsonWrapper.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/JsonData.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/JsonData.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/JsonException.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/JsonException.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/JsonMapper.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/JsonMapper.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/JsonMockWrapper.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/JsonMockWrapper.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/JsonReader.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/JsonReader.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/JsonWriter.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/JsonWriter.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/Lexer.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/Lexer.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/Netstandard15Polyfill.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/Netstandard15Polyfill.cs.meta (83%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/ParserToken.cs (100%) rename {AnyThinkAds => AnyThinkPlugin/AnyThinkAds}/Thrid/ParserToken.cs.meta (83%) delete mode 100644 AnyThinkPlugin/Resources/Assets.meta delete mode 100644 AnyThinkPlugin/Resources/Assets/ATAssetDatabaseManager.asset delete mode 100644 AnyThinkPlugin/Resources/Assets/ATAssetDatabaseManager.asset.meta delete mode 100644 AnyThinkPlugin/Resources/Assets/ATPluginSetting.asset delete mode 100644 AnyThinkPlugin/Resources/Assets/ATPluginSetting.asset.meta rename AnyThinkAds/Plugins/Android/China/Editor.meta => AnyThinkPlugin/Resources/json.meta (77%) create mode 100644 AnyThinkPlugin/Resources/json/2.1.0.meta create mode 100644 AnyThinkPlugin/Resources/json/2.1.0/plugin_setting_data.json create mode 100644 AnyThinkPlugin/Resources/json/2.1.0/plugin_setting_data.json.meta delete mode 100644 AnyThinkPlugin/Script/Editor/ATAssetPostprocessor.cs delete mode 100644 AnyThinkPlugin/Script/Editor/ATAssetPostprocessor.cs.meta delete mode 100644 AnyThinkPlugin/Script/IntegrationManager/Editor/ATAssetDatabaseManager.cs delete mode 100644 AnyThinkPlugin/Script/IntegrationManager/Editor/ATAssetDatabaseManager.cs.meta delete mode 100644 AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset.cs delete mode 100644 AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset.cs.meta delete mode 100644 AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset2.cs delete mode 100644 AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset2.cs.meta create mode 100644 AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginLocalDataModel.cs create mode 100644 AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginLocalDataModel.cs.meta delete mode 100644 AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginSetting.cs delete mode 100644 AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginSetting.cs.meta delete mode 100644 ExternalDependencyManager/Editor/CHANGELOG.md delete mode 100644 ExternalDependencyManager/Editor/CHANGELOG.md.meta delete mode 100644 ExternalDependencyManager/Editor/LICENSE delete mode 100644 ExternalDependencyManager/Editor/LICENSE.meta delete mode 100644 ExternalDependencyManager/Editor/README.md delete mode 100644 ExternalDependencyManager/Editor/README.md.meta diff --git a/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.aar b/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.aar deleted file mode 100644 index 8fe97865b6487149955c3fb9e2605a421d6a0f47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91141 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 Unx~z`uN4$7@PdY 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 PM99Giv2KGj0RaC8tsWv` diff --git a/AnyThinkAds/Plugins/Android/anythink_bridge.aar b/AnyThinkAds/Plugins/Android/anythink_bridge.aar deleted file mode 100644 index b8fdc3391bc8bd9639337964ee5aacbe61737fbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193987 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 z 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

1;JS`Z?Minjkbo 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

%o43#UW?(CLuhWZykkOn=T|R@OwCJO_ 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 - - - - diff --git a/AnyThinkAds/Plugins/iOS/gdt.meta b/AnyThinkAds/Plugins/iOS/gdt.meta deleted file mode 100644 index d37d216..0000000 --- a/AnyThinkAds/Plugins/iOS/gdt.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 67086362fa1eb481ca26ce4fef7fee7d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkAds/Plugins/iOS/gdt/Editor.meta b/AnyThinkAds/Plugins/iOS/gdt/Editor.meta deleted file mode 100644 index 33a4119..0000000 --- a/AnyThinkAds/Plugins/iOS/gdt/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6e6c11a31d760484e807c56acbfdeae2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkAds/Plugins/iOS/gdt/Editor/Dependencies.xml b/AnyThinkAds/Plugins/iOS/gdt/Editor/Dependencies.xml deleted file mode 100644 index d037492..0000000 --- a/AnyThinkAds/Plugins/iOS/gdt/Editor/Dependencies.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/AnyThinkAds/Plugins/iOS/gdt/Editor/Dependencies.xml.meta b/AnyThinkAds/Plugins/iOS/gdt/Editor/Dependencies.xml.meta deleted file mode 100644 index dd6865c..0000000 --- a/AnyThinkAds/Plugins/iOS/gdt/Editor/Dependencies.xml.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: de8ece260b5394a738e0fc099519b048 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkAds/Plugins/iOS/kuaishou.meta b/AnyThinkAds/Plugins/iOS/kuaishou.meta deleted file mode 100644 index 68ccdb4..0000000 --- a/AnyThinkAds/Plugins/iOS/kuaishou.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 775e79f97c0934ae59595995b78d5fa9 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkAds/Plugins/iOS/kuaishou/Editor.meta b/AnyThinkAds/Plugins/iOS/kuaishou/Editor.meta deleted file mode 100644 index 3fdecd4..0000000 --- a/AnyThinkAds/Plugins/iOS/kuaishou/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 90aec42e9f3124004a0b4508d571866e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkAds/Plugins/iOS/kuaishou/Editor/Dependencies.xml b/AnyThinkAds/Plugins/iOS/kuaishou/Editor/Dependencies.xml deleted file mode 100644 index 87b7ec0..0000000 --- a/AnyThinkAds/Plugins/iOS/kuaishou/Editor/Dependencies.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/AnyThinkAds/Plugins/iOS/kuaishou/Editor/Dependencies.xml.meta b/AnyThinkAds/Plugins/iOS/kuaishou/Editor/Dependencies.xml.meta deleted file mode 100644 index 4768beb..0000000 --- a/AnyThinkAds/Plugins/iOS/kuaishou/Editor/Dependencies.xml.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 37e9c0252161248f5ab8ba5a90730b82 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkAds.meta b/AnyThinkPlugin/AnyThinkAds.meta similarity index 77% rename from AnyThinkAds.meta rename to AnyThinkPlugin/AnyThinkAds.meta index e2d8c6a..1a5bf05 100644 --- a/AnyThinkAds.meta +++ b/AnyThinkPlugin/AnyThinkAds.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0b1601c425ae3b24e9764462dbbe5359 +guid: 6cfab85a96ec246bdb411450b546b791 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Api.meta b/AnyThinkPlugin/AnyThinkAds/Api.meta similarity index 77% rename from AnyThinkAds/Api.meta rename to AnyThinkPlugin/AnyThinkAds/Api.meta index 594fec5..2affab7 100644 --- a/AnyThinkAds/Api.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ae70ff20f73a04e91b4e6bb12d7adc69 +guid: 39b8ca55bc9e749d1ab7d1ea31d40661 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Api/ATAdEventArgs.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATAdEventArgs.cs similarity index 100% rename from AnyThinkAds/Api/ATAdEventArgs.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATAdEventArgs.cs diff --git a/AnyThinkAds/Api/ATAdEventArgs.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATAdEventArgs.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATAdEventArgs.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATAdEventArgs.cs.meta index 2c2667e..ff920ab 100644 --- a/AnyThinkAds/Api/ATAdEventArgs.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATAdEventArgs.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 12f339b796c324a02bb7cc6824674f46 +guid: b85e8925fa22644f1803fbdc727149ba MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATBannerAd.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATBannerAd.cs similarity index 100% rename from AnyThinkAds/Api/ATBannerAd.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATBannerAd.cs diff --git a/AnyThinkAds/Api/ATBannerAd.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATBannerAd.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATBannerAd.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATBannerAd.cs.meta index 771440c..03ee534 100644 --- a/AnyThinkAds/Api/ATBannerAd.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATBannerAd.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a2bc6da2b903e43a1b38fa69364a3d5b +guid: 303b96d7e38d241d895947db76a77868 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATBannerAdListener.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATBannerAdListener.cs similarity index 100% rename from AnyThinkAds/Api/ATBannerAdListener.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATBannerAdListener.cs diff --git a/AnyThinkAds/Api/ATBannerAdListener.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATBannerAdListener.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATBannerAdListener.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATBannerAdListener.cs.meta index 708b07c..f7d4229 100644 --- a/AnyThinkAds/Api/ATBannerAdListener.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATBannerAdListener.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ba89873589d1a4ee4b9f0bd831e49f3b +guid: e25052682a99b4f11b9ccda0a98ec1ce MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATCallbackInfo.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATCallbackInfo.cs similarity index 100% rename from AnyThinkAds/Api/ATCallbackInfo.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATCallbackInfo.cs diff --git a/AnyThinkAds/Api/ATCallbackInfo.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATCallbackInfo.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATCallbackInfo.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATCallbackInfo.cs.meta index 4937ece..1772f60 100644 --- a/AnyThinkAds/Api/ATCallbackInfo.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATCallbackInfo.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0c6aad9e5b90c4da7bd930d6f32d1904 +guid: ebf4bf9c5f1a54007a31d4a19a30835c MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATConst.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATConst.cs similarity index 100% rename from AnyThinkAds/Api/ATConst.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATConst.cs diff --git a/AnyThinkAds/Api/ATConst.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATConst.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATConst.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATConst.cs.meta index 3e5aec4..1646445 100644 --- a/AnyThinkAds/Api/ATConst.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATConst.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ab130cb05ee6548fa9bcc3ce4853fcc3 +guid: fc541fdcbb9254973a14d8aa4f305201 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATDownloadAdListener.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATDownloadAdListener.cs similarity index 100% rename from AnyThinkAds/Api/ATDownloadAdListener.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATDownloadAdListener.cs diff --git a/AnyThinkAds/Api/ATDownloadAdListener.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATDownloadAdListener.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATDownloadAdListener.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATDownloadAdListener.cs.meta index 8cffafd..9055669 100644 --- a/AnyThinkAds/Api/ATDownloadAdListener.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATDownloadAdListener.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5fc8038ed89644a509b258232cdb4783 +guid: e06efbc55c798478a941850f6726fdbb MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATDownloadManager.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATDownloadManager.cs similarity index 100% rename from AnyThinkAds/Api/ATDownloadManager.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATDownloadManager.cs diff --git a/AnyThinkAds/Api/ATDownloadManager.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATDownloadManager.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATDownloadManager.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATDownloadManager.cs.meta index 4e8410e..5c22031 100644 --- a/AnyThinkAds/Api/ATDownloadManager.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATDownloadManager.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 10cd59c46c2a74f7d94432b405a111ab +guid: 9b7e6ef35d34e47d79856f3e737b5a04 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATInterstitialAd.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAd.cs similarity index 100% rename from AnyThinkAds/Api/ATInterstitialAd.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAd.cs diff --git a/AnyThinkAds/Api/ATInterstitialAd.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAd.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATInterstitialAd.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAd.cs.meta index 28f654f..0a36309 100644 --- a/AnyThinkAds/Api/ATInterstitialAd.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAd.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1d0ec14e9cebf477086653c3a9aaf7d1 +guid: 5417f30bdb0e84db696652694de24b55 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATInterstitialAdListener.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAdListener.cs similarity index 100% rename from AnyThinkAds/Api/ATInterstitialAdListener.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAdListener.cs diff --git a/AnyThinkAds/Api/ATInterstitialAdListener.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAdListener.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATInterstitialAdListener.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAdListener.cs.meta index 118b1d2..6ca1a17 100644 --- a/AnyThinkAds/Api/ATInterstitialAdListener.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAdListener.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 96dd9084d6bfb4d44b84a204d1ee3332 +guid: 1e59697f061674b95b6fc11bf3eb570a MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATInterstitialAutoAd.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAutoAd.cs similarity index 100% rename from AnyThinkAds/Api/ATInterstitialAutoAd.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAutoAd.cs diff --git a/AnyThinkAds/Api/ATInterstitialAutoAd.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAutoAd.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATInterstitialAutoAd.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAutoAd.cs.meta index 5c90d95..998cdae 100644 --- a/AnyThinkAds/Api/ATInterstitialAutoAd.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATInterstitialAutoAd.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7022bf2fbbc5849b59c2de39e55415d4 +guid: 6f74e005d6e184ccdbd0582232cfb896 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATNativeAd.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeAd.cs similarity index 100% rename from AnyThinkAds/Api/ATNativeAd.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeAd.cs diff --git a/AnyThinkAds/Api/ATNativeAd.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeAd.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATNativeAd.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeAd.cs.meta index aaf175f..68431dc 100644 --- a/AnyThinkAds/Api/ATNativeAd.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeAd.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: dae8f0349900a43cc9479b887bca18dd +guid: 63ff9b48e554f481b84df35718d2082c MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATNativeAdListener.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeAdListener.cs similarity index 100% rename from AnyThinkAds/Api/ATNativeAdListener.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeAdListener.cs diff --git a/AnyThinkAds/Api/ATNativeAdListener.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeAdListener.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATNativeAdListener.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeAdListener.cs.meta index bd4d174..9332418 100644 --- a/AnyThinkAds/Api/ATNativeAdListener.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeAdListener.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5df19e9be8bea411e8de2926f39a78b7 +guid: ea594e5e65c2b44d581e5bbf6e46d2df MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATNativeAdView.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeAdView.cs similarity index 100% rename from AnyThinkAds/Api/ATNativeAdView.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeAdView.cs diff --git a/AnyThinkAds/Api/ATNativeAdView.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeAdView.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATNativeAdView.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeAdView.cs.meta index 707177c..be5d9ec 100644 --- a/AnyThinkAds/Api/ATNativeAdView.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeAdView.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c44a18df7c6184bfaa35163f571ad9f7 +guid: c7e39d0f92be94036b0c3361002bdb6d MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATNativeBannerAd.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeBannerAd.cs similarity index 100% rename from AnyThinkAds/Api/ATNativeBannerAd.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeBannerAd.cs diff --git a/AnyThinkAds/Api/ATNativeBannerAd.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeBannerAd.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATNativeBannerAd.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeBannerAd.cs.meta index 1ba158e..9a81616 100644 --- a/AnyThinkAds/Api/ATNativeBannerAd.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeBannerAd.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 08d4d477e25294725acf10a60c0df944 +guid: e02adf55e190948ba8238cbbb8e649d6 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATNativeBannerAdListener.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeBannerAdListener.cs similarity index 100% rename from AnyThinkAds/Api/ATNativeBannerAdListener.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeBannerAdListener.cs diff --git a/AnyThinkAds/Api/ATNativeBannerAdListener.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeBannerAdListener.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATNativeBannerAdListener.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeBannerAdListener.cs.meta index 1b996fc..37dae3a 100644 --- a/AnyThinkAds/Api/ATNativeBannerAdListener.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeBannerAdListener.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a959ca9d08c7b4793b9a704f26b9e8ee +guid: e977ada5558a4440ab4096ec189d66c3 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATNativeConfig.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeConfig.cs similarity index 100% rename from AnyThinkAds/Api/ATNativeConfig.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeConfig.cs diff --git a/AnyThinkAds/Api/ATNativeConfig.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeConfig.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATNativeConfig.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeConfig.cs.meta index f7fa432..c838c48 100644 --- a/AnyThinkAds/Api/ATNativeConfig.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeConfig.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 91d346d3aa4ea44fe95d0a1bbdddd5ed +guid: 2ff7b39d30d2f48c7886af12676d5dca MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATNativeItemProperty.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeItemProperty.cs similarity index 100% rename from AnyThinkAds/Api/ATNativeItemProperty.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeItemProperty.cs diff --git a/AnyThinkAds/Api/ATNativeItemProperty.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeItemProperty.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATNativeItemProperty.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATNativeItemProperty.cs.meta index 42409bb..beabbb5 100644 --- a/AnyThinkAds/Api/ATNativeItemProperty.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATNativeItemProperty.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 59accedf6879f42d2a0eb25c8b9685ff +guid: 33288477361ec4906b2f2b90af9afe74 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATRect.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATRect.cs similarity index 100% rename from AnyThinkAds/Api/ATRect.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATRect.cs diff --git a/AnyThinkAds/Api/ATRect.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATRect.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATRect.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATRect.cs.meta index e27e7c0..02e6535 100644 --- a/AnyThinkAds/Api/ATRect.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATRect.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b8eeae77a201a4945a5831246e4ffe68 +guid: 2f4d9eae1b90142ca8004116a3e4c869 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATRewardedAutoVideo.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATRewardedAutoVideo.cs similarity index 100% rename from AnyThinkAds/Api/ATRewardedAutoVideo.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATRewardedAutoVideo.cs diff --git a/AnyThinkAds/Api/ATRewardedAutoVideo.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATRewardedAutoVideo.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATRewardedAutoVideo.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATRewardedAutoVideo.cs.meta index 43971af..f0676fa 100644 --- a/AnyThinkAds/Api/ATRewardedAutoVideo.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATRewardedAutoVideo.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 08bbdf64d0b664135b1dca638fcb56cc +guid: 6d40b4678e713487ab21c87b284165e9 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATRewardedVideo.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATRewardedVideo.cs similarity index 100% rename from AnyThinkAds/Api/ATRewardedVideo.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATRewardedVideo.cs diff --git a/AnyThinkAds/Api/ATRewardedVideo.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATRewardedVideo.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATRewardedVideo.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATRewardedVideo.cs.meta index c6e5723..3fb5782 100644 --- a/AnyThinkAds/Api/ATRewardedVideo.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATRewardedVideo.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7b4f1081df8444a7981bd3c10559a908 +guid: 8e666f918e4a54255ae6d45c5ed483c0 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATRewardedVideoListener.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATRewardedVideoListener.cs similarity index 100% rename from AnyThinkAds/Api/ATRewardedVideoListener.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATRewardedVideoListener.cs diff --git a/AnyThinkAds/Api/ATRewardedVideoListener.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATRewardedVideoListener.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATRewardedVideoListener.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATRewardedVideoListener.cs.meta index 91068f2..dee4a67 100644 --- a/AnyThinkAds/Api/ATRewardedVideoListener.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATRewardedVideoListener.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7c9a00125c0e049fbb37b4b8be6e6d12 +guid: c2a8b39939a6e4561b49ec08c9648efa MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATSDKAPI.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATSDKAPI.cs similarity index 100% rename from AnyThinkAds/Api/ATSDKAPI.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATSDKAPI.cs diff --git a/AnyThinkAds/Api/ATSDKAPI.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATSDKAPI.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATSDKAPI.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATSDKAPI.cs.meta index 1dc9d78..462cfe7 100644 --- a/AnyThinkAds/Api/ATSDKAPI.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATSDKAPI.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8f3e3d1ca97154cfe8734a75b6f15dcd +guid: 2668d385cd9ef4bc385b0c1487756d84 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATSDKInitListener.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATSDKInitListener.cs similarity index 100% rename from AnyThinkAds/Api/ATSDKInitListener.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATSDKInitListener.cs diff --git a/AnyThinkAds/Api/ATSDKInitListener.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATSDKInitListener.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATSDKInitListener.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATSDKInitListener.cs.meta index 03af64d..00d8131 100644 --- a/AnyThinkAds/Api/ATSDKInitListener.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATSDKInitListener.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cf1f418115a244459be8c842af74351d +guid: 92bd41ae21ada4f13ba4f646fe8d8e87 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATSplashAd.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATSplashAd.cs similarity index 100% rename from AnyThinkAds/Api/ATSplashAd.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATSplashAd.cs diff --git a/AnyThinkAds/Api/ATSplashAd.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATSplashAd.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATSplashAd.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATSplashAd.cs.meta index 732f02c..01a214c 100644 --- a/AnyThinkAds/Api/ATSplashAd.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATSplashAd.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1aeba014e6d0a4ba7859676b916bd9dd +guid: 6599afb4d52b14fa098f43f1d01be850 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Api/ATSplashAdListener.cs b/AnyThinkPlugin/AnyThinkAds/Api/ATSplashAdListener.cs similarity index 100% rename from AnyThinkAds/Api/ATSplashAdListener.cs rename to AnyThinkPlugin/AnyThinkAds/Api/ATSplashAdListener.cs diff --git a/AnyThinkAds/Api/ATSplashAdListener.cs.meta b/AnyThinkPlugin/AnyThinkAds/Api/ATSplashAdListener.cs.meta similarity index 83% rename from AnyThinkAds/Api/ATSplashAdListener.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Api/ATSplashAdListener.cs.meta index 1074269..f88fff1 100644 --- a/AnyThinkAds/Api/ATSplashAdListener.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Api/ATSplashAdListener.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4e2ccdf9b6e604a65908815706e9f051 +guid: e99f46e9ff2ba49338673e9655a6b494 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS.meta b/AnyThinkPlugin/AnyThinkAds/Bridge.meta similarity index 77% rename from AnyThinkAds/Platform/iOS.meta rename to AnyThinkPlugin/AnyThinkAds/Bridge.meta index a27f1ad..4ba9cbe 100644 --- a/AnyThinkAds/Platform/iOS.meta +++ b/AnyThinkPlugin/AnyThinkAds/Bridge.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: da68e624ffa1041e889b8d3eb9187af2 +guid: c9068fed3449f4957a31b2704d38d9c4 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkPlugin/AnyThinkAds/Bridge/anythink_bridge.aar b/AnyThinkPlugin/AnyThinkAds/Bridge/anythink_bridge.aar new file mode 100644 index 0000000000000000000000000000000000000000..89c8c57fca2ab5c1832310e6fe8d51f21f68d69d GIT binary patch literal 193993 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 XTyjv*e`FBee`FBv7x=pr0Pz0+InD** literal 0 HcmV?d00001 diff --git a/AnyThinkAds/Plugins/Android/anythink_bridge.aar.meta b/AnyThinkPlugin/AnyThinkAds/Bridge/anythink_bridge.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/anythink_bridge.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Bridge/anythink_bridge.aar.meta index ae62a9c..8557cae 100644 --- a/AnyThinkAds/Plugins/Android/anythink_bridge.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Bridge/anythink_bridge.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8b1aaa2412d7c41c3b370d178d12d92e +guid: 6b000e45df70e44c683d126c70c6c7c5 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Common.meta b/AnyThinkPlugin/AnyThinkAds/Common.meta similarity index 77% rename from AnyThinkAds/Common.meta rename to AnyThinkPlugin/AnyThinkAds/Common.meta index 7947d9f..5f8acc1 100644 --- a/AnyThinkAds/Common.meta +++ b/AnyThinkPlugin/AnyThinkAds/Common.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9ded34532e9f04a199738e82a8f7ca89 +guid: 5e27cbd650c5b4fd280cfda2125e9f1f folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Common/ATLogger.cs b/AnyThinkPlugin/AnyThinkAds/Common/ATLogger.cs similarity index 100% rename from AnyThinkAds/Common/ATLogger.cs rename to AnyThinkPlugin/AnyThinkAds/Common/ATLogger.cs diff --git a/AnyThinkAds/Common/ATLogger.cs.meta b/AnyThinkPlugin/AnyThinkAds/Common/ATLogger.cs.meta similarity index 83% rename from AnyThinkAds/Common/ATLogger.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Common/ATLogger.cs.meta index dc32f83..54103ea 100644 --- a/AnyThinkAds/Common/ATLogger.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Common/ATLogger.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7cc7f1b6c7bd04e3789079e05044fddb +guid: 4a56939c11661429c8c335f2d2bff40b MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Common/IATBannerAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Common/IATBannerAdClient.cs similarity index 100% rename from AnyThinkAds/Common/IATBannerAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Common/IATBannerAdClient.cs diff --git a/AnyThinkAds/Common/IATBannerAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Common/IATBannerAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Common/IATBannerAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Common/IATBannerAdClient.cs.meta index d983ae6..ff67915 100644 --- a/AnyThinkAds/Common/IATBannerAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Common/IATBannerAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f1746e786eb1d48498da8bf445317ac6 +guid: 14b00b8f6583c413eae808eee303e12e MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Common/IATDownloadClient.cs b/AnyThinkPlugin/AnyThinkAds/Common/IATDownloadClient.cs similarity index 100% rename from AnyThinkAds/Common/IATDownloadClient.cs rename to AnyThinkPlugin/AnyThinkAds/Common/IATDownloadClient.cs diff --git a/AnyThinkAds/Common/IATDownloadClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Common/IATDownloadClient.cs.meta similarity index 83% rename from AnyThinkAds/Common/IATDownloadClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Common/IATDownloadClient.cs.meta index d9b570e..9745e00 100644 --- a/AnyThinkAds/Common/IATDownloadClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Common/IATDownloadClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: faac0e5085e80410cb05a83ad609e307 +guid: 9411630d83c58412abdd159e43d90142 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Common/IATInterstitialAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Common/IATInterstitialAdClient.cs similarity index 100% rename from AnyThinkAds/Common/IATInterstitialAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Common/IATInterstitialAdClient.cs diff --git a/AnyThinkAds/Common/IATInterstitialAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Common/IATInterstitialAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Common/IATInterstitialAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Common/IATInterstitialAdClient.cs.meta index d483f2d..18592bd 100644 --- a/AnyThinkAds/Common/IATInterstitialAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Common/IATInterstitialAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1a9a493b6ff364c968f3b331051b4218 +guid: 617b2801ea6ff4304bb9e0ad2e6d0f0f MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Common/IATNativeAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Common/IATNativeAdClient.cs similarity index 100% rename from AnyThinkAds/Common/IATNativeAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Common/IATNativeAdClient.cs diff --git a/AnyThinkAds/Common/IATNativeAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Common/IATNativeAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Common/IATNativeAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Common/IATNativeAdClient.cs.meta index b168ff2..3086147 100644 --- a/AnyThinkAds/Common/IATNativeAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Common/IATNativeAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f255243d0b71f4e5e974404c8c74659f +guid: 272c430785265455c8a91a9749aea93f MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Common/IATNativeBannerAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Common/IATNativeBannerAdClient.cs similarity index 100% rename from AnyThinkAds/Common/IATNativeBannerAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Common/IATNativeBannerAdClient.cs diff --git a/AnyThinkAds/Common/IATNativeBannerAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Common/IATNativeBannerAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Common/IATNativeBannerAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Common/IATNativeBannerAdClient.cs.meta index 4209d19..eeb4af9 100644 --- a/AnyThinkAds/Common/IATNativeBannerAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Common/IATNativeBannerAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3f931cd1cf2284ec895c9b642fb55003 +guid: 123218759ab054ce0acc3258035c84ee MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Common/IATRewardedVideoAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Common/IATRewardedVideoAdClient.cs similarity index 100% rename from AnyThinkAds/Common/IATRewardedVideoAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Common/IATRewardedVideoAdClient.cs diff --git a/AnyThinkAds/Common/IATRewardedVideoAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Common/IATRewardedVideoAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Common/IATRewardedVideoAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Common/IATRewardedVideoAdClient.cs.meta index 96e0327..d1a3a11 100644 --- a/AnyThinkAds/Common/IATRewardedVideoAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Common/IATRewardedVideoAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: dc721c33736c04c45a3d9bca70938761 +guid: d3d80e1d74a35402785ed9c96737d6e1 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Common/IATSDKAPIClient.cs b/AnyThinkPlugin/AnyThinkAds/Common/IATSDKAPIClient.cs similarity index 100% rename from AnyThinkAds/Common/IATSDKAPIClient.cs rename to AnyThinkPlugin/AnyThinkAds/Common/IATSDKAPIClient.cs diff --git a/AnyThinkAds/Common/IATSDKAPIClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Common/IATSDKAPIClient.cs.meta similarity index 83% rename from AnyThinkAds/Common/IATSDKAPIClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Common/IATSDKAPIClient.cs.meta index d276b59..d9130f9 100644 --- a/AnyThinkAds/Common/IATSDKAPIClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Common/IATSDKAPIClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9a96dc1eba48941ed9e076cddbb59167 +guid: f6241adafd0a04ea3932a1031dfa3af3 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Common/IATSplashAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Common/IATSplashAdClient.cs similarity index 100% rename from AnyThinkAds/Common/IATSplashAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Common/IATSplashAdClient.cs diff --git a/AnyThinkAds/Common/IATSplashAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Common/IATSplashAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Common/IATSplashAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Common/IATSplashAdClient.cs.meta index 8c57448..15e56b1 100644 --- a/AnyThinkAds/Common/IATSplashAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Common/IATSplashAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ceb7b4f4fa4b14b2ebcccba3fde080bf +guid: 987fa99d67af444b2996aec1b7561846 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform.meta b/AnyThinkPlugin/AnyThinkAds/Platform.meta similarity index 77% rename from AnyThinkAds/Platform.meta rename to AnyThinkPlugin/AnyThinkAds/Platform.meta index 5e47e15..a598f42 100644 --- a/AnyThinkAds/Platform.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: bbfb513f68b154b0ebfa36897c6e4401 +guid: 04d37d787c52c483da357d5bc278a207 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Platform/ATAdsClientFactory.cs b/AnyThinkPlugin/AnyThinkAds/Platform/ATAdsClientFactory.cs similarity index 100% rename from AnyThinkAds/Platform/ATAdsClientFactory.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/ATAdsClientFactory.cs diff --git a/AnyThinkAds/Platform/ATAdsClientFactory.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/ATAdsClientFactory.cs.meta similarity index 83% rename from AnyThinkAds/Platform/ATAdsClientFactory.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/ATAdsClientFactory.cs.meta index 7f4ede0..67318f8 100644 --- a/AnyThinkAds/Platform/ATAdsClientFactory.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/ATAdsClientFactory.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1ada6dd9eac1445219ee66b6f0ce27af +guid: 2a0c5a43af73c4beb81622fa5559fac3 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/Android.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android.meta similarity index 77% rename from AnyThinkAds/Platform/Android.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android.meta index 9661c03..9fd6de7 100644 --- a/AnyThinkAds/Platform/Android.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b0a6ebc6626634f558dc5c05feb59058 +guid: a7596683df39f42b194fb32282ca230c folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Platform/Android/ATAreaListener.cs b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATAreaListener.cs similarity index 100% rename from AnyThinkAds/Platform/Android/ATAreaListener.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATAreaListener.cs diff --git a/AnyThinkAds/Platform/Android/ATAreaListener.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATAreaListener.cs.meta similarity index 83% rename from AnyThinkAds/Platform/Android/ATAreaListener.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATAreaListener.cs.meta index e5aafb1..a9a7279 100644 --- a/AnyThinkAds/Platform/Android/ATAreaListener.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATAreaListener.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 92072aedc3bed4adba2e62dcd10c4fa1 +guid: fff5148ee5b5148b1b875749d5f2639e MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/Android/ATBannerAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATBannerAdClient.cs similarity index 100% rename from AnyThinkAds/Platform/Android/ATBannerAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATBannerAdClient.cs diff --git a/AnyThinkAds/Platform/iOS/ATBannerAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATBannerAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/ATBannerAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATBannerAdClient.cs.meta index df7844d..12d33ff 100644 --- a/AnyThinkAds/Platform/iOS/ATBannerAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATBannerAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 38675c03b65cd47e3be46e74701ae713 +guid: fca17c67aed8f49a89234a09fe2a7ed4 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/Android/ATDownloadClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATDownloadClient.cs similarity index 100% rename from AnyThinkAds/Platform/Android/ATDownloadClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATDownloadClient.cs diff --git a/AnyThinkAds/Platform/Android/ATDownloadClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATDownloadClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/Android/ATDownloadClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATDownloadClient.cs.meta index 5ff9b1a..0c621d3 100644 --- a/AnyThinkAds/Platform/Android/ATDownloadClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATDownloadClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5123daaa0aef24cc38feb675ab999e45 +guid: 5a6098e9d114f4f3584530c7a5361c42 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/Android/ATGDPRConsentDismissListener.cs b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATGDPRConsentDismissListener.cs similarity index 100% rename from AnyThinkAds/Platform/Android/ATGDPRConsentDismissListener.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATGDPRConsentDismissListener.cs diff --git a/AnyThinkAds/Platform/Android/ATGDPRConsentDismissListener.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATGDPRConsentDismissListener.cs.meta similarity index 83% rename from AnyThinkAds/Platform/Android/ATGDPRConsentDismissListener.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATGDPRConsentDismissListener.cs.meta index 8d8a7ec..e37d478 100644 --- a/AnyThinkAds/Platform/Android/ATGDPRConsentDismissListener.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATGDPRConsentDismissListener.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1817e3153be5d4a25bede8f80ec538fa +guid: 2853fd494219b478ba619568a7691609 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/Android/ATInterstitialAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATInterstitialAdClient.cs similarity index 100% rename from AnyThinkAds/Platform/Android/ATInterstitialAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATInterstitialAdClient.cs diff --git a/AnyThinkAds/Platform/iOS/ATInterstitialAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATInterstitialAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/ATInterstitialAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATInterstitialAdClient.cs.meta index cf7de35..a4ca960 100644 --- a/AnyThinkAds/Platform/iOS/ATInterstitialAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATInterstitialAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b6f578b8879524ead90547b51cacbabb +guid: 9247d5c90a80948d0b6259c8b13b7556 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/Android/ATMsgTools.cs b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATMsgTools.cs similarity index 100% rename from AnyThinkAds/Platform/Android/ATMsgTools.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATMsgTools.cs diff --git a/AnyThinkAds/Platform/Android/ATMsgTools.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATMsgTools.cs.meta similarity index 83% rename from AnyThinkAds/Platform/Android/ATMsgTools.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATMsgTools.cs.meta index 174bc30..1ba327d 100644 --- a/AnyThinkAds/Platform/Android/ATMsgTools.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATMsgTools.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fcf851441fece473ebf4b8fb046ba16f +guid: f34d69c411401435c839f09004815591 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/Android/ATNativeAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNativeAdClient.cs similarity index 100% rename from AnyThinkAds/Platform/Android/ATNativeAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNativeAdClient.cs diff --git a/AnyThinkAds/Platform/iOS/ATNativeAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNativeAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/ATNativeAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNativeAdClient.cs.meta index 4529bf1..d82a626 100644 --- a/AnyThinkAds/Platform/iOS/ATNativeAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNativeAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fafa0f42a77934ec1aa34943fa9beecb +guid: 41e3b7583470c40659c82050279f5635 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/Android/ATNativeBannerAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNativeBannerAdClient.cs similarity index 100% rename from AnyThinkAds/Platform/Android/ATNativeBannerAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNativeBannerAdClient.cs diff --git a/AnyThinkAds/Platform/Android/ATNativeBannerAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNativeBannerAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/Android/ATNativeBannerAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNativeBannerAdClient.cs.meta index d6704de..c06976c 100644 --- a/AnyThinkAds/Platform/Android/ATNativeBannerAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNativeBannerAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 675ff3d3366524e6d8bf441095e94885 +guid: 265f9ebdd83c3480db5c82c4b98b3a6c MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/Android/ATNetTrafficListener.cs b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNetTrafficListener.cs similarity index 100% rename from AnyThinkAds/Platform/Android/ATNetTrafficListener.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNetTrafficListener.cs diff --git a/AnyThinkAds/Platform/Android/ATNetTrafficListener.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNetTrafficListener.cs.meta similarity index 83% rename from AnyThinkAds/Platform/Android/ATNetTrafficListener.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNetTrafficListener.cs.meta index a2d2709..ede60de 100644 --- a/AnyThinkAds/Platform/Android/ATNetTrafficListener.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATNetTrafficListener.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 66e94a1b9eb0d4f3dbbf0f97857ee4c6 +guid: f25fcf4e04d1f43b287d19ad456699b8 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/Android/ATRewardedVideoAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATRewardedVideoAdClient.cs similarity index 100% rename from AnyThinkAds/Platform/Android/ATRewardedVideoAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATRewardedVideoAdClient.cs diff --git a/AnyThinkAds/Platform/Android/ATRewardedVideoAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATRewardedVideoAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/Android/ATRewardedVideoAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATRewardedVideoAdClient.cs.meta index 293fab2..321e91f 100644 --- a/AnyThinkAds/Platform/Android/ATRewardedVideoAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATRewardedVideoAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ae61f6450a8534df58e3c6bea609cad1 +guid: b0c4f48c3056641138671590135acb04 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/Android/ATSDKAPIClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATSDKAPIClient.cs similarity index 100% rename from AnyThinkAds/Platform/Android/ATSDKAPIClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATSDKAPIClient.cs diff --git a/AnyThinkAds/Platform/Android/ATSDKAPIClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATSDKAPIClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/Android/ATSDKAPIClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATSDKAPIClient.cs.meta index 6307389..5081839 100644 --- a/AnyThinkAds/Platform/Android/ATSDKAPIClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATSDKAPIClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 42480fbac11d04facb4c6d78db032974 +guid: dc261ca3c0936463c9d358ab5ade132d MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/Android/ATSplashAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATSplashAdClient.cs similarity index 99% rename from AnyThinkAds/Platform/Android/ATSplashAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATSplashAdClient.cs index 5fbc91c..06a01ca 100644 --- a/AnyThinkAds/Platform/Android/ATSplashAdClient.cs +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATSplashAdClient.cs @@ -179,7 +179,7 @@ namespace AnyThinkAds.Android public void onSplashAdDismiss(String unitId, String callbackJson) { - onAdClickEvent?.Invoke(this, new ATAdEventArgs(unitId, callbackJson)); + onAdCloseEvent?.Invoke(this, new ATAdEventArgs(unitId, callbackJson)); } public void onSplashAdDeeplinkCallback(String unitId, String callbackJson, bool isSuccess) diff --git a/AnyThinkAds/Platform/Android/ATSplashAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATSplashAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/Android/ATSplashAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/Android/ATSplashAdClient.cs.meta index 2bfd340..3b77d70 100644 --- a/AnyThinkAds/Platform/Android/ATSplashAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/Android/ATSplashAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fc526cb4cac504d87ac5b1b33902ce40 +guid: 8dc4b2769444b40628c5504cccdcfae5 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/iOS.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS.meta similarity index 77% rename from AnyThinkAds/Plugins/iOS.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS.meta index 62cca8d..537c5d0 100644 --- a/AnyThinkAds/Plugins/iOS.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4bd32736fde60bf4fa1dd4823a14ed75 +guid: e5a02bfe376df4e55885038935b4e0f6 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Platform/iOS/ATBannerAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATBannerAdClient.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/ATBannerAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATBannerAdClient.cs diff --git a/AnyThinkAds/Platform/Android/ATBannerAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATBannerAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/Android/ATBannerAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATBannerAdClient.cs.meta index 55fcc92..edfdb9b 100644 --- a/AnyThinkAds/Platform/Android/ATBannerAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATBannerAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5503a4dfdfdae4c049ebf256603214f4 +guid: 6305825c684f14cef9d9283c59881206 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/ATInterstitialAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATInterstitialAdClient.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/ATInterstitialAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATInterstitialAdClient.cs diff --git a/AnyThinkAds/Platform/Android/ATInterstitialAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATInterstitialAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/Android/ATInterstitialAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATInterstitialAdClient.cs.meta index a477dba..c95f032 100644 --- a/AnyThinkAds/Platform/Android/ATInterstitialAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATInterstitialAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 193da1251899744ba827d58296b854fa +guid: 69c99a926c22841f8a85edf146afee38 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/ATNativeAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATNativeAdClient.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/ATNativeAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATNativeAdClient.cs diff --git a/AnyThinkAds/Platform/Android/ATNativeAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATNativeAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/Android/ATNativeAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATNativeAdClient.cs.meta index 164efe0..d31076c 100644 --- a/AnyThinkAds/Platform/Android/ATNativeAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATNativeAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 55d34ac1b08d14075a94c32456dda57d +guid: 598340087f299445c84d4563b8151ff5 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/ATNativeBannerAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATNativeBannerAdClient.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/ATNativeBannerAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATNativeBannerAdClient.cs diff --git a/AnyThinkAds/Platform/iOS/ATNativeBannerAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATNativeBannerAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/ATNativeBannerAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATNativeBannerAdClient.cs.meta index a9d7884..db2d089 100644 --- a/AnyThinkAds/Platform/iOS/ATNativeBannerAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATNativeBannerAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1ddd325e170ee4e0b8007a1a7d1e0a74 +guid: e50f3f714bcb5482c87ea778887b210b MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/ATRewardedVideoAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATRewardedVideoAdClient.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/ATRewardedVideoAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATRewardedVideoAdClient.cs diff --git a/AnyThinkAds/Platform/iOS/ATRewardedVideoAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATRewardedVideoAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/ATRewardedVideoAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATRewardedVideoAdClient.cs.meta index e9ff0b6..687bb9e 100644 --- a/AnyThinkAds/Platform/iOS/ATRewardedVideoAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATRewardedVideoAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1eba5b4dd12cb44b4bfc1d988ec40a36 +guid: 88d71812e5a4b4bcb819fccaae56e629 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/ATSDKAPIClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATSDKAPIClient.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/ATSDKAPIClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATSDKAPIClient.cs diff --git a/AnyThinkAds/Platform/iOS/ATSDKAPIClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATSDKAPIClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/ATSDKAPIClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATSDKAPIClient.cs.meta index 6c56f88..2a8968b 100644 --- a/AnyThinkAds/Platform/iOS/ATSDKAPIClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATSDKAPIClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4a7d69c9f558e46c98341dfc1bc57ca1 +guid: 05c3b6e5701504301bda94a495dbaf3f MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/ATSplashAdClient.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATSplashAdClient.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/ATSplashAdClient.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATSplashAdClient.cs diff --git a/AnyThinkAds/Platform/iOS/ATSplashAdClient.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATSplashAdClient.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/ATSplashAdClient.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATSplashAdClient.cs.meta index 0a76378..9657a0e 100644 --- a/AnyThinkAds/Platform/iOS/ATSplashAdClient.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/ATSplashAdClient.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1f0c9795994ed4061b011d3513a6adce +guid: ca068c436de2c4eb7ae99bfa446bcb25 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal.meta similarity index 77% rename from AnyThinkAds/Platform/iOS/Internal.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal.meta index 8d6375c..6e2ec1e 100644 --- a/AnyThinkAds/Platform/iOS/Internal.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 71c4a563eff03483d8d19430791ee6f8 +guid: 07469d12ebd464fec8e353c0ee4f893b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Platform/iOS/Internal/C.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C.meta similarity index 77% rename from AnyThinkAds/Platform/iOS/Internal/C.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C.meta index 4b9a61a..75a1808 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 304162e40b68148bb94a0c8806efce99 +guid: 8b14aff8aa065434191a5cc12d615e63 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.h b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.h similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.h rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.h diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.h.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.h.meta similarity index 92% rename from AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.h.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.h.meta index 62d6410..82a6387 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.h.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.h.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8993b1a1b54d44b13b53f95199149f02 +guid: e2269e56e3e70488eb7d644a51a86da0 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.m b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.m similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.m rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.m diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.m.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.m.meta similarity index 94% rename from AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.m.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.m.meta index 8414630..4ea17e9 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.m.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATAutolayoutCategories.m.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ec2e2e53ab94c4b128b2c42212f6329d +guid: 131f232c2b292473c90a634675348a96 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.h b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.h similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.h rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.h diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.h.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.h.meta similarity index 92% rename from AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.h.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.h.meta index d78968e..55db87c 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.h.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.h.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6e2c5a04f2264475daa844ca2bd3b252 +guid: c19226014609a4fcc88f3f8b7d17926b PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.m b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.m similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.m rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.m diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.m.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.m.meta similarity index 94% rename from AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.m.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.m.meta index ffb272b..cfd4acc 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.m.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBannerAdWrapper.m.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 86380dcd812ab438cb2c2555b18f7611 +guid: b85f6b7934de2474ca8535fb6349cc73 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.h b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.h similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.h rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.h diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.h.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.h.meta similarity index 92% rename from AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.h.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.h.meta index fd24ce9..c3a356b 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.h.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.h.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ede50b2779e4c47739271e7bc30f2598 +guid: 32bcab57187f846e2b39fc622779e90a PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.m b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.m similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.m rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.m diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.m.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.m.meta similarity index 94% rename from AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.m.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.m.meta index d530bc2..9d90aa5 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.m.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATBaseUnityWrapper.m.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cc7aa85baa5154f9ba64fd37f76a0d79 +guid: fc3b1f55f3e0a48b7bca46a18bd3d474 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.h b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.h similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.h rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.h diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.h.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.h.meta similarity index 92% rename from AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.h.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.h.meta index 4d82eef..dfdd3ca 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.h.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.h.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fd3d5314272da4126b166640ab3dcee8 +guid: c215d6991d4a34405a81e619ee15e66a PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.m b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.m similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.m rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.m diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.m.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.m.meta similarity index 94% rename from AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.m.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.m.meta index 98f36e0..f5a013b 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.m.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATInterstitialAdWrapper.m.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 492c5b484db744b6087232216007aedb +guid: 36e14c4d8348c44308f370c1c6a68dd7 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.h b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.h similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.h rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.h diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.h.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.h.meta similarity index 92% rename from AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.h.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.h.meta index 2e8a77a..7385582 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.h.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.h.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 35f92a7af1cc942ee9c8e30cc8f1cd5d +guid: 7dc2e5bcadd9c4ba286c51b14d95a1f1 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.m b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.m similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.m rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.m diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.m.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.m.meta similarity index 94% rename from AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.m.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.m.meta index 56de3df..126f0d9 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.m.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeAdWrapper.m.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9b7d0630ed9b2491a974466fd11bce29 +guid: 72ec590a401574c6a9e1162535db1013 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.h b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.h similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.h rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.h diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.h.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.h.meta similarity index 92% rename from AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.h.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.h.meta index a311c40..6c19961 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.h.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.h.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 448e708c0980148298bcf70228028566 +guid: 11cb4d99f1d2048de8e0702624a5542d PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.m b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.m similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.m rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.m diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.m.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.m.meta similarity index 94% rename from AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.m.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.m.meta index cf44d2a..3dbd2d9 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.m.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATNativeSelfRenderView.m.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ce42b5dfb2e9b49ff8e98e5401410ce9 +guid: a0cdfff84811945e19a8113417e62e42 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.h b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.h similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.h rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.h diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.h.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.h.meta similarity index 92% rename from AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.h.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.h.meta index 87fd573..989f38e 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.h.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.h.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: dc495f05548a84943a7c574227eca542 +guid: 5302f6ea7c2ba45ffbac263b7f64272f PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.m b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.m similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.m rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.m diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.m.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.m.meta similarity index 94% rename from AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.m.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.m.meta index c25d88f..4032557 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.m.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATRewardedVideoWrapper.m.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 08bf6f78a022c41e48ac4c28c42d9032 +guid: d2a3b71dcccb94d7c8c277e2e4d71c3b PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.h b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.h similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.h rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.h diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.h.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.h.meta similarity index 92% rename from AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.h.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.h.meta index 0934762..dba9ee7 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.h.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.h.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 35568f88b0ee1472daea65783f251f13 +guid: 4c5e68d87e3b846ccbe99c89e6095a63 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.m b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.m similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.m rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.m diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.m.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.m.meta similarity index 94% rename from AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.m.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.m.meta index f7c121d..40b48a6 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.m.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATSplashAdWrapper.m.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ded4f0e6bc02d42569871e66507c2403 +guid: 050ae11a1f7d14f1582670c2ec76d58f PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.h b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.h similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.h rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.h diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.h.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.h.meta similarity index 92% rename from AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.h.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.h.meta index 120abdc..540c9a9 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.h.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.h.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 118e91473cd53442f9c919c52ea7ce7a +guid: cd0a7a969d01e426d86016392b0ebb74 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.m b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.m similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.m rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.m diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.m.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.m.meta similarity index 94% rename from AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.m.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.m.meta index b58e890..e190268 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.m.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityManager.m.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2d7de97c29c484bb4b223792bca82a2e +guid: d95b2163a82e6462e9f2f9cf16c1642d PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.h b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.h similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.h rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.h diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.h.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.h.meta similarity index 92% rename from AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.h.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.h.meta index 1d8ec32..ad5b4b0 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.h.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.h.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a78f0aaba1b554b47a6279870c478713 +guid: a614a84f8a56e42a9bdf249b46dbac4b PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.m b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.m similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.m rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.m diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.m.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.m.meta similarity index 94% rename from AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.m.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.m.meta index 491a8c4..7a0a8d3 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.m.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityUtilities.m.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 975cee5a14bff41e8b49fe463fca50bf +guid: a20f8049e0edf4ee9b3dc60a7391f63e PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityWrapper.h b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityWrapper.h similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/C/ATUnityWrapper.h rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityWrapper.h diff --git a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityWrapper.h.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityWrapper.h.meta similarity index 92% rename from AnyThinkAds/Platform/iOS/Internal/C/ATUnityWrapper.h.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityWrapper.h.meta index de0e3dc..07d0c87 100644 --- a/AnyThinkAds/Platform/iOS/Internal/C/ATUnityWrapper.h.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/C/ATUnityWrapper.h.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2e1ff5345df9f4b7091c46fa2dd59f9c +guid: 71365aa9b07d94f09acfde932f4e4ca4 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/Script.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script.meta similarity index 77% rename from AnyThinkAds/Platform/iOS/Internal/Script.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script.meta index ae42524..6dfb13c 100644 --- a/AnyThinkAds/Platform/iOS/Internal/Script.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2e059c89366e24ea9ad9a677576c896a +guid: b0390de3cdaa14f5d946bfdca7bc0a2e folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATAdWrapper.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATAdWrapper.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATAdWrapper.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATAdWrapper.cs diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATAdWrapper.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATAdWrapper.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATAdWrapper.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATAdWrapper.cs.meta index c0b5f81..fa6a607 100644 --- a/AnyThinkAds/Platform/iOS/Internal/Script/ATAdWrapper.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATAdWrapper.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 183257e53ddbe437b8527d5487310665 +guid: d9d4e438f52f846049aee82485de8569 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATBannerAdWrapper.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATBannerAdWrapper.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATBannerAdWrapper.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATBannerAdWrapper.cs diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATBannerAdWrapper.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATBannerAdWrapper.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATBannerAdWrapper.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATBannerAdWrapper.cs.meta index d209e0e..4ca30bf 100644 --- a/AnyThinkAds/Platform/iOS/Internal/Script/ATBannerAdWrapper.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATBannerAdWrapper.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a89e56ab43cc6424183b41bffb8f7644 +guid: 42e47e3e8cae64aa38bff4e3c6abf118 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATInterstitialAdWrapper.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATInterstitialAdWrapper.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATInterstitialAdWrapper.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATInterstitialAdWrapper.cs diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATInterstitialAdWrapper.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATInterstitialAdWrapper.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATInterstitialAdWrapper.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATInterstitialAdWrapper.cs.meta index 0a9cbaf..e3c629a 100644 --- a/AnyThinkAds/Platform/iOS/Internal/Script/ATInterstitialAdWrapper.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATInterstitialAdWrapper.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c7068c64efc7844d28c09eb3fe5016a1 +guid: 7657f58beb3f24ea89bca929994062e3 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATManager.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATManager.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATManager.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATManager.cs diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATManager.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATManager.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATManager.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATManager.cs.meta index f7373b9..d094958 100644 --- a/AnyThinkAds/Platform/iOS/Internal/Script/ATManager.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATManager.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4dee89fd761954cf7935d37937e888a7 +guid: 2004f8da35b374bebbed4dc94a4c9626 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeAdWrapper.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeAdWrapper.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATNativeAdWrapper.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeAdWrapper.cs diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeAdWrapper.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeAdWrapper.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATNativeAdWrapper.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeAdWrapper.cs.meta index 98129da..b913602 100644 --- a/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeAdWrapper.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeAdWrapper.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ef4e77b096b0b4403980f80eb0ca14a3 +guid: e618652cb8c1948ae800e140df614aa5 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeBannerAdWrapper.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeBannerAdWrapper.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATNativeBannerAdWrapper.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeBannerAdWrapper.cs diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeBannerAdWrapper.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeBannerAdWrapper.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATNativeBannerAdWrapper.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeBannerAdWrapper.cs.meta index 1f6f98f..29e9998 100644 --- a/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeBannerAdWrapper.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATNativeBannerAdWrapper.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 66718b9acc63e42318f62317987114a5 +guid: 736d70464c760423bb70a639660b2c2d MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATRewardedVideoWrapper.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATRewardedVideoWrapper.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATRewardedVideoWrapper.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATRewardedVideoWrapper.cs diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATRewardedVideoWrapper.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATRewardedVideoWrapper.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATRewardedVideoWrapper.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATRewardedVideoWrapper.cs.meta index 166fd7a..2e6916c 100644 --- a/AnyThinkAds/Platform/iOS/Internal/Script/ATRewardedVideoWrapper.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATRewardedVideoWrapper.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4ce4411a38fcf4ff7a436fbd0ba06dc4 +guid: 4fd828a1082d34e828c247d3c1f1e8d1 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATSplashAdWrapper.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATSplashAdWrapper.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATSplashAdWrapper.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATSplashAdWrapper.cs diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATSplashAdWrapper.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATSplashAdWrapper.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATSplashAdWrapper.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATSplashAdWrapper.cs.meta index ccf40bf..848b5d8 100644 --- a/AnyThinkAds/Platform/iOS/Internal/Script/ATSplashAdWrapper.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATSplashAdWrapper.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8f2ddc358f3a540c2b5d4b9570228c0c +guid: 7daeafef5bd994a159a64f1040af4a67 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATUnityCBridge.cs b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATUnityCBridge.cs similarity index 100% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATUnityCBridge.cs rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATUnityCBridge.cs diff --git a/AnyThinkAds/Platform/iOS/Internal/Script/ATUnityCBridge.cs.meta b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATUnityCBridge.cs.meta similarity index 83% rename from AnyThinkAds/Platform/iOS/Internal/Script/ATUnityCBridge.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATUnityCBridge.cs.meta index 7b114c2..a301d66 100644 --- a/AnyThinkAds/Platform/iOS/Internal/Script/ATUnityCBridge.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Platform/iOS/Internal/Script/ATUnityCBridge.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9ee29a59d3e464da5ad08392d08ff860 +guid: 7506b10016ed445f48eccd1aa58c94b4 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins.meta b/AnyThinkPlugin/AnyThinkAds/Plugins.meta similarity index 77% rename from AnyThinkAds/Plugins.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins.meta index 4cdacbd..b41b206 100644 --- a/AnyThinkAds/Plugins.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 81948355b66d24e4b9cb273bbe56eac4 +guid: 2590b2154c8fd5d4d81ef656438e060a folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Plugins/Android.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android.meta similarity index 77% rename from AnyThinkAds/Plugins/Android.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android.meta index 78629ae..72b47c5 100644 --- a/AnyThinkAds/Plugins/Android.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8aa118c29ade9fd4b9a0768c2be07862 +guid: f5bbdbf96ee5ae942902e771702becb7 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Plugins/Android/China.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China.meta similarity index 77% rename from AnyThinkAds/Plugins/Android/China.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China.meta index 603c3b4..d6a0fd7 100644 --- a/AnyThinkAds/Plugins/Android/China.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 00e755c66928bf845a74801253f3a0ff +guid: f33b5847802511d419bb6ab4b700fb86 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor.meta similarity index 77% rename from AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor.meta index df8d6f5..a2a6549 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f7a15da55f9b843a78efbe062e5a4162 +guid: 1488d178aaa4f482ea8c309372694069 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Plugins/Android/China/Editor/Dependencies.xml b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor/Dependencies.xml similarity index 100% rename from AnyThinkAds/Plugins/Android/China/Editor/Dependencies.xml rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor/Dependencies.xml diff --git a/AnyThinkAds/Plugins/Android/China/Editor/Dependencies.xml.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor/Dependencies.xml.meta similarity index 75% rename from AnyThinkAds/Plugins/Android/China/Editor/Dependencies.xml.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor/Dependencies.xml.meta index 68f0ff3..687b2f7 100644 --- a/AnyThinkAds/Plugins/Android/China/Editor/Dependencies.xml.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor/Dependencies.xml.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 00d7f6a296a714fb3a128db33940537d +guid: 01309b887f3fe4ece979fbb48275d06e TextScriptImporter: externalObjects: {} userData: diff --git a/AnyThinkAds/Plugins/Android/China/Editor/Gromore.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor/Gromore.meta similarity index 100% rename from AnyThinkAds/Plugins/Android/China/Editor/Gromore.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor/Gromore.meta diff --git a/AnyThinkAds/Plugins/Android/China/Editor/Gromore/Dependencies.xml b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor/Gromore/Dependencies.xml similarity index 100% rename from AnyThinkAds/Plugins/Android/China/Editor/Gromore/Dependencies.xml rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor/Gromore/Dependencies.xml diff --git a/AnyThinkAds/Plugins/Android/China/Editor/Gromore/Dependencies.xml.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor/Gromore/Dependencies.xml.meta similarity index 100% rename from AnyThinkAds/Plugins/Android/China/Editor/Gromore/Dependencies.xml.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/Editor/Gromore/Dependencies.xml.meta diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base.meta similarity index 77% rename from AnyThinkAds/Plugins/Android/China/anythink_base.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base.meta index 8a32877..e78f416 100644 --- a/AnyThinkAds/Plugins/Android/China/anythink_base.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0b639822d913a42d08a8da694163cad7 +guid: 254398fdf021c4a779725a49d41f0e61 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_banner.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_banner.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_banner.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_banner.aar diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_banner.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_banner.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_banner.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_banner.aar.meta index e8dbabb..c0b742a 100644 --- a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_banner.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_banner.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1b9d8e4f1ceb34f228f77a0f0d46091a +guid: 290f0c123bbf64a6984427544e80839a PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_china_core.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_china_core.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_china_core.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_china_core.aar diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_china_core.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_china_core.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_china_core.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_china_core.aar.meta index 5cb10af..4c7e0f3 100644 --- a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_china_core.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_china_core.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ac6ca9772b1034a6a9d83b7e34089e8f +guid: 9c1cfce36f43447f9b2d114d262760e9 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_core.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_core.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_core.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_core.aar diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_core.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_core.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_core.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_core.aar.meta index c0d88fc..040f4ab 100644 --- a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_core.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_core.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 392ff83ae1512454b97f85f2242012a2 +guid: bc179ab55b7104f63a5ab4f284361fce PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_interstitial.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_interstitial.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_interstitial.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_interstitial.aar diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_interstitial.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_interstitial.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_interstitial.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_interstitial.aar.meta index 9e80163..4730c9b 100644 --- a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_interstitial.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_interstitial.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cd91ac9c9c5f64769b6ea13432e8a037 +guid: 348edf87b5e4d4c648b81168c52d4c35 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_native.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_native.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_native.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_native.aar diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_native.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_native.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_native.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_native.aar.meta index caeeae7..935993d 100644 --- a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_native.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_native.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b6d529b0539fb4c37ab84c54a404dc6c +guid: 4e1cd9f70cc444bda95630821b2db72b PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_rewardvideo.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_rewardvideo.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_rewardvideo.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_rewardvideo.aar diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_rewardvideo.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_rewardvideo.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_rewardvideo.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_rewardvideo.aar.meta index 4a280a7..d78e456 100644 --- a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_rewardvideo.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_rewardvideo.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a47207769a0724dd68d29eae9dbaa958 +guid: 8defdf313c8954dbaa7ae6682d8f1a65 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_splash.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_splash.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_splash.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_splash.aar diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_splash.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_splash.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/anythink_base/anythink_splash.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_splash.aar.meta index 07a842c..0039858 100644 --- a/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_splash.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/anythink_splash.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d2a5f1baf22134eb2892c9f72173271b +guid: e3f3e2852ae7946e5b9daf2e27fa1011 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/tramini_sdk.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/tramini_sdk.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/anythink_base/tramini_sdk.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/tramini_sdk.aar diff --git a/AnyThinkAds/Plugins/Android/China/anythink_base/tramini_sdk.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/tramini_sdk.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/anythink_base/tramini_sdk.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/tramini_sdk.aar.meta index e91148a..bcf347d 100644 --- a/AnyThinkAds/Plugins/Android/China/anythink_base/tramini_sdk.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/anythink_base/tramini_sdk.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 38f6a5f13ba6f4ec98d06630daf71018 +guid: ada836c19e1cb412e894751fbc3669d5 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/mediation.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation.meta similarity index 77% rename from AnyThinkAds/Plugins/Android/China/mediation.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation.meta index 466656b..b635289 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b4495cf048f8b564e885f7a5205cabe5 +guid: e1b6816ce3172d04c881b3aed105923b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.2.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.2.aar new file mode 100644 index 0000000000000000000000000000000000000000..3a3dd6b6213a874b7019af9361a1fb213b41485d GIT binary patch literal 93253 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%0An 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 t{{PGE@7??r_FqN$OC>> path: " + path + " assetPath: " + assetPath); - } - - static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) - { - foreach (string str in importedAssets) - { - log("imported Asset: " + str); - } - foreach (string str in deletedAssets) - { - log("Deleted Asset: " + str); - } - - for (int i = 0; i < movedAssets.Length; i++) - { - log("Moved Asset: " + movedAssets[i] + " from: " + movedFromAssetPaths[i]); - } - } - - void OnPreprocessAsset() - { - log("OnPreprocessAsset() >>> called assetPath: " + assetPath); - } - - private static void log(string msg) - { -#if AnyThinkSDKEditor - ATLog.log(TAG, msg); -#endif - } -} diff --git a/AnyThinkPlugin/Script/Editor/ATAssetPostprocessor.cs.meta b/AnyThinkPlugin/Script/Editor/ATAssetPostprocessor.cs.meta deleted file mode 100644 index 4b88336..0000000 --- a/AnyThinkPlugin/Script/Editor/ATAssetPostprocessor.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 773c015bc2a8d452f967b6c4c57bbebc -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkPlugin/Script/Editor/ATPostProcessBuildAndroid.cs b/AnyThinkPlugin/Script/Editor/ATPostProcessBuildAndroid.cs index 56d5a47..c5a86cc 100644 --- a/AnyThinkPlugin/Script/Editor/ATPostProcessBuildAndroid.cs +++ b/AnyThinkPlugin/Script/Editor/ATPostProcessBuildAndroid.cs @@ -20,7 +20,6 @@ namespace AnyThink.Scripts.Editor private static string PropertyDexingArtifactTransform = "android.enableDexingArtifactTransform"; private static string DisableProperty = "=false"; - private static string KeyMetaDataAppLovinVerboseLoggingOn = "applovin.sdk.verbose_logging"; private static string KeyMetaDataGoogleApplicationId = "com.google.android.gms.ads.APPLICATION_ID"; private static string KeyMetaDataGoogleAdManagerApp = "com.google.android.gms.ads.AD_MANAGER_APP"; @@ -73,7 +72,7 @@ namespace AnyThink.Scripts.Editor //如果是国内,则根据选择来决定是否用AndroidX if (isChina) { - if (!ATPluginSetting.Instance.EnableAndroidX) { + if (!ATConfig.enableAndroidX()) { EnableProperty = "=false"; } else { EnableProperty = "=true"; @@ -145,14 +144,15 @@ namespace AnyThink.Scripts.Editor private static void addGoogleApplicationIdIfNeeded(XElement elementApplication, IEnumerable metaDataElements) { var googleApplicationIdMetaData = GetElementByName(metaDataElements, KeyMetaDataGoogleApplicationId); - if (!ATConfig.isAndroidNetworkInstalled("Admob", ATConfig.NONCHINA_COUNTRY)) + + if (!ATConfig.isNetworkInstalledByName("Admob", ATConfig.OS_ANDROID)) { ATLog.log("addGoogleApplicationIdIfNeeded() >>> Admob not install."); if (googleApplicationIdMetaData != null) googleApplicationIdMetaData.Remove(); return; } - var appId = ATPluginSetting.Instance.AdMobAndroidAppId; + var appId = ATConfig.getAdmobAppIdByOs(ATConfig.OS_ANDROID); // Log error if the App ID is not set. if (string.IsNullOrEmpty(appId) || !appId.StartsWith("ca-app-pub-")) { diff --git a/AnyThinkPlugin/Script/Editor/ATPostProcessBuildAndroid.cs.meta b/AnyThinkPlugin/Script/Editor/ATPostProcessBuildAndroid.cs.meta index 9106c94..4bab9b8 100644 --- a/AnyThinkPlugin/Script/Editor/ATPostProcessBuildAndroid.cs.meta +++ b/AnyThinkPlugin/Script/Editor/ATPostProcessBuildAndroid.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a62affbda13454692bd833665283012b +guid: be367c330856340a4a9626db43b8917b MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/Editor/ATPostProcessBuildiOS.cs b/AnyThinkPlugin/Script/Editor/ATPostProcessBuildiOS.cs index 8025408..d931489 100644 --- a/AnyThinkPlugin/Script/Editor/ATPostProcessBuildiOS.cs +++ b/AnyThinkPlugin/Script/Editor/ATPostProcessBuildiOS.cs @@ -48,7 +48,7 @@ namespace AnyThink.Scripts.Editor dynamicLibraryPathsToEmbed.Add(Path.Combine("Pods/", "BigoADS/BigoADS/BigoADS.xcframework")); dynamicLibraryPathsToEmbed.Add(Path.Combine("Pods/", "BigoADS/BigoADS/OMSDK_Bigosg.xcframework")); dynamicLibraryPathsToEmbed.Add(Path.Combine("Pods/", "HyBid/PubnativeLite/PubnativeLite/OMSDK-1.3.29/OMSDK_Pubnativenet.xcframework")); - + dynamicLibraryPathsToEmbed.Add(Path.Combine("Pods/", "Fyber_Marketplace_SDK/IASDKCore/IASDKCore.xcframework")); return dynamicLibraryPathsToEmbed; @@ -164,13 +164,13 @@ namespace AnyThink.Scripts.Editor private static void AddGoogleApplicationIdIfNeeded(PlistDocument plist) { - if (!ATConfig.isIOSNetworkInstalled("Admob", ATConfig.NONCHINA_COUNTRY)) + if (!ATConfig.isNetworkInstalledByName("Admob", ATConfig.OS_IOS)) { ATLog.log("addGoogleApplicationIdIfNeeded() >>> Admob not install."); return; } - - var appId = ATPluginSetting.Instance.AdMobIosAppId; + //获取admob app id + var appId = ATConfig.getAdmobAppIdByOs(ATConfig.OS_IOS); if (string.IsNullOrEmpty(appId) || !appId.StartsWith("ca-app-pub-")) { diff --git a/AnyThinkPlugin/Script/Editor/ATPostProcessBuildiOS.cs.meta b/AnyThinkPlugin/Script/Editor/ATPostProcessBuildiOS.cs.meta index 905c410..048e705 100644 --- a/AnyThinkPlugin/Script/Editor/ATPostProcessBuildiOS.cs.meta +++ b/AnyThinkPlugin/Script/Editor/ATPostProcessBuildiOS.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: db5ce930061584ac383e17723a51940c +guid: 2e2b9e45df1464e4ca34d6674718bb2a MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/Editor/ATProcessBuildGradleAndroid.cs b/AnyThinkPlugin/Script/Editor/ATProcessBuildGradleAndroid.cs index 6656f31..267f23b 100644 --- a/AnyThinkPlugin/Script/Editor/ATProcessBuildGradleAndroid.cs +++ b/AnyThinkPlugin/Script/Editor/ATProcessBuildGradleAndroid.cs @@ -8,6 +8,10 @@ using System.Xml.Linq; using UnityEditor; using UnityEditor.Android; using System.Text.RegularExpressions; +using System.Diagnostics; +using UnityEngine; +using System.Text; + namespace AnyThink.Scripts.Editor { @@ -35,7 +39,9 @@ namespace AnyThink.Scripts.Editor // replaceAppBuildPluginVersion(path); #endif // replaceAppBuildPluginVersion(path); - // handleNetworksConfit(path); + handleNetworksConfit(path); + // handleNetworkResMerge(path); + // callGradleTask(path); } //修改项目的根目录下的build.gradle文件的插件版本号 private static void replaceBuildPluginVersion(string buildGradlePath) @@ -242,10 +248,10 @@ namespace AnyThink.Scripts.Editor { lines.Insert(androidStartIndex + 1, " packagingOptions {\n merge 'META-INF/com.android.tools/proguard/coroutines.pro'\n exclude 'META-INF/*.kotlin_module'\n }"); } - if (!isConfigAll) - { - lines.Insert(androidStartIndex -1, "configurations.all {\n resolutionStrategy {\n force 'androidx.core:core:1.6.0'\n force 'androidx.recyclerview:recyclerview:1.1.0' \n }\n}"); - } + // if (!isConfigAll) + // { + // lines.Insert(androidStartIndex -1, "configurations.all {\n resolutionStrategy {\n force 'androidx.core:core:1.6.0'\n force 'androidx.recyclerview:recyclerview:1.1.0' \n }\n}"); + // } } // configurations.all { // resolutionStrategy { @@ -265,6 +271,84 @@ namespace AnyThink.Scripts.Editor } } } + + private static void handleNetworkResMerge(string path) { + ATLog.log("handleNetworkResMerge() >>> path: " + path); +#if UNITY_2019_3_OR_NEWER + var buildGradlePath = Path.Combine(path, "../launcher/build.gradle"); +#else + var buildGradlePath = Path.Combine(path, "launcher/build.gradle"); +#endif + List lines = new List(); + bool isAdded = false; + + using (StreamReader reader = new StreamReader(buildGradlePath)) + { + string line; + while ((line = reader.ReadLine()) != null) + { + if (line.Contains("task handleNetworkResMerge")) { + isAdded = true; + } + lines.Add(line); + } + } + if (isAdded) { + return; + } + using (StreamReader reader = new StreamReader("Assets/AnyThinkPlugin/Script/Editor/network_res_handle.gradle")) + { + string line; + while ((line = reader.ReadLine()) != null) + { + lines.Add(line); + } + } + using (StreamWriter writer = new StreamWriter(buildGradlePath)) + { + foreach (string line in lines) + { + writer.WriteLine(line); + } + } + } + + private static void callGradleTask(string path) { + // 设置你想要启动的Gradle任务 + string gradleTask = "handleNetworkResMerge"; // 例如: assembleDebug or assembleRelease + + // 开始一个新的进程来执行Gradle任务 + ProcessStartInfo psi = new ProcessStartInfo(); + psi.FileName = Application.platform == RuntimePlatform.WindowsEditor ? "cmd" : "bash"; + psi.Arguments = Application.platform == RuntimePlatform.WindowsEditor ? + $"/c gradlew {gradleTask}" : // Windows cmd命令 + $"-c './gradlew {gradleTask}'"; // UNIX bash命令 + psi.UseShellExecute = false; + psi.StandardOutputEncoding = Encoding.UTF8; + psi.StandardErrorEncoding = Encoding.UTF8; + psi.RedirectStandardOutput = true; + psi.RedirectStandardError = true; + psi.CreateNoWindow = true; + psi.WorkingDirectory = "/Users/quinx/Desktop/workspace_topon/sdk_source/a_unity_demo/TestAnyThinkUnityPlugin/Library/Bee/Android/Prj/Mono2x/Gradle"; // 这里应该是你的Android项目路径 + + ATLog.log("callGradleTask() >>> path: " + path); + + using (var process = Process.Start(psi)) + { + // 读取输出信息 + while (!process.StandardOutput.EndOfStream) + { + var line = process.StandardOutput.ReadLine(); + UnityEngine.Debug.Log(line); + } + // 读取错误信息 + while (!process.StandardError.EndOfStream) + { + var line = process.StandardError.ReadLine(); + UnityEngine.Debug.LogError(line); + } + } + } } } #endif \ No newline at end of file diff --git a/AnyThinkPlugin/Script/Editor/ATProcessBuildGradleAndroid.cs.meta b/AnyThinkPlugin/Script/Editor/ATProcessBuildGradleAndroid.cs.meta index 20239a2..4e34584 100644 --- a/AnyThinkPlugin/Script/Editor/ATProcessBuildGradleAndroid.cs.meta +++ b/AnyThinkPlugin/Script/Editor/ATProcessBuildGradleAndroid.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d626fd92437ac43b0ab872491daa1322 +guid: 311da97c47b0c4a21a96c7f310f9d8ad MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/Editor/AnyThinkPlugin.Script.Editor.asmdef.meta b/AnyThinkPlugin/Script/Editor/AnyThinkPlugin.Script.Editor.asmdef.meta index a7ebee8..1050012 100644 --- a/AnyThinkPlugin/Script/Editor/AnyThinkPlugin.Script.Editor.asmdef.meta +++ b/AnyThinkPlugin/Script/Editor/AnyThinkPlugin.Script.Editor.asmdef.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 24e73b2b839c146639f94882952d2e53 +guid: fe7f15635ecfd4b0a9b59690ece5d0c6 AssemblyDefinitionImporter: externalObjects: {} userData: diff --git a/AnyThinkPlugin/Script/Editor/anythink_network_security_config.xml.meta b/AnyThinkPlugin/Script/Editor/anythink_network_security_config.xml.meta index 2e098d3..e194903 100644 --- a/AnyThinkPlugin/Script/Editor/anythink_network_security_config.xml.meta +++ b/AnyThinkPlugin/Script/Editor/anythink_network_security_config.xml.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 05050f3d6dbb54149aea8c057ee0f776 +guid: 9d4c4072cdc0f40c0b81bc2dc3d2dac2 TextScriptImporter: externalObjects: {} userData: diff --git a/AnyThinkPlugin/Script/IntegrationManager.meta b/AnyThinkPlugin/Script/IntegrationManager.meta index 7ceea9f..a37f9c0 100644 --- a/AnyThinkPlugin/Script/IntegrationManager.meta +++ b/AnyThinkPlugin/Script/IntegrationManager.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8649549cff74e4d32b74b48ea17250bb +guid: 15152ff8d13714d7eac85917600912d8 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor.meta index 8f42818..5ab3d65 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor.meta +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ffa4e194d92494cefa94fd3adb9dcb93 +guid: 6d4b4203581584a20bfcf8c8570437f6 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATAssetDatabaseManager.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATAssetDatabaseManager.cs deleted file mode 100644 index b58cc69..0000000 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATAssetDatabaseManager.cs +++ /dev/null @@ -1,148 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Text.RegularExpressions; -using UnityEditor; -using UnityEngine; -using UnityEngine.Serialization; -using AnyThink.Scripts.IntegrationManager.Editor; -using Network = AnyThink.Scripts.IntegrationManager.Editor.Network; -using IntegrationManager = AnyThink.Scripts.IntegrationManager.Editor.ATIntegrationManager; - -public class ATAssetDatabaseManager : ScriptableObject -{ - public const string SettingsExportPath = "Assets/AnyThinkPlugin/Resources/Assets/ATAssetDatabaseManager.asset"; - - private static ATAssetDatabaseManager instance; - public Network importingNetwork = null; - - public delegate void DownloadPluginProgressCallback(string pluginName, float progress, bool done); - public delegate void ImportPackageCompletedCallback(Network network); - - public DownloadPluginProgressCallback downloadPluginProgressCallback; - public ImportPackageCompletedCallback importPackageCompletedCallback; - - // public Network importingNetwork; - - public static ATAssetDatabaseManager Instance - { - get - { - if (instance == null) - { - var settingsDir = Path.GetDirectoryName(SettingsExportPath); - if (!Directory.Exists(settingsDir)) - { - Directory.CreateDirectory(settingsDir); - } - string settingsFilePath = SettingsExportPath; - - instance = AssetDatabase.LoadAssetAtPath(settingsFilePath); - if (instance != null) return instance; - - instance = CreateInstance(); - AssetDatabase.CreateAsset(instance, settingsFilePath); - // init(); - } - - return instance; - } - } - - private ATAssetDatabaseManager() - { - init(); - } - - private void init() - { - ATLog.log("ATAssetDatabaseManager inited"); - - AssetDatabase.importPackageCompleted += packageName => - { - ATLog.logFormat("importPackageCompleted() >>> packageName: {0} importingNetwork: {1}", new object[] { packageName, importingNetwork }); - if (!IsImportingNetwork(packageName)) return; - ATLog.log("importPackageCompleted() >>> import succeed."); - // ATConfig.saveInstalledNetworkVersion(packageName, ) - // var pluginParentDir = PluginParentDirectory; - // var isPluginOutsideAssetsDir = IsPluginOutsideAssetsDirectory; - // MovePluginFilesIfNeeded(pluginParentDir, isPluginOutsideAssetsDir); - // AddLabelsToAssetsIfNeeded(pluginParentDir, isPluginOutsideAssetsDir); - AssetDatabase.Refresh(); - - CallImportPackageCompletedCallback(importingNetwork); - // importingNetwork = null; - setImportingNetworkNull(); - }; - - AssetDatabase.importPackageCancelled += packageName => - { - ATLog.logFormat("importPackageCancelled() >>> packageName: {0}", new object[] { packageName }); - if (!IsImportingNetwork(packageName)) return; - - // MaxSdkLogger.UserDebug("Package import cancelled."); - // importingNetwork = null; - setImportingNetworkNull(); - }; - - AssetDatabase.importPackageFailed += (packageName, errorMessage) => - { - ATLog.logFormat("importPackageFailed() >>> packageName: {0}, errorMsg: {1}", new object[] { packageName, errorMessage }); - if (!IsImportingNetwork(packageName)) return; - - // MaxSdkLogger.UserError(errorMessage); - // importingNetwork = null; - setImportingNetworkNull(); - }; - } - - private void setImportingNetworkNull() - { - // ATPluginSetting.Instance.ImportingNetwork = null; - importingNetwork = null; - } - - public void CallDownloadPluginProgressCallback(string pluginName, float progress, bool isDone) - { - if (downloadPluginProgressCallback == null) return; - - downloadPluginProgressCallback(pluginName, progress, isDone); - } - - public void CallImportPackageCompletedCallback(Network network) - { - ATLog.log("CallImportPackageCompletedCallback() >>> network: " + network + " importPackageCompletedCallback: " + importPackageCompletedCallback); - if (network != null) - { - ATConfig.saveInstalledNetworkVersion(network.Name, network.LatestVersions); - // ATIntegrationManager.Instance.UpdateCurrentVersions(network); - } - if (importPackageCompletedCallback == null) return; - importPackageCompletedCallback(network); - } - - public string GetPluginFileName(Network network) - { - // return network.Name.ToLowerInvariant() + "_" + network.LatestVersions.Unity + ".unitypackage"; - return network.PluginFileName; - } - - private bool IsImportingNetwork(string packageName) - { - // Note: The pluginName doesn't have the '.unitypacakge' extension included in its name but the pluginFileName does. So using Contains instead of Equals. - //window系统packageName是:项目路径/AnyThinkCore,Mac系统是: AnyThinkCore - #if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN - if (packageName.Contains("\\")) - { - string[] packageNameArray = packageName.Split('\\'); - if (packageNameArray != null && packageNameArray.Length > 0) - { - packageName = packageNameArray[packageNameArray.Length -1]; - } - } - #endif - return importingNetwork != null && GetPluginFileName(importingNetwork).Contains(packageName); - } - -} diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATAssetDatabaseManager.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATAssetDatabaseManager.cs.meta deleted file mode 100644 index a0c5aad..0000000 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATAssetDatabaseManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e1c2a723fcc7d4a5cad5c4b082740029 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATAssetPostprocessor.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATAssetPostprocessor.cs index 8cbaff5..414812a 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATAssetPostprocessor.cs +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATAssetPostprocessor.cs @@ -32,6 +32,7 @@ public class ATAssetPostprocessor : AssetPostprocessor { log("Moved Asset: " + movedAssets[i] + " from: " + movedFromAssetPaths[i]); } + } void OnPreprocessAsset() diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfig.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfig.cs index 5812124..6ead263 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfig.cs +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfig.cs @@ -3,11 +3,12 @@ using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; +using System.Text; using System.Xml.Linq; using UnityEditor; using UnityEngine; using UnityEngine.Networking; -using AnyThink.Scripts.Assets; +// using AnyThink.Scripts.Assets; using System.Text.RegularExpressions; namespace AnyThink.Scripts.IntegrationManager.Editor @@ -15,179 +16,212 @@ namespace AnyThink.Scripts.IntegrationManager.Editor public class ATConfig { -public static string PLUGIN_VERSION = "2.0.3"; +public static string PLUGIN_VERSION = "2.1.0"; public static bool isDebug = false; - private static string LAST_SELECT_COUNTRY_KEY = "country_key"; //国家 + + public static int OS_ANDROID = 1; + public static int OS_IOS = 2; public static int CHINA_COUNTRY = 1; public static int NONCHINA_COUNTRY = 2; - public static string ANYTHINK_SDK_FILES_PATH = "Assets/AnyThinkAds"; - //国内core aar包的父目录 - public static string CHINA_ANDROID_CORE_FILES_PATH = "Assets/AnyThinkAds/Plugins/Android/China/anythink_base/"; - public static string NONCHINA_ANDROID_CORE_FILES_PATH = "Assets/AnyThinkAds/Plugins/Android/NonChina/anythink_base/"; - //国内Android network aar包的父目录 - public static string CHINA_ANDROID_NETWORK_FILES_PARENT_PATH = "Assets/AnyThinkAds/Plugins/Android/China/mediation/"; - //海外Android network 依赖文件的目录 - public static string NONCHINA_ANDROID_NETWORK_FILES_PARENT_PATH = "Assets/AnyThinkAds/Plugins/Android/NonChina/mediation/"; - //iOS network依赖文件的目录,不区分国家 - public static string IOS_NETWORK_FILES_PARENT_PATH = "Assets/AnyThinkAds/Plugins/iOS/"; + public static string ANYTHINK_SDK_FILES_PATH = "Assets/AnyThinkPlugin/AnyThinkAds"; + //国内Android core包的相关目录 + public static string[] CHINA_ANDROID_CORE_FILES_ARRAY = {Path.Combine(ANYTHINK_SDK_FILES_PATH, "Plugins/Android/China/Editor"), + Path.Combine(ANYTHINK_SDK_FILES_PATH, "Plugins/Android/China/anythink_base"), + Path.Combine(ANYTHINK_SDK_FILES_PATH, "Plugins/Android/China/mediation_plugin")}; + //海外Android core包的相关目录 + public static string[] NON_CHINA_ANDROID_CORE_FILES_ARRAY = {Path.Combine(ANYTHINK_SDK_FILES_PATH, "Plugins/Android/NonChina/anythink_base"), + Path.Combine(ANYTHINK_SDK_FILES_PATH, "Plugins/Android/NonChina/Editor")}; + //国内core aar包的父目录 + public static string CHINA_ANDROID_CORE_FILES_PATH = Path.Combine(ANYTHINK_SDK_FILES_PATH, "Plugins/Android/China/anythink_base/"); + public static string NONCHINA_ANDROID_CORE_FILES_PATH = Path.Combine(ANYTHINK_SDK_FILES_PATH, "Plugins/Android/NonChina/anythink_base/"); + //国内Android network aar包的父目录 + public static string CHINA_ANDROID_NETWORK_FILES_PARENT_PATH = Path.Combine(ANYTHINK_SDK_FILES_PATH, "Plugins/Android/China/mediation/"); + //海外Android network 依赖文件的目录 + public static string NONCHINA_ANDROID_NETWORK_FILES_PARENT_PATH = Path.Combine(ANYTHINK_SDK_FILES_PATH, "Plugins/Android/NonChina/mediation/"); + //iOS network依赖文件的目录,不区分国家 + public static string IOS_NETWORK_FILES_PARENT_PATH = Path.Combine(ANYTHINK_SDK_FILES_PATH, "Plugins/iOS/China/"); + public static string NONCHINA_IOS_NETWORK_FILES_PARENT_PATH = Path.Combine(ANYTHINK_SDK_FILES_PATH, "Plugins/iOS/NonChina/"); + //network json文件名 + public static string network_data_file_name = "network_data.json"; + //插件设置的数据 + private static string plugin_setting_data_path = "Assets/AnyThinkPlugin/Resources/json/" + PLUGIN_VERSION; + private static string plugin_setting_data_file_name = "plugin_setting_data.json"; + + //保存插件设置的数据,保存时机:安装core包、选择国家、切换SDK、androidX设置发生变化时 + public static void savePluginSettingData(PluginSettingData settingData) + { + var directoryPath = plugin_setting_data_path; + // 确保目标文件夹存在 + if (!Directory.Exists(directoryPath)) + { + // 如果目录不存在,则创建它 + Directory.CreateDirectory(directoryPath); + } + string fullPath = Path.Combine(directoryPath, plugin_setting_data_file_name); + string settingDataStr = JsonUtility.ToJson(settingData); + ATLog.log("savePluginSettingData() >>> fullPath: " + fullPath + " settingDataStr: " + settingDataStr); + File.WriteAllText(fullPath, settingDataStr); + } + //获取插件设置的数据 + public static PluginSettingData getPluginSettingData() + { + string fullPath = Path.Combine(plugin_setting_data_path, plugin_setting_data_file_name); + if (!File.Exists(fullPath)) { + return null; + } + string json = File.ReadAllText(fullPath); + if(json == "") { + return null; + } + return JsonUtility.FromJson(json); + } + + public static bool removeSdk(int country, int os) { + string path = ANYTHINK_SDK_FILES_PATH + "/Plugins"; + if (os == OS_ANDROID) { + path = path + "/Android"; + } else { + path = path + "/iOS"; + } + if (country == CHINA_COUNTRY) { + path = path + "/China"; + } else { + path = path + "/NonChina"; + } + if (Directory.Exists(path)) { + FileUtil.DeleteFileOrDirectory(path); + } + if (File.Exists(path + ".meta")) { + FileUtil.DeleteFileOrDirectory(path + ".meta"); + } + return true; + } + + //移除本地的network + public static bool removeInstalledNetwork(Network network, int os) + { + //修改sdk的配置 + if (isCoreNetwork(network.Name) && os == OS_ANDROID) { + var paths = CHINA_ANDROID_CORE_FILES_ARRAY; + if (network.Country == NONCHINA_COUNTRY) { + paths = NON_CHINA_ANDROID_CORE_FILES_ARRAY; + } + foreach(string p in paths) { + if (Directory.Exists(p)) { + FileUtil.DeleteFileOrDirectory(p); + } + if (File.Exists(p + ".meta")) { + FileUtil.DeleteFileOrDirectory(p + ".meta"); + } + } + return true; + } + var path = getAndroidNetworkPath(network); + if (os == OS_IOS) { + path = getIosNetworkPath(network); + } + if (Directory.Exists(path)) { + FileUtil.DeleteFileOrDirectory(path); + if (File.Exists(path + ".meta")) { + FileUtil.DeleteFileOrDirectory(path + ".meta"); + } + } + return true; + } // 保存已安装的network到本地 - public static void saveInstalledNetworkVersion(string networkName, Versions v) + public static void saveInstalledNetworkVersion(Network network, int os) { - Versions versions = v.clone(); - int country = getLocalCountry(); - - ATLog.log("saveInstalledNetworkVersion() >>> networkName: " + networkName + " unity: " + versions.Unity); - versions = initUnityForVerions(versions, networkName, country); - - string jsonStr = JsonUtility.ToJson(versions); - string key = networkName + "_" + country; - // ATConfigAsset2.Instance.saveInstalledNetworkVersion(key, jsonStr); - PlayerPrefs.SetString(key, jsonStr); - } - - //获取已安装的network版本,包括core network - public static Versions getInstalledNetworkVersion(string networkName, int country) - { - Versions versions = null; - string sdkJson = string.Empty; - - string key = networkName + "_" + country; - - // sdkJson = ATConfigAsset2.Instance.getInstalledNetworkVersion(key); - sdkJson = PlayerPrefs.GetString(key); - - ATLog.log("getInstalledNetworkVersion() >>> key: " + key + " sdkJson: " + sdkJson + " country: " + country); - if (sdkJson == null || sdkJson.Length == 0) - { - //适配旧版本插件,避免直接升级SDK - // if (PlayerPrefs.HasKey(key)) { - // sdkJson = PlayerPrefs.GetString(key); - // PlayerPrefs.DeleteKey(key); - // } else { - // return null; - // } - return null; + if (isCoreNetwork(network.Name)) { + return; } - - versions = JsonUtility.FromJson(sdkJson); - versions = initUnityForVerions(versions, networkName, country); - return versions; - } + var networkDataFileName = network_data_file_name; + var networkName = network.Name.ToLower(); + int country = network.Country; + var installedVersions = network.CurrentVersions; + if (installedVersions != null) { + if (os == OS_ANDROID) { + var android_version = installedVersions.Android; + //Android + if (!string.IsNullOrEmpty(android_version)) { + var networkPath = getAndroidNetworkPath(network); + ATLog.log("saveInstalledNetworkVersion() >>> android networkPath: " + networkPath + " exist: " + Directory.Exists(networkPath)); + if (Directory.Exists(networkPath)) { + string fullPath = Path.Combine(networkPath, networkDataFileName); + var networkData = new NetworkLocalData(); + networkData.name = networkName; + networkData.country = country; + networkData.version = android_version; + networkData.path = networkPath; - public static int getLocalCountry() - { - string key = LAST_SELECT_COUNTRY_KEY; - //适配旧版本插件,避免直接升级SDK - // if (PlayerPrefs.HasKey(key)) { - // int country = PlayerPrefs.GetInt(key); - // saveLocalCountry(country); - // PlayerPrefs.DeleteKey(key); - // } - // return ATConfigAsset2.Instance.LocalCountry; - return PlayerPrefs.GetInt(key, CHINA_COUNTRY); - } + File.WriteAllText(fullPath, JsonUtility.ToJson(networkData)); + } + } + } else { + //iOS + var ios_version = installedVersions.Ios; + if (!string.IsNullOrEmpty(ios_version)) { + var networkPath = getIosNetworkPath(network); + ATLog.log("saveInstalledNetworkVersion() >>> ios networkPath: " + networkPath); + if (Directory.Exists(networkPath)) { + string fullPath = Path.Combine(networkPath, networkDataFileName); + var networkData = new NetworkLocalData(); + networkData.name = networkName; + networkData.country = country; + networkData.version = ios_version; + networkData.path = networkPath; - public static void saveLocalCountry(int country) - { - // ATConfigAsset2.Instance.LocalCountry = country; - PlayerPrefs.SetInt(LAST_SELECT_COUNTRY_KEY, country); - } - - public static void removeInstalledNetworkVersion(string networkName, int country) - { - string key = networkName + "_" + country; - - if (PlayerPrefs.HasKey(key)) { - PlayerPrefs.DeleteKey(key); - } - ATLog.log("removeInstalledNetworkVersion() >>> networkName: " + networkName + " country: " + country); - // ATConfigAsset2.Instance.removeInstalledNetworkVersion(key); - } - - - private static Versions initUnityForVerions(Versions versions, string networkName, int country) - { - if (versions == null) - { - return null; - } - //查找本地的android、iOS是否都已安装 - string androidPath = getAndroidNetworkPath(networkName, country); - bool androidInstalled = isInstalledByPath(androidPath); - string iosPath = getIosNetworkPath(networkName); - bool iosInstalled = isInstalledByPath(iosPath); - if (!androidInstalled && iosInstalled) - { - // versions.Android = ""; - versions.Unity = string.Format("ios_{0}", versions.Ios); - } - else if (androidInstalled && !iosInstalled) - { - // versions.Ios = ""; - versions.Unity = string.Format("android_{0}", versions.Android); - } - else if (!androidInstalled && !iosInstalled) - { - versions.Unity = ""; - } - //core network的unity版本是插件版本 - if (networkName.Equals(ATIntegrationManager.AnyThinkNetworkName)) - { - versions.Unity = ATConfig.PLUGIN_VERSION; - } - ATLog.log("initUnityForVerions() >>> networkName: " + networkName + " androidInstalled: " + androidInstalled + " iosInstalled: " + iosInstalled + " unity: " + versions.Unity); - return versions; - } - - public static bool isNetworkInstalled(string networkName, int country) - { - Versions versions = getInstalledNetworkVersion(networkName, country); - if (versions == null) - { - return false; - } - if (networkName.Equals(ATIntegrationManager.AnyThinkNetworkName)) //core network判断是否已安装 - { - string androidPath = getAndroidNetworkPath(networkName, country); - bool androidInstalled = isInstalledByPath(androidPath); - string iosPath = getIosNetworkPath(networkName); - bool iosInstalled = isInstalledByPath(iosPath); - - return androidInstalled && iosInstalled; - } else { //network判断是否已安装 - return !string.IsNullOrEmpty(versions.Unity); + File.WriteAllText(fullPath, JsonUtility.ToJson(networkData)); + } + } + } } } - public static bool isAndroidNetworkInstalled(string networkName, int country) - { - Versions versions = getInstalledNetworkVersion(networkName, country); - if (versions == null) - { - return false; + //Core 是否已安装 + public static bool isCoreNetworkInstalled(PluginSettingData pluginSettingData, int os) { + var countrySettingData = pluginSettingData.getCountrySettingData(); + if (os == OS_ANDROID) { + return !string.IsNullOrEmpty(countrySettingData.android_version); + } else { + return !string.IsNullOrEmpty(countrySettingData.ios_version); } - string androidPath = getAndroidNetworkPath(networkName, country); - bool androidInstalled = isInstalledByPath(androidPath); - return androidInstalled; } - public static bool isIOSNetworkInstalled(string networkName, int country) + //Network是否已安装 + public static bool isNetworkInstalled(Network network, int os) { - Versions versions = getInstalledNetworkVersion(networkName, country); - if (versions == null) - { - return false; + if (isCoreNetwork(network.Name)) { + var pluginSettingData = getPluginSettingData(); + return isCoreNetworkInstalled(pluginSettingData, os); } - string iosPath = getIosNetworkPath(networkName); - bool iosInstalled = isInstalledByPath(iosPath); - return iosInstalled; + var path = getIosNetworkPath(network); + if (os == OS_ANDROID) { + path = getAndroidNetworkPath(network); + } + return File.Exists(Path.Combine(path, network_data_file_name)); } - private static string getAndroidNetworkPath(string networkName, int country) + //Network是否已安装,根据name + public static bool isNetworkInstalledByName(string name, int os) { - if (networkName.Equals(ATIntegrationManager.AnyThinkNetworkName)) + var pluginSettingData = getPluginSettingData(); + if (pluginSettingData != null) { + var country = pluginSettingData.curCountry; + var network = new Network(); + network.Name = name; + network.Country = country; + return isNetworkInstalled(network, os); + } + return false; + } + + private static string getAndroidNetworkPath(Network network) + { + var networkName = network.Name.ToLower(); + var country = network.Country; + if (isCoreNetwork(networkName)) { return country == CHINA_COUNTRY ? CHINA_ANDROID_CORE_FILES_PATH : NONCHINA_ANDROID_CORE_FILES_PATH; } @@ -197,82 +231,144 @@ public static bool isDebug = false; } } - private static string getIosNetworkPath(string networkName) + private static string getIosNetworkPath(Network network) { - string defaultResult = IOS_NETWORK_FILES_PARENT_PATH + networkName.ToLower(); - if (networkName.Equals(ATIntegrationManager.AnyThinkNetworkName)) - { - return IOS_NETWORK_FILES_PARENT_PATH + networkName; //Core network在本地的目录名称首字母是大写 - } - // else if (networkName.Equals("Pangle")) + var networkName = network.Name.ToLower(); + var country = network.Country; + // if (isCoreNetwork(networkName)) // { - // //获取SDK版本 - // // Network coreNework = ATPluginSetting.Instance.CoreNetwork; - // // if (coreNework != null && coreNework.CurrentVersions != null) - // // { - // // string iosSdkVersion = coreNework.CurrentVersions.Ios; - // // string compareVersion = "6.1.78"; - // // ATLog.log("getIosNetworkPath() >>> iosSdkVersion: " + iosSdkVersion); - // // VersionComparisonResult comparisonResult = ATDataUtil.CompareVersions(iosSdkVersion, compareVersion); - // // if (comparisonResult == VersionComparisonResult.Lesser) //小于6.1.78 - // // { - // // string pangleName = isSelectedChina() ? "pangle_China" : "pangle_nonChina"; - // // ATLog.log("getIosNetworkPath() >>> pangleName: " + pangleName); - // // return IOS_NETWORK_FILES_PARENT_PATH + pangleName; - // // } - // // } - // string pangleName = isSelectedChina() ? "pangle_China" : "pangle_nonChina"; - // // ATLog.log("getIosNetworkPath() >>> pangleName: " + pangleName); - // return IOS_NETWORK_FILES_PARENT_PATH + pangleName; + // return IOS_NETWORK_FILES_PARENT_PATH; + // } else { // } - else if (networkName.Equals("MyTarget")) - { - return IOS_NETWORK_FILES_PARENT_PATH + networkName; + return country == CHINA_COUNTRY ? IOS_NETWORK_FILES_PARENT_PATH + networkName : NONCHINA_IOS_NETWORK_FILES_PARENT_PATH + networkName; + } + + + public static int getSelectedCountry() { + var pluginSettingData = getPluginSettingData(); + if (pluginSettingData != null) { + return pluginSettingData.curCountry; } - return defaultResult; + return CHINA_COUNTRY; } - public static bool isSelectedChina() - { - return getLocalCountry() == CHINA_COUNTRY; + + public static bool isCoreNetwork(string networkName) { + return Equals(networkName.ToLower(), ATIntegrationManager.AnyThinkNetworkName.ToLower()); } - public static string[] getNetworkFilesPath(string networkName, int country) - { - // if (networkName.Equals(ATIntegrationManager.AnyThinkNetworkName)) { - // return new string[]{ANYTHINK_SDK_FILES_PATH}; - // } - string[] filesPath = new string[2]; - filesPath[0] = getAndroidNetworkPath(networkName, country); - filesPath[1] = getIosNetworkPath(networkName); - return filesPath; - } + //查找本地是否有已安装network,并进行版本赋值 + public static void initNetworkLocalData(Network network) { + var networkDataFileName = network_data_file_name; + var androidPath = getAndroidNetworkPath(network); + var iosPath = getIosNetworkPath(network); - private static bool isInstalledByPath(string path) - { - if (Directory.Exists(path)) - { - string[] files = Directory.GetFiles(path); - return files != null && files.Length > 0; + var androidDataFile = Path.Combine(androidPath, networkDataFileName); + var iosDataFile = Path.Combine(iosPath, networkDataFileName); + + var curVersions = network.CurrentVersions; + if (curVersions == null) { + curVersions = new Versions(); } - return false; + + if (File.Exists(androidDataFile)) { + string a_json = File.ReadAllText(androidDataFile); + var a_data = JsonUtility.FromJson(a_json); + curVersions.Android = a_data.version; + } + + if (File.Exists(iosDataFile)) { + string i_json = File.ReadAllText(iosDataFile); + var i_data = JsonUtility.FromJson(i_json); + curVersions.Ios = i_data.version; + } + network.CurrentVersions = curVersions; } - // private void OnEnable() - // { - // EditorApplication.quitting += Save; - // } + //当前是否选择国内地区 + public static bool isSelectedChina() { + var pluginSettingData = getPluginSettingData(); + if (pluginSettingData != null) { + return pluginSettingData.curCountry == CHINA_COUNTRY; + } + return true; + } - // private void OnDisable() - // { - // EditorApplication.quitting -= Save; - // } + //获取admob app id + public static string getAdmobAppIdByOs(int os) { + var pluginSettingData = getPluginSettingData(); + var settingData = pluginSettingData.getCountrySettingData(); + return settingData.getAdmobAppId(os); + } - // private void Save() - // { - // // EditorPrefs.SetInt("MySetting", 1); // 保存您的EditorPrefs数据 - // PlayerPrefs.Save(); // 确保数据已被保存到磁盘上 - // } + public static bool enableAndroidX() { + var pluginSettingData = getPluginSettingData(); + return pluginSettingData.getCountrySettingData().enableAndroidX; + } + + //获取默认选中的地区 + public static int getDefCountry() { + string version = PLUGIN_VERSION; + int lastIndex = version.LastIndexOf('.'); + + if (lastIndex != -1) + { + //2.1.0:是区分国内海外的插件,2.1.01:后缀多了1,是只有海外的插件 + string lastPart = version.Substring(lastIndex + 1); + if (lastPart.Length == 2) { + return NONCHINA_COUNTRY; + } + } + return CHINA_COUNTRY; + } + + public static string[] getCountryArray() { + // new string[] { "ChinaMainland", "Overseas" } + string version = PLUGIN_VERSION; + int lastIndex = version.LastIndexOf('.'); + + if (lastIndex != -1) + { + //2.1.0:是区分国内海外的插件,2.1.01:后缀多了1,是只有海外的插件 + string lastPart = version.Substring(lastIndex + 1); + if (lastPart.Length == 2) { + return new string[] { "Overseas" }; + } + } + return new string[] { "ChinaMainland", "Overseas" }; + } + + public static string getRegionIntegrateTip() + { + //Tips: If ChinaMainland and Oversea are integrated at the same time, there will be compilation conflicts, whether it is Android or iOS platform. + //Currently, the Android platform integrates ChinaMainland and Oversea at the same time, which may cause compilation errors or other errors. + var pluginSettingData = getPluginSettingData(); + if (pluginSettingData == null) { + return ""; + } + var sb = new StringBuilder(); + sb.Append("Tips: Currently, "); + var android_tip = false; + if (pluginSettingData.isBothInstallAndroid()) { + sb.Append("the Android platform "); + android_tip = true; + } + var ios_tip = false; + if (pluginSettingData.isBothInstallIOS()) { + if (android_tip) { + sb.Append("and "); + } + sb.Append("iOS platform "); + ios_tip = true; + } + + if (android_tip || ios_tip) { + sb.Append("integrates ChinaMainland and Oversea at the same time, which may cause compilation error or other errors."); + return sb.ToString(); + } else { + return ""; + } + } } } \ No newline at end of file diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfig.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfig.cs.meta index 7f80ed6..b5781d2 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfig.cs.meta +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfig.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cceee32f5d81d45d2969563d041f6183 +guid: 6bfb7071ec4964e539ff5cf42d38b69c MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset.cs deleted file mode 100644 index f3bc0f3..0000000 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset.cs +++ /dev/null @@ -1,105 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Xml.Linq; -using UnityEditor; -using UnityEngine; -using UnityEngine.Networking; -using UnityEngine.Serialization; -// using Newtonsoft.Json; - -namespace AnyThink.Scripts.Assets -{ - - public class ConfigData { - public int localCountry = 1; - public Dictionary installedNetworkVersion = new Dictionary(); - } - - public class ATConfigAsset - { - public string filePath = "Assets/AnyThinkPlugin/Resources/ATConfigData.json"; - - private static readonly object lockObject = new object(); // 创建一个静态对象作为锁 - - private static ATConfigAsset instance; - private ConfigData configData; - - private ATConfigAsset() { - - } - - public static ATConfigAsset Instance - { - get - { - if (instance == null) - { - instance = new ATConfigAsset(); - } - - return instance; - } - } - - public int getLocalCountry() { - getJsonFile(); - return Instance.configData.localCountry; - } - - public void setLocalCountry(int country) { - configData.localCountry = country; - updateJsonFile(); - } - - public void saveInstalledNetworkVersion(string key, string version) - { - configData.installedNetworkVersion[key] = version; - ATLog.log("updateJsonFile() >>> saveInstalledNetworkVersion: key = " + key + " version = " + version); - updateJsonFile(); - } - - public void removeInstalledNetworkVersion(string key) - { - ATLog.log("updateJsonFile() >>> removeInstalledNetworkVersion: key = " + key); - if (configData.installedNetworkVersion.ContainsKey(key)) { - configData.installedNetworkVersion.Remove(key); - } - updateJsonFile(); - } - - public string getInstalledNetworkVersion(string key) - { - getJsonFile(); - if (Instance.configData.installedNetworkVersion.ContainsKey(key)) { - return Instance.configData.installedNetworkVersion[key]; - } - return ""; - } - - private void updateJsonFile() { - // lock(lockObject) { - // if (configData == null) { - // configData = new ConfigData(); - // } - // string json = JsonConvert.SerializeObject(configData); - // System.IO.File.WriteAllText(filePath, json); - // ATLog.log("updateJsonFile() >>> json: " + json); - // } - } - - private void getJsonFile() { - // lock(lockObject) { - // if (!Directory.Exists(filePath)) { - // configData = new ConfigData(); - // updateJsonFile(); - // } - // string jsonString = System.IO.File.ReadAllText(filePath); - // ATLog.log("getJsonFile() >>> jsonString: " + jsonString); - // Instance.configData = JsonConvert.DeserializeObject(jsonString); - // } - } - } -} \ No newline at end of file diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset.cs.meta deleted file mode 100644 index 4a0a90a..0000000 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b7c1b7fbe91a24b29883c3b8d420768f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset2.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset2.cs deleted file mode 100644 index cc67717..0000000 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset2.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Text.RegularExpressions; -using UnityEditor; -using UnityEngine; -using UnityEngine.Serialization; - -namespace AnyThink.Scripts.Assets -{ - [Serializable] - public class SerializableDictionary : Dictionary - { - } - - public class ATConfigAsset2 : ScriptableObject - { - public const string SettingsExportPath = "Assets/AnyThinkPlugin/Resources/Assets/ATConfigData.asset"; - - private static ATConfigAsset2 instance; - - public static ATConfigAsset2 Instance - { - get - { - if (instance == null) - { - string settingsFilePath = SettingsExportPath; - var settingsDir = Path.GetDirectoryName(settingsFilePath); - if (!Directory.Exists(settingsDir)) - { - Directory.CreateDirectory(settingsDir); - } - - // instance = AssetDatabase.LoadAssetAtPath(settingsFilePath); - instance = Resources.Load(settingsFilePath); - if (instance != null) return instance; - - instance = CreateInstance(); - AssetDatabase.CreateAsset(instance, settingsFilePath); - } - - return instance; - } - } - - [SerializeField] SerializableDictionary installedNetworkVersion = new SerializableDictionary(); - // [SerializeField] string installedNetworkVersionJson = string.Empty; - [SerializeField] int localCountry = 1; - - public int LocalCountry - { - get { return Instance.localCountry; } - set { Instance.localCountry = value; } - } - - public void saveInstalledNetworkVersion(string key, string version) - { - Instance.installedNetworkVersion[key] = version; - } - - public void removeInstalledNetworkVersion(string key) - { - if (Instance.installedNetworkVersion.ContainsKey(key)) { - Instance.installedNetworkVersion.Remove(key); - } - } - - public string getInstalledNetworkVersion(string key) - { - if (Instance.installedNetworkVersion.ContainsKey(key)) { - return Instance.installedNetworkVersion[key]; - } - return ""; - } - - public void SaveAsync() - { - EditorUtility.SetDirty(instance); - } - } -} \ No newline at end of file diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset2.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset2.cs.meta deleted file mode 100644 index a6e7aad..0000000 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATConfigAsset2.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0542dcc5ae60d457286171ded8d8f526 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATDataUtil.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATDataUtil.cs index 034806b..a43d0e8 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATDataUtil.cs +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATDataUtil.cs @@ -12,9 +12,6 @@ namespace AnyThink.Scripts.IntegrationManager.Editor { public class ATDataUtil { - // private static string LAST_SELECT_COUNTRY_KEY = "country_key"; //当前选择的country - // public static Network[] chinaNetworks; - // public static Network[] nonChinaNetworks; public static Network coreNetwork; @@ -26,21 +23,69 @@ namespace AnyThink.Scripts.IntegrationManager.Editor bool isChinaCountry = isChina(country); ServerNetworks serverNetworks = JsonUtility.FromJson(netowrksJson); + + Network network = pluginData.anyThink; + if (network == null) { + return null; + } + var android_version = pluginData.requestParams.androidVersion; + var ios_version = pluginData.requestParams.iosVersion; + + var androidSdkVersionList = serverNetworks.android_sdk; + var iosSdkVersionList = serverNetworks.ios_sdk; + + ServerNetworkSdk androidNeworkSdk = null; + if (!string.IsNullOrEmpty(android_version)) { + foreach(ServerNetworkSdk sdk in androidSdkVersionList) { + if (Equals(sdk.version, android_version)) { + androidNeworkSdk = sdk; + } + } + } + + ServerNetworkSdk iosNeworkSdk = null; + if (!string.IsNullOrEmpty(ios_version)) { + foreach(ServerNetworkSdk sdk in iosSdkVersionList) { + if (Equals(sdk.version, ios_version)) { + iosNeworkSdk = sdk; + } + } + } + ATLog.log("parseNetworksJson() >>> androidNeworkSdk: " + androidNeworkSdk + " iosNeworkSdk: " + iosNeworkSdk); + ServerNetworkInfo[] serverNetworkInfoList; - Network[] networks; - if (isChinaCountry) - { - serverNetworkInfoList = serverNetworks.ChinaSdk; - networks = formatServerNetworks(pluginData, country, serverNetworkInfoList); - // networks = chinaNetworks; + Network[] networks = mergeAndroidIosNetworks(getServerNetworkInfo(isChinaCountry, androidNeworkSdk, ATConfig.OS_ANDROID), getServerNetworkInfo(isChinaCountry, iosNeworkSdk, ATConfig.OS_IOS)); + Array.Sort(networks); + ATLog.log("parseNetworksJson() >>> networks.Length: " + networks.Length); + //处理本地已安装过的Core和Network数据 + var countrySettingData = pluginData.pluginSettingData.getCountrySettingData(); + + List networkList = new List(); + foreach(var item in networks) { + if (Equals(item.Name, ATIntegrationManager.AnyThinkNetworkName)) { + network.Name = item.Name; + network.DisplayName = item.DisplayName; + network.AndroidDownloadUrl = item.AndroidDownloadUrl; + network.iOSDownloadloadUrl = item.iOSDownloadloadUrl; + network.PluginFileName = item.PluginFileName; + //本地是否有安装core + var version = network.CurrentVersions; + if (version == null) { + version = new Versions(); + } + version.Android = countrySettingData.android_version; + version.Ios = countrySettingData.ios_version; + network.CurrentVersions = version; + network.LatestVersions = item.LatestVersions; + } else { + // ATLog.log("parseNetworksJson() >>> lastAndroidVersion: " + item.LatestVersions.Android + " lastIosVerion: " + item.LatestVersions.Ios); + //本地是否有安装network + ATConfig.initNetworkLocalData(item); + networkList.Add(item); + } } - else - { - serverNetworkInfoList = serverNetworks.GlobalSdk; - networks = formatServerNetworks(pluginData, country, serverNetworkInfoList); - // networks = nonChinaNetworks; - } - return networks; + + return networkList.ToArray(); } catch (Exception e) { @@ -58,12 +103,21 @@ namespace AnyThink.Scripts.IntegrationManager.Editor try { var pluginData = new PluginData(); - // var anythink = new Network(); + ServerPluginVersion serverPluginVersion = JsonUtility.FromJson(serverPluginVersionJson); - pluginData.networkUrlVersion = serverPluginVersion.networkUrlVersion; - pluginData.country = ATConfig.getLocalCountry(); - // pluginData.country = 1; + + pluginData.androidVersions = serverPluginVersion.android_versions; + pluginData.iosVersions = serverPluginVersion.ios_versions; pluginData.pluginVersion = serverPluginVersion.pluginVersion; + // 初始化本地的core包数据 + var settingData = ATConfig.getPluginSettingData(); + if (settingData == null) { + settingData = new PluginSettingData(); + ATConfig.savePluginSettingData(settingData); + } + pluginData.country = settingData.curCountry; + pluginData.pluginSettingData = settingData; + pluginData.anyThink = initCoreNetworkWithLocalData(settingData); return pluginData; } catch (Exception e) @@ -75,209 +129,129 @@ namespace AnyThink.Scripts.IntegrationManager.Editor return null; } - public static Network[] formatServerNetworks(PluginData pluginData, int country, ServerNetworkInfo[] networkInfoList) - { - if (networkInfoList == null || networkInfoList.Length == 0) - { - return null; + public static Network initCoreNetworkWithLocalData(PluginSettingData settingData) { + var network = new Network(); + var versions = new Versions(); + var countryData = settingData.getCountrySettingData(); + if (countryData != null) { + versions.Android = countryData.android_version; + versions.Ios = countryData.ios_version; } - int length = networkInfoList.Length; - List networkList = new List(); - - for (int i = 0; i < length; i++) - { - Network network = new Network(); - ServerNetworkInfo serverInfo = networkInfoList[i]; - network.Name = serverInfo.name; - network.DisplayName = serverInfo.displayName; - network.DownloadUrl = serverInfo.downloadUrl; - network.PluginFileName = serverInfo.pluginFileName; - Versions latestVersion = new Versions(); - ServerNetworkVersion serverVersion = serverInfo.versions; - if (serverVersion != null) - { - latestVersion.Android = serverVersion.android; - latestVersion.Ios = serverVersion.ios; - latestVersion.Unity = serverVersion.unity; - } - network.LatestVersions = latestVersion; - - networkList.Add(network); - } - Network coreNetwork = networkList.First(n => n.Name.Equals(ATIntegrationManager.AnyThinkNetworkName)); - //先初始化core network - if (coreNetwork != null) - { - // 获取当前已安装network的版本号 - Versions curVerions = ATConfig.getInstalledNetworkVersion(coreNetwork.Name, country); - Versions latestVersion = coreNetwork.LatestVersions; - if (latestVersion == null) - { - latestVersion = new Versions(); - } - latestVersion.Unity = pluginData.pluginVersion; - coreNetwork.LatestVersions = latestVersion; - ATLog.log("coreNetwork latestVersion: " + latestVersion + " curVerions: " + curVerions); - if (curVerions != null) - { - coreNetwork.CurrentVersions = curVerions; - coreNetwork.CurrentToLatestVersionComparisonResult = getVersionComparisonResult(curVerions, latestVersion, false); - } - - ATPluginSetting.Instance.CoreNetwork = coreNetwork; - } - networkList.Remove(coreNetwork); - //后初始化network - foreach (var network in networkList) - { - Versions curVerion = ATConfig.getInstalledNetworkVersion(network.Name, country); - network.CurrentVersions = curVerion; - VersionComparisonResult result = getVersionComparisonResult(curVerion, network.LatestVersions, true); - ATLog.log("formatServerNetworks() >>> compareResult: " + result); - network.CurrentToLatestVersionComparisonResult = result; - } - - Network[] networks = (Network[])networkList.ToArray(); - //排序 - Array.Sort(networks); - return networks; + network.CurrentVersions = versions; + network.Country = settingData.curCountry; + return network; } - // public bool isChina() - // { - // int result = EditorPrefs.GetInt(LAST_SELECT_COUNTRY_KEY, 1); - // return result == 1; - // } + public static ServerNetworkInfo[] getServerNetworkInfo(bool isChina, ServerNetworkSdk serverNetworks, int os) { + if (serverNetworks == null) { + return null; + } + if (isChina) { + return serverNetworks.network_list.china; + } else { + return serverNetworks.network_list.nonchina; + } + } + + private static IEnumerable GetUniqueNetworkInfo(ServerNetworkInfo[] androidNetworks, ServerNetworkInfo[] iosNetworks) + { + // Android独有的 + var uniqueToAndroid = androidNetworks.Where(a => !iosNetworks.Any(i => i.name == a.name)); + + // iOS独有的 + var uniqueToIos = iosNetworks.Where(i => !androidNetworks.Any(a => a.name == i.name)); + + // 合并结果 + return uniqueToAndroid.Concat(uniqueToIos); + } + + //合并Android和iOS的network数据 + public static Network[] mergeAndroidIosNetworks(ServerNetworkInfo[] androidNetworks, ServerNetworkInfo[] iosNetworks) + { + int a_length = 0; + int i_length = 0; + if (androidNetworks != null) { + a_length = androidNetworks.Length; + } + if (iosNetworks != null) { + i_length = iosNetworks.Length; + } + ATLog.log("mergeAndroidIosNetworks() >>> a_length: " + a_length + " i_length: " + i_length); + + int max_length = Math.Max(a_length, i_length); + int min_length = Math.Min(a_length, i_length); + + var externalNetworks = androidNetworks; + var internalNetworks = iosNetworks; + if (a_length < i_length) { + externalNetworks = iosNetworks; + internalNetworks = androidNetworks; + } + + List networkList = new List(); + ATLog.log("mergeAndroidIosNetworks() >>> max_length: " + max_length + " min_length: " + min_length); + for (int i = 0; i < max_length; i++) { + var network = new Network(); + var iNetwork = externalNetworks[i]; + if (min_length == 0) { + //只有集成一个平台 + network = flatServerNetwork(iNetwork, network); + networkList.Add(network); + } else { + //合并相同的network + for (int j = 0; j < min_length; j++) { + var jNetwork = internalNetworks[j]; + if (Equals(iNetwork.name, jNetwork.name)) { + network = flatServerNetwork(iNetwork, network); + network = flatServerNetwork(jNetwork, network); + networkList.Add(network); + } + } + } + } + //过滤平台的唯一network + if (i_length > 0 && a_length > 0) { + var serverNetworkInfos = GetUniqueNetworkInfo(androidNetworks, iosNetworks); + foreach (var serverNetworkInfo in serverNetworkInfos) + { + var network = new Network(); + networkList.Add(flatServerNetwork(serverNetworkInfo, network)); + } + } + + return networkList.ToArray(); + } + + //后台下载数据转换成本地数据 + public static Network flatServerNetwork(ServerNetworkInfo serverInfo, Network network) + { + network.Name = serverInfo.name; + network.DisplayName = serverInfo.displayName; + network.Country = serverInfo.country; + network.PluginFileName = serverInfo.pluginFileName; + + var versions = network.LatestVersions; + if (versions == null) { + versions = new Versions(); + } + if (serverInfo.os == ATConfig.OS_ANDROID) { //Android + network.AndroidDownloadUrl = serverInfo.downloadUrl; + versions.Android = serverInfo.version; + } else { //iOS + network.iOSDownloadloadUrl = serverInfo.downloadUrl; + versions.Ios = serverInfo.version; + } + ATLog.log("flatServerNetwork() >>> name: " + network.Name + " androidVersion: " + versions.Android + " iosVersion: " + versions.Ios); + network.LatestVersions = versions; + return network; + } public static bool isChina(int country) { return country == ATConfig.CHINA_COUNTRY; } - public static VersionComparisonResult getVersionComparisonResult(Versions curVersion, Versions latestVersion, bool isNetwork = false) - { - if (curVersion == null || latestVersion == null) - { - return VersionComparisonResult.Equal; - } - string curUnity = curVersion.Unity; - string latestUnity = latestVersion.Unity; - string curAndroid = curVersion.Android; - string latestAndroid = latestVersion.Android; - string curIos = curVersion.Ios; - string latestIos = latestVersion.Ios; - VersionComparisonResult compareVersionResult = VersionComparisonResult.Equal; - if (isNetwork) - { - if (string.IsNullOrEmpty(curUnity) || string.IsNullOrEmpty(latestUnity)) - { - return VersionComparisonResult.Equal; - } - compareVersionResult = CompareUnityMediationVersions(curVersion.Unity, latestVersion.Unity); - } - else - { - var unityVersionComparison = CompareVersions(curUnity, latestUnity); - var androidVersionComparison = CompareVersions(curAndroid, latestAndroid); - var iosVersionComparison = CompareVersions(curIos, latestIos); - - if (unityVersionComparison == VersionComparisonResult.Equal && - androidVersionComparison == VersionComparisonResult.Equal && - iosVersionComparison == VersionComparisonResult.Equal) - { - compareVersionResult = VersionComparisonResult.Equal; - } - else if (unityVersionComparison == VersionComparisonResult.Lesser || - androidVersionComparison == VersionComparisonResult.Lesser || - iosVersionComparison == VersionComparisonResult.Lesser) - { - compareVersionResult = VersionComparisonResult.Lesser; - } - else - { - compareVersionResult = VersionComparisonResult.Greater; - } - } - return compareVersionResult; - } - - // public static long compareVersionToInt(string currentVersion, string currentNewVersion) - // { - // if (currentVersion == null || currentVersion.Length == 0 - // || currentNewVersion == null || currentNewVersion.Length == 0) - // { - // return 0; - // } - - // ATLog.log("compareVersionToInt() >>> before curVersion: " + currentVersion + " curNewVersion: " + currentNewVersion); - // string curVersion = currentVersion.Replace(".", "").Replace("_", "").Replace("android", "").Replace("ios", "").Replace(" ", ""); - // string curNewVersion = currentNewVersion.Replace(".", "").Replace("_", "").Replace("android", "").Replace("ios", "").Replace(" ", ""); - // ATLog.log("compareVersionToInt() >>> after curVersion: " + curVersion + " curNewVersion: " + curNewVersion); - // long intCurVersion = long.Parse(curVersion); - // long intNewVersion = long.Parse(curNewVersion); - // return intNewVersion - intCurVersion; - // } - - //比较Unity集成的版本 - public static VersionComparisonResult CompareUnityMediationVersions(string versionA, string versionB) - { - if (versionA.Equals(versionB)) return VersionComparisonResult.Equal; - - // Unity version would be of format: android_w.x.y.z_ios_a.b.c.d - // For Android only versions it would be: android_w.x.y.z - // For iOS only version it would be: ios_a.b.c.d - - // After splitting into their respective components, the versions would be at the odd indices. - var versionAComponents = versionA.Split('_').ToList(); - var versionBComponents = versionB.Split('_').ToList(); - - var androidComparison = VersionComparisonResult.Equal; - if (versionA.Contains("android") && versionB.Contains("android")) - { - var androidVersionA = versionAComponents[1]; - var androidVersionB = versionBComponents[1]; - androidComparison = CompareVersions(androidVersionA, androidVersionB); - - // Remove the Android version component so that iOS versions can be processed. - versionAComponents.RemoveRange(0, 2); - versionBComponents.RemoveRange(0, 2); - } - else if (versionA.Contains("android")) - { - androidComparison = VersionComparisonResult.Greater; - - // Remove the Android version component so that iOS versions can be processed. - versionAComponents.RemoveRange(0, 2); - } - else if (versionB.Contains("android")) - { - androidComparison = VersionComparisonResult.Lesser; - - // Remove the Android version component so that iOS version can be processed. - versionBComponents.RemoveRange(0, 2); - } - - var iosComparison = VersionComparisonResult.Equal; - if (versionA.Contains("ios") && versionB.Contains("ios")) - { - var iosVersionA = versionAComponents[1]; - var iosVersionB = versionBComponents[1]; - iosComparison = CompareVersions(iosVersionA, iosVersionB); - } - else if (versionA.Contains("ios")) - { - iosComparison = VersionComparisonResult.Greater; - } - else if (versionB.Contains("ios")) - { - iosComparison = VersionComparisonResult.Lesser; - } - - - // If either one of the Android or iOS version is greater, the entire version should be greater. - return (androidComparison == VersionComparisonResult.Greater || iosComparison == VersionComparisonResult.Greater) ? VersionComparisonResult.Greater : VersionComparisonResult.Lesser; - } //只比较Android、iOS public static VersionComparisonResult CompareVersions(string versionA, string versionB) { @@ -286,22 +260,6 @@ namespace AnyThink.Scripts.IntegrationManager.Editor return VersionComparisonResult.Equal; } - // var versionAComponents = versionA.Replace(".", ""); - // var versionBComponents = versionB.Replace(".", ""); - // var charArrayA = versionAComponents.ToCharArray(); - // var charArrayB = versionBComponents.ToCharArray(); - - // for(var i = 0; i < charArrayA.Length; i++) - // { - // var aVersion = 0; - // int.TryParse(charArrayA[i].ToString(), out aVersion); - // var bVersion = 0; - // int.TryParse(charArrayB[i].ToString(), out bVersion); - - // if (aVersion < bVersion) return VersionComparisonResult.Lesser; - // if (aVersion > bVersion) return VersionComparisonResult.Greater; - // } - try { var aVersionArrays = versionA.Split('.'); @@ -338,47 +296,43 @@ namespace AnyThink.Scripts.IntegrationManager.Editor ATLog.logError("CompareVersions failed: " + e.Message); } - // // Split the version string into beta component and the underlying version. - // int piece; - - // // Compare the non beta component of the version string. - // var versionAComponents = versionA.Split('.').Select(version => int.TryParse(version, out piece) ? piece : 0).ToArray(); - // var versionBComponents = versionB.Split('.').Select(version => int.TryParse(version, out piece) ? piece : 0).ToArray(); - // var length = Mathf.Max(versionAComponents.Length, versionBComponents.Length); - // for (var i = 0; i < length; i++) - // { - // var aComponent = i < versionAComponents.Length ? versionAComponents[i] : 0; - // var bComponent = i < versionBComponents.Length ? versionBComponents[i] : 0; - - // if (aComponent < bComponent) return VersionComparisonResult.Lesser; - - // if (aComponent > bComponent) return VersionComparisonResult.Greater; - // } - return VersionComparisonResult.Equal; } } - //后端下发的Plugin、android、iOS版本号 + //下发的插件数据:{"pluginVersion": "2.1.0", "platformName": "AnyThink", "ios_versions": ["6.2.88"], "android_versions": ["6.2.93"]} [Serializable] public class ServerPluginVersion { public string platformName; - public string networkUrlVersion; + // public string networkUrlVersion; public string pluginVersion; - public string androidVersion; - public string iosVersion; - public string[] versionList; + public string[] android_versions; + public string[] ios_versions; } [Serializable] public class ServerNetworks { - public ServerNetworkInfo[] GlobalSdk; - public ServerNetworkInfo[] ChinaSdk; - public string platformName; - public string version; + public string plugin_version; + public ServerNetworkSdk[] ios_sdk; + public ServerNetworkSdk[] android_sdk; } + + [Serializable] + public class ServerNetworkSdk + { + public string version; + public ServerNetworkListObj network_list; + } + + [Serializable] + public class ServerNetworkListObj + { + public ServerNetworkInfo[] china; + public ServerNetworkInfo[] nonchina; + } + [Serializable] public class ServerNetworkInfo { @@ -386,7 +340,10 @@ namespace AnyThink.Scripts.IntegrationManager.Editor public string displayName; public string downloadUrl; public string pluginFileName; - public ServerNetworkVersion versions; + public string version; + public int os; + public int country; + // public ServerNetworkVersion versions; } [Serializable] public class ServerNetworkVersion diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATDataUtil.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATDataUtil.cs.meta index b891f96..3c46f4e 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATDataUtil.cs.meta +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATDataUtil.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 576fff4f2b7dd423684961e90cf9e6d5 +guid: ca6f64ad482de4a5aa184f487313de57 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATDownloadHandler.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATDownloadHandler.cs.meta index ae87191..9c6067f 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATDownloadHandler.cs.meta +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATDownloadHandler.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6e94dc3c256ae4d7b93f6dc4d2fe1b72 +guid: 95bc78f07c0814a968d38ba189ba7ed4 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATEditorCoroutine.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATEditorCoroutine.cs.meta index a9b76e8..4783a05 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATEditorCoroutine.cs.meta +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATEditorCoroutine.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: bd7ab13837946459a934fb64b4a54f7b +guid: 1c2384eee7cf4456e9d116ab275c07b5 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManager.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManager.cs index 63dd131..f301008 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManager.cs +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManager.cs @@ -11,6 +11,8 @@ using UnityEngine; using UnityEngine.Networking; using UnityEditor.PackageManager.Requests; using UnityEditor.PackageManager; +using System.Threading.Tasks; +using System.Threading; namespace AnyThink.Scripts.IntegrationManager.Editor { @@ -18,15 +20,13 @@ namespace AnyThink.Scripts.IntegrationManager.Editor { public static ATIntegrationManager Instance = new ATIntegrationManager(); - private UnityWebRequest downloadPluginRequest; + // private UnityWebRequest downloadPluginRequest; private const string AnyThinkAds = "AnyThinkAds"; //AnyThink的unity插件 public static string AnyThinkNetworkName = "Core"; - private const string ATSdkAssetExportPath = "AnyThinkAds/Script/"; - public static readonly string GradleTemplatePath = Path.Combine("Assets/Plugins/Android", "mainTemplate.gradle"); - public static readonly string DefaultPluginExportPath = Path.Combine("Assets", AnyThinkAds); + private PluginData mPluginData; private ATIntegrationManager() { @@ -35,57 +35,14 @@ namespace AnyThink.Scripts.IntegrationManager.Editor public void CancelDownload() { - if (downloadPluginRequest == null) return; + // if (downloadPluginRequest == null) return; - downloadPluginRequest.Abort(); - } - - public IEnumerator loadNetworksData(PluginData pluginData, Action callback) - { - if (pluginData == null) - { - callback(null); - } - else - { - var networksRequest = UnityWebRequest.Get(ATNetInfo.getNetworkListUrl(pluginData.networkUrlVersion)); - var webRequest = networksRequest.SendWebRequest(); - while (!webRequest.isDone) - { - yield return new WaitForSeconds(0.1f); - } - -#if UNITY_2020_1_OR_NEWER - if (networksRequest.result != UnityWebRequest.Result.Success) -#elif UNITY_2017_2_OR_NEWER - if (networksRequest.isNetworkError || networksRequest.isHttpError) -#else - if (networksRequest.isError) -#endif - { - Debug.Log("loadNetworksData failed."); - callback(pluginData); - } - else - { - //解析network列表的版本数据 - string netowrksJson = networksRequest.downloadHandler.text; - pluginData.mediatedNetworks = ATDataUtil.parseNetworksJson(pluginData, netowrksJson); - //初始化AnyThink的core network - Network coreNetwork = ATPluginSetting.Instance.CoreNetwork; - if (coreNetwork != null) - { - pluginData.anyThink = coreNetwork; - } - ATLog.log("loadNetworksData() >>> mediatedNetworks: " + pluginData.mediatedNetworks); - callback(pluginData); - } - } + // downloadPluginRequest.Abort(); } public IEnumerator loadPluginData(Action callback) { - var anythinkVersionRequest = UnityWebRequest.Get(ATNetInfo.getPluginConfigUrl()); + var anythinkVersionRequest = UnityWebRequest.Get(ATNetInfo.getPluginConfigUrl(ATConfig.PLUGIN_VERSION)); var webRequest = anythinkVersionRequest.SendWebRequest(); while (!webRequest.isDone) { @@ -108,60 +65,55 @@ namespace AnyThink.Scripts.IntegrationManager.Editor //解析Anythink的版本数据 string anythinkVersionJson = anythinkVersionRequest.downloadHandler.text; PluginData pluginData = ATDataUtil.parsePluginDataJson(anythinkVersionJson); - Debug.Log("loadPluginData succeed. country: " + pluginData.country); + Debug.Log("loadPluginData succeed. country: " + pluginData.country + " androidVersions: " + + pluginData.androidVersions + " iosVersions: " + pluginData.iosVersions); + mPluginData = pluginData; callback(pluginData); } } - //默认下载core包,在下载完network的数据时。 - public void downloadCorePlugin(PluginData pluginData) + public IEnumerator loadNetworksData(PluginData pluginData, Action callback) { - Network network = pluginData.anyThink; - int country = pluginData.country; - - if (network == null) - { - return; - } - ATLog.log("downloadCorePlugin() >>> networkName: " + network.Name + " country: " + country); - bool isInstalled = ATConfig.isNetworkInstalled(network.Name, country); - ATLog.log("downloadCorePlugin() >>> isInstalled: " + isInstalled); - if (!isInstalled) - { - downloadPlugin(network); - // ATEditorCoroutine.startCoroutine(downloadPluginWithEnumerator(network, false)); - } else { - handlerVersionAdapter(pluginData); - } - } - public void networkInstallOrUpdate(PluginData pluginData, Network network) - { - bool uninstall = true; - if (pluginData != null) + Network network = pluginData.anyThink; + if (pluginData == null) { - Network coreNetwork = pluginData.anyThink; - if (coreNetwork != null) - { - if (coreNetwork.isReqiureUpdate()) //network有更新,并且core包也有更新,则更新core包,然后core包更新完,会自动去更新全部network - { - uninstall = false; - network = coreNetwork; - } - } + callback(null); } - int country = ATConfig.getLocalCountry(); - if (ATConfig.isNetworkInstalled(network.Name, country)) - { - if (uninstall) - { - uninstallNetwork(network, country); - } - downloadPlugin(network); + else if (pluginData.requestParams == null) { + ATLog.log("loadNetworksData() >>> pluginData.requestParams is null"); + callback(pluginData); } else { - downloadPlugin(network); + var networksRequest = UnityWebRequest.Get(ATNetInfo.getNetworkListUrl(ATConfig.PLUGIN_VERSION)); + var webRequest = networksRequest.SendWebRequest(); + while (!webRequest.isDone) + { + yield return new WaitForSeconds(0.1f); + } + +#if UNITY_2020_1_OR_NEWER + if (networksRequest.result != UnityWebRequest.Result.Success) +#elif UNITY_2017_2_OR_NEWER + if (networksRequest.isNetworkError || networksRequest.isHttpError) +#else + if (networksRequest.isError) +#endif + { + Debug.Log("loadNetworksData failed."); + callback(pluginData); + } + else + { + //解析network列表的版本数据 + string netowrksJson = networksRequest.downloadHandler.text; + ATLog.log("loadNetworksData() >>> netowrksJson: " + netowrksJson); + pluginData.mediatedNetworks = ATDataUtil.parseNetworksJson(pluginData, netowrksJson); + ATLog.log("loadNetworksData() >>> mediatedNetworks: " + pluginData.mediatedNetworks); + mPluginData = pluginData; + callback(pluginData); + } } } @@ -171,28 +123,32 @@ namespace AnyThink.Scripts.IntegrationManager.Editor /// Network for which to download the current version. /// Whether or not to show the import window when downloading. Defaults to true. /// - public void downloadPlugin(Network network, bool showImport = true) + public void downloadPlugin(Network network, int os =1, bool showImport = false) { - ATEditorCoroutine.startCoroutine(downloadPluginWithEnumerator(network, showImport)); + ATEditorCoroutine.startCoroutine(downloadPluginWithEnumerator(network, os, showImport)); } - public IEnumerator downloadPluginWithEnumerator(Network network, bool showImport = true) + public IEnumerator downloadPluginWithEnumerator(Network network, int os, bool showImport) { - ATLog.log("downloadPluginWithEnumerator() >>> network: " + network); - if (downloadPluginRequest != null) - { - downloadPluginRequest.Dispose(); - } - var path = Path.Combine(Application.temporaryCachePath, ATAssetDatabaseManager.Instance.GetPluginFileName(network)); + ATLog.log("downloadPluginWithEnumerator() >>> networkName: " + network.Name + " os: " + os); + // if (downloadPluginRequest != null) + // { + // downloadPluginRequest.Dispose(); + // } + var path = Path.Combine(Application.temporaryCachePath, network.PluginFileName); ATLog.log("downloadPluginWithEnumerator() >>> path: " + path); #if UNITY_2017_2_OR_NEWER var downloadHandler = new DownloadHandlerFile(path); #else var downloadHandler = new ATDownloadHandler(path); #endif - downloadPluginRequest = new UnityWebRequest(network.DownloadUrl) + var downloadUrl = network.AndroidDownloadUrl; + if (os == ATConfig.OS_IOS) { - method = UnityWebRequest.kHttpVerbGET, + downloadUrl = network.iOSDownloadloadUrl; + } + UnityWebRequest downloadPluginRequest = new UnityWebRequest(downloadUrl) + { method = UnityWebRequest.kHttpVerbGET, downloadHandler = downloadHandler }; @@ -206,7 +162,8 @@ namespace AnyThink.Scripts.IntegrationManager.Editor yield return new WaitForSeconds(0.1f); // Just wait till downloadPluginRequest is completed. Our coroutine is pretty rudimentary. if (operation.progress != 1 && operation.isDone) { - CallDownloadPluginProgressCallback(network.DisplayName, operation.progress, operation.isDone); + // CallDownloadPluginProgressCallback(network.DisplayName, operation.progress, operation.isDone, os); + UpdateCurrentVersions(network, os); } } @@ -222,273 +179,270 @@ namespace AnyThink.Scripts.IntegrationManager.Editor } else { - CallDownloadPluginProgressCallback(network.DisplayName, 1, true); - // importingNetwork = network; - ATAssetDatabaseManager.Instance.importingNetwork = network; - AssetDatabase.Refresh(); AssetDatabase.ImportPackage(path, showImport); + UpdateCurrentVersions(network, os); + AssetDatabase.Refresh(); } downloadPluginRequest.Dispose(); downloadPluginRequest = null; } - private static void CallDownloadPluginProgressCallback(string pluginName, float progress, bool isDone) - { - var callback = ATAssetDatabaseManager.Instance.downloadPluginProgressCallback; - if (callback == null) return; + //默认下载core包,在下载完network的数据时。 + public void downloadCorePlugin(PluginData pluginData) + { + mPluginData = pluginData; + var requestParams = pluginData.requestParams; + var pluginSettingData = pluginData.pluginSettingData; - callback(pluginName, progress, isDone); + bool isIosInstalled = ATConfig.isCoreNetworkInstalled(pluginSettingData, ATConfig.OS_IOS); + bool isAndroidInstalled = ATConfig.isCoreNetworkInstalled(pluginSettingData, ATConfig.OS_ANDROID); + ATLog.log("downloadCorePlugin() >>> isIosInstalled: " + isIosInstalled + " isAndroidInstalled: " + isAndroidInstalled); + + Network network = pluginData.anyThink; + int os = requestParams.os; + if (os == ATConfig.OS_ANDROID) { + if (!isAndroidInstalled) { + downloadPlugin(network, os); + } else { + //判断是否需要切换SDK + var latestVersions = network.LatestVersions; + var curVersion = network.CurrentVersions; + if (latestVersions.Android != curVersion.Android) { + //先删除掉core包 + ATConfig.removeSdk(pluginData.country, os); + removeNetworkVersions(pluginData, os); + //赋值当前版本为空 + curVersion.Android = ""; + //重新下载core包 + downloadPlugin(network, os); + //重新下载已安装的network + redownloadNetworksPlugin(pluginData, os); + } + } + } else if (os == ATConfig.OS_IOS){ + if (!isIosInstalled) { + downloadPlugin(network, os); + } else { + //判断是否需要切换SDK + var latestVersions = network.LatestVersions; + var curVersion = network.CurrentVersions; + if (latestVersions.Ios != curVersion.Ios) { + //先删除掉core包 + ATConfig.removeSdk(pluginData.country, os); + removeNetworkVersions(pluginData, os); + //赋值当前版本为空 + curVersion.Ios = ""; + //重新下载core包 + downloadPlugin(network, os); + //重新下载已安装的network + redownloadNetworksPlugin(pluginData, os); + } + } + } } - // private static void CallImportPackageCompletedCallback(Network network) - // { - // ATLog.log("CallImportPackageCompletedCallback() >>> network: " + network); - // if (network != null) - // { - // ATConfig.saveInstalledNetworkVersion(network.Name, network.LatestVersions); - // } - // var callback = ATAssetDatabaseManager.Instance.importPackageCompletedCallback; - // if (callback == null) return; - // callback(network); - // } - - //更新network已安装的版本 - public void UpdateCurrentVersions(Network network) - { - if (network == null) - { + //当切换SDK版本时,需要重新下载已安装的network + private void redownloadNetworksPlugin(PluginData pluginData, int os) { + var mediatedNetworks = pluginData.mediatedNetworks; + var needInstallNetworkList = new List(); + foreach(Network network in mediatedNetworks) { + var currentVersion = network.CurrentVersions; + if (currentVersion != null) { + if (os == ATConfig.OS_ANDROID) { + if (!string.IsNullOrEmpty(currentVersion.Android)) { + needInstallNetworkList.Add(network); + } + } else { + if (!string.IsNullOrEmpty(currentVersion.Ios)) { + needInstallNetworkList.Add(network); + } + } + } + } + if (needInstallNetworkList.Count() == 0) { return; } - bool isCoreNetwork = network.Name.Equals(AnyThinkNetworkName); - Versions curVerions = ATConfig.getInstalledNetworkVersion(network.Name, ATConfig.getLocalCountry()); - network.CurrentVersions = curVerions; - network.CurrentToLatestVersionComparisonResult = ATDataUtil.getVersionComparisonResult(curVerions, network.LatestVersions, !isCoreNetwork); - // if (isCoreNetwork) - // { - // network.CurrentVersions.Unity = ATConfig.PLUGIN_VERSION; - // } - ATLog.log("UpdateCurrentVersions() >>> Name: " + network.Name + " latest Unity Version: " + network.LatestVersions.Unity); + Thread.Sleep(500); + ATEditorCoroutine.startCoroutine(UpgradeAllNetworks(needInstallNetworkList, os)); } - public void uninstallNetwork(Network network, int country) - { - foreach (var filePath in ATConfig.getNetworkFilesPath(network.Name, country)) + + private IEnumerator UpgradeAllNetworks(List networks, int os) { + EditorApplication.LockReloadAssemblies(); + foreach (var network in networks) { - if (Directory.Exists(filePath)) - { - FileUtil.DeleteFileOrDirectory(filePath); + + yield return downloadPluginWithEnumerator(network, os, false); + } + EditorApplication.UnlockReloadAssemblies(); + } + + public void networkInstallOrUpdate(PluginData pluginData, Network network, int os) + { + downloadPlugin(network, os); + } + + //更新network已安装的版本 + private void UpdateCurrentVersions(Network network, int os) + { + var latestVersions = network.LatestVersions; + var versions = network.CurrentVersions; + if (versions == null) { + versions = new Versions(); + } + if (os == ATConfig.OS_ANDROID) { + versions.Android = latestVersions.Android; + } else { + versions.Ios = latestVersions.Ios; + } + network.CurrentVersions = versions; + + // await Task.Delay(1000); + Thread.Sleep(1000); + //下面的逻辑会延迟一秒后执行,确保unitypackage先解压到本地 + ATConfig.saveInstalledNetworkVersion(network, os); + ATLog.log("UpdateCurrentVersions() >>> AndroidVersion: " + versions.Android); + //保存Core Networkde + if (ATConfig.isCoreNetwork(network.Name)) { + var countrySettingData = mPluginData.pluginSettingData.getCountrySettingData(); + if (os == ATConfig.OS_ANDROID) { + countrySettingData.android_version = latestVersions.Android; + } else { + countrySettingData.ios_version = latestVersions.Ios; } - if (File.Exists(filePath + ".meta")) - { - FileUtil.DeleteFileOrDirectory(filePath + ".meta"); + + ATConfig.savePluginSettingData(mPluginData.pluginSettingData); + } + // ATLog.log("UpdateCurrentVersions() >>> Name: " + network.Name + " latest Unity Version: " + network.LatestVersions.Unity); + } + + //点击了界面的network删除按钮 + public void uninstallNetwork(Network network, int os) + { + var result = ATConfig.removeInstalledNetwork(network, os); + if (result) { + if (os == ATConfig.OS_ANDROID){ + network.CurrentVersions.Android = ""; + } else { + network.CurrentVersions.Ios = ""; } } - ATConfig.removeInstalledNetworkVersion(network.Name, country); - UpdateCurrentVersions(network); } - public void updateAnyThinkPlugin(PluginData pluginData) - { - Network coreNetwork = pluginData.anyThink; - bool unityUpdate = ATDataUtil.CompareVersions(coreNetwork.CurrentVersions.Unity, pluginData.pluginVersion) == VersionComparisonResult.Lesser; - if (unityUpdate) - { - Application.OpenURL(ATNetInfo.getPluginDownloadUrl(pluginData.pluginVersion)); - // ATEditorCoroutine.startCoroutine(downloadAnyThinkPlugin(pluginData.pluginVersion)); - } - else - { - downloadPlugin(coreNetwork); - } + //切换国家 + public void switchCountry(PluginData pluginData, int country) { + pluginData.country = country; + + var pluginSettingData = pluginData.pluginSettingData; + pluginSettingData.curCountry = country; + + ATConfig.savePluginSettingData(pluginSettingData); } - public IEnumerator downloadAnyThinkPlugin(string pluginVersion) - { - Network network = new Network(); - network.Name = "AnyThinkPlugin"; - network.PluginFileName = ATNetInfo.getPluginFileName(pluginVersion); - network.DownloadUrl = ATNetInfo.getPluginDownloadUrl(pluginVersion); - //https://topon-sdk-release.oss-cn-hangzhou.aliyuncs.com/Unity/Plugin/2.0.0/AnyThinkPlugin_2.0.0.unitypackage - var path = Path.Combine(Application.temporaryCachePath, network.PluginFileName); - ATLog.log("downloadAnyThinkPlugin() >>> path: " + path); -#if UNITY_2017_2_OR_NEWER - var downloadHandler = new DownloadHandlerFile(path); -#else - var downloadHandler = new ATDownloadHandler(path); -#endif - var downloadPluginRequest = new UnityWebRequest(network.DownloadUrl) - { - method = UnityWebRequest.kHttpVerbGET, - downloadHandler = downloadHandler - }; + //获取AndroidX开关状态 + public bool enableAndroidX(PluginData pluginData) { + if (pluginData == null) { + return false; + } + var pluginSettingData = pluginData.pluginSettingData; + if (pluginSettingData == null) { + return false; + } + CountrySettingData countrySettingData = pluginSettingData.getCountrySettingData(); -#if UNITY_2017_2_OR_NEWER - var operation = downloadPluginRequest.SendWebRequest(); -#else - var operation = downloadPluginRequest.Send(); -#endif - while (!operation.isDone) - { - yield return new WaitForSeconds(0.1f); // Just wait till downloadPluginRequest is completed. Our coroutine is pretty rudimentary. - if (operation.progress != 1 && operation.isDone) - { - CallDownloadPluginProgressCallback(network.Name, operation.progress, operation.isDone); + return countrySettingData.enableAndroidX; + } + + //设置并保存AndroidX开关状态 + public void saveAndroidXSetting(PluginData pluginData, bool enable) { + ATLog.log("saveAndroidXSetting() >>> enable: " + enable); + var pluginSettingData = pluginData.pluginSettingData; + CountrySettingData countrySettingData = pluginSettingData.getCountrySettingData(); + countrySettingData.enableAndroidX = enable; + + ATConfig.savePluginSettingData(pluginSettingData); + } + + //根据系统判断Admob是否有安装 + public bool isAdmobInstalled(int os) { + return ATConfig.isNetworkInstalledByName("Admob", os); + } + + public string getAdmobAppIdByOs(PluginData pluginData, int os) { + if (pluginData == null) { + return ""; + } + //android_admob_app_id + var countrySettingData = pluginData.pluginSettingData.getCountrySettingData(); + return countrySettingData.getAdmobAppId(os); + } + + //设置保存Admob app id + public void setAdmobAppidByOs(PluginData pluginData, int os, string appId) { + if (pluginData == null || pluginData.pluginSettingData == null) { + return; + } + var countrySettingData = pluginData.pluginSettingData.getCountrySettingData(); + countrySettingData.setAdmobAppId(appId, os); + + ATConfig.savePluginSettingData(pluginData.pluginSettingData); + } + + //删除某个版本的SDK + public void deleteSdk(PluginData pluginData, string sdkVersion, int os) { + ATLog.log("deleteSdk() >>> sdkVersion: " + sdkVersion + " os: " + os); + //删除本地文件 + ATConfig.removeSdk(pluginData.country, os); + //修改UI显示 + removeNetworkVersions(pluginData, os, true); + var curVersions = pluginData.anyThink.CurrentVersions; + //修改sdk本地配置文件 + var pluginSettingData = pluginData.pluginSettingData; + CountrySettingData countrySettingData = pluginSettingData.getCountrySettingData(); + + if (os == ATConfig.OS_ANDROID) { + curVersions.Android = ""; + countrySettingData.android_version = ""; + } else { + curVersions.Ios = ""; + countrySettingData.ios_version = ""; + } + + ATConfig.savePluginSettingData(pluginSettingData); + } + + private void removeNetworkVersions(PluginData pluginData, int os, bool isDeleteSdk = false) { + if (isDeleteSdk) { + var mediatedNetworks = pluginData.mediatedNetworks; + if (mediatedNetworks != null && mediatedNetworks.Length > 0) { + foreach(Network network in mediatedNetworks) { + var currentVersion = network.CurrentVersions; + if (currentVersion != null) { + if (os == ATConfig.OS_ANDROID) { + currentVersion.Android = ""; + } else { + currentVersion.Ios = ""; + } + } + var latestVersions = network.LatestVersions; + if (latestVersions != null) { + if (os == ATConfig.OS_ANDROID) { + latestVersions.Android = ""; + } else { + latestVersions.Ios = ""; + } + } + } } - } - -#if UNITY_2020_1_OR_NEWER - if (downloadPluginRequest.result != UnityWebRequest.Result.Success) -#elif UNITY_2017_2_OR_NEWER - if (downloadPluginRequest.isNetworkError || downloadPluginRequest.isHttpError) -#else - if (downloadPluginRequest.isError) -#endif - { - ATLog.logError(downloadPluginRequest.error); - } - else - { - CallDownloadPluginProgressCallback(network.Name, 1, true); - // importingNetwork = network; - ATAssetDatabaseManager.Instance.importingNetwork = network; - AssetDatabase.Refresh(); - AssetDatabase.ImportPackage(path, false); - } - } - //处理插件版本,pangle、csj兼容问题 - public void handlerVersionAdapter(PluginData pluginData) { - string comparePluginVersion = "2.0.1"; - //插件版本>=2.0.1 - VersionComparisonResult comparisonResult = ATDataUtil.CompareVersions(pluginData.pluginVersion, comparePluginVersion); - if (comparisonResult == VersionComparisonResult.Equal || comparisonResult == VersionComparisonResult.Greater) { - Network coreNetwork = pluginData.anyThink; - bool isChina = ATConfig.isSelectedChina(); - if (isChina) { - //国内,Android需要把原来已安装的pangle目录删除掉,2.0.1插件后用csj作为目录 - string androidPanglePath = ATConfig.CHINA_ANDROID_NETWORK_FILES_PARENT_PATH + "pangle"; - deleteFilePath(androidPanglePath); + NetworkRequestParams requestParams = pluginData.requestParams; + if (requestParams == null) { + return; } - //海外,iOS需要把原来已安装的pangle_nonChina目录删除掉,2.0.1插件后用pangle作为目录 - string iOSNonChinaPanglePath = ATConfig.IOS_NETWORK_FILES_PARENT_PATH + "pangle_nonChina"; - //国内,iOS需要把原来已安装的pangle_China目录删除掉,2.0.1插件后用csj作为目录 - string iOSPanglePath = ATConfig.IOS_NETWORK_FILES_PARENT_PATH + "pangle_China"; - deleteFilePath(iOSNonChinaPanglePath); - deleteFilePath(iOSPanglePath); - } + if (os == ATConfig.OS_ANDROID) { //Android + requestParams.androidVersion = ""; + } else { + requestParams.iosVersion = ""; + } + } } - - private void deleteFilePath(string filePath) { - if (Directory.Exists(filePath)) - { - FileUtil.DeleteFileOrDirectory(filePath); - } - if (File.Exists(filePath + ".meta")) - { - FileUtil.DeleteFileOrDirectory(filePath + ".meta"); - } - } - } - - - [Serializable] - public class PluginData - { - public string networkUrlVersion; - public string pluginVersion; //插件版本 - public int country = ATConfig.CHINA_COUNTRY; //默认是1=china - public Network anyThink; - public Network[] mediatedNetworks; - } - - [Serializable] - public class Network : IComparable - { - // - // Sample network data: - // - // { - // "Name": "adcolony", - // "DisplayName": "AdColony", - // "DownloadUrl": "https://bintray.com/applovin/Unity-Mediation-Packages/download_file?file_path=AppLovin-AdColony-Adapters-Android-3.3.10.1-iOS-3.3.7.2.unitypackage", - // "PluginFileName": "AppLovin-AdColony-Adapters-Android-3.3.10.1-iOS-3.3.7.2.unitypackage", - // "DependenciesFilePath": "MaxSdk/Mediation/AdColony/Editor/Dependencies.xml", - // "LatestVersions" : { - // "Unity": "android_3.3.10.1_ios_3.3.7.2", - // "Android": "3.3.10.1", - // "Ios": "3.3.7.2" - // } - // } - // - - public string Name; - public string DisplayName; - public string DownloadUrl; - public string DependenciesFilePath; - public string PluginFileName; - public string[] PluginFilePaths; - public Versions LatestVersions; //最新版本 - public Versions CurrentVersions; //当前版本 - [NonSerialized] public VersionComparisonResult CurrentToLatestVersionComparisonResult = VersionComparisonResult.Equal; - // [NonSerialized] public bool RequiresUpdate = CurrentToLatestVersionComparisonResult == VersionComparisonResult.Lesser; - - public bool isReqiureUpdate() - { - return CurrentToLatestVersionComparisonResult == VersionComparisonResult.Lesser; - } - - public int CompareTo(Network other) - { - return this.DisplayName.CompareTo(other.DisplayName); - } - } - - ///

- /// A helper data class used to get current versions from Dependency.xml files. - /// - [Serializable] - public class Versions - { - - public string Unity; - - public string Android; - - public string Ios; - - public override bool Equals(object value) - { - var versions = value as Versions; - - return versions != null - && (Unity == null || Unity.Equals(versions.Unity)) - && (Android == null || Android.Equals(versions.Android)) - && (Ios == null || Ios.Equals(versions.Ios)); - } - - public bool HasEqualSdkVersions(Versions versions) - { - return versions != null && versions.Android == Android && versions.Ios == Ios; - } - - public override int GetHashCode() - { - return new { Unity, Android, Ios }.GetHashCode(); - } - - public Versions clone() - { - Versions cloneObj = new Versions(); - cloneObj.Android = Android; - cloneObj.Ios = Ios; - cloneObj.Unity = Unity; - - return cloneObj; - } - } - - public enum VersionComparisonResult - { - Lesser = -1, - Equal = 0, - Greater = 1 } } diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManager.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManager.cs.meta index b8881a9..314c0f8 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManager.cs.meta +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManager.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ca09ecd1405454636bb7d71caa70d821 +guid: 6db074a8f860d40e8b8fd6a1e459ec50 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManagerWindow.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManagerWindow.cs index 38d31bd..07a9c0c 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManagerWindow.cs +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManagerWindow.cs @@ -5,6 +5,8 @@ using System.Linq; using UnityEditor; using UnityEngine; using UnityEngine.UI; +using System.Collections.Generic; +using System.Text; namespace AnyThink.Scripts.IntegrationManager.Editor { @@ -23,15 +25,16 @@ namespace AnyThink.Scripts.IntegrationManager.Editor private GUIStyle wrapTextLabelStyle; private GUIStyle linkLabelStyle; private GUIStyle iconStyle; + private GUIStyle tipTextStyle; private Texture2D uninstallIcon; private Texture2D alertIcon; private Texture2D warningIcon; private Vector2 scrollPosition; - private static readonly Vector2 windowMinSize = new Vector2(750, 750); - private const float actionFieldWidth = 60f; + private static readonly Vector2 windowMinSize = new Vector2(850, 750); + private const float actionFieldWidth = 80f; private const float upgradeAllButtonWidth = 80f; - private const float networkFieldMinWidth = 100f; - private const float versionFieldMinWidth = 190f; + private const float networkFieldMinWidth = 200f; + private const float versionFieldMinWidth = 200f; private const float privacySettingLabelWidth = 200f; private const float networkFieldWidthPercentage = 0.22f; private const float versionFieldWidthPercentage = 0.36f; // There are two version fields. Each take 40% of the width, network field takes the remaining 20%. @@ -52,12 +55,15 @@ namespace AnyThink.Scripts.IntegrationManager.Editor private bool shouldShowGoogleWarning; private int curSelectCountryInt; // private int dropdownIndex = 0; + private int androidVersionPopupIndex; + private int iosVersionPopupIndex; public static void ShowManager() { var manager = GetWindow(utility: true, title: windowTitle, focus: true); manager.minSize = windowMinSize; + // manager.maxSize = windowMinSize; } //定义UI的Style private void Awake() @@ -99,6 +105,11 @@ namespace AnyThink.Scripts.IntegrationManager.Editor padding = new RectOffset(1, 1, 1, 1) }; + tipTextStyle = new GUIStyle(EditorStyles.label) + { + normal = { textColor = Color.yellow } + }; + // Load uninstall icon texture. var uninstallIconData = File.ReadAllBytes(ATSdkUtil.GetAssetPathForExportPath(uninstallIconExportPath)); uninstallIcon = new Texture2D(100, 100, TextureFormat.RGBA32, false); // 1. Initial size doesn't matter here, will be automatically resized once the image asset is loaded. 2. Set mipChain to false, else the texture has a weird blurry effect. @@ -114,25 +125,13 @@ namespace AnyThink.Scripts.IntegrationManager.Editor warningIcon = new Texture2D(100, 100, TextureFormat.RGBA32, false); warningIcon.LoadImage(warningIconData); - ATLog.log("Awake() >>> called"); - ATAssetDatabaseManager.Instance.downloadPluginProgressCallback = OnDownloadPluginProgress; - ATAssetDatabaseManager.Instance.importPackageCompletedCallback = OnImportPackageCompleted; - ATLog.log("OnEnable() >>> called"); loadPluginData(); } //这个方法在插件启动时会调用,然后脚本重新加载时也会重新调用,所以加载数据放在Awake中 private void OnEnable() { - if (ATAssetDatabaseManager.Instance.downloadPluginProgressCallback == null) - { - ATAssetDatabaseManager.Instance.downloadPluginProgressCallback = OnDownloadPluginProgress; - } - if (ATAssetDatabaseManager.Instance.importPackageCompletedCallback == null) - { - ATAssetDatabaseManager.Instance.importPackageCompletedCallback = OnImportPackageCompleted; - } } private void OnDisable() @@ -150,6 +149,10 @@ namespace AnyThink.Scripts.IntegrationManager.Editor AssetDatabase.SaveAssets(); } + private void OnDestroy() { + ATLog.log("OnDestroy() >>> called"); + } + private void OnGUI() { @@ -163,22 +166,22 @@ namespace AnyThink.Scripts.IntegrationManager.Editor { scrollPosition = scrollView.scrollPosition; GUILayout.Space(5); - EditorGUILayout.LabelField("Region (Only for Android, iOS is not affected by region)", titleLabelStyle); + // EditorGUILayout.LabelField("Region (Only for Android, iOS is not affected by region)", titleLabelStyle); + EditorGUILayout.LabelField("Region", titleLabelStyle); DrawCountryUI(); + DrawCountrySwitchTip(); + DrawAndroidXUI(); + DrawAdombAppId(); EditorGUILayout.LabelField("AnyThink Plugin Details", titleLabelStyle); //显示插件版本号 DrawPluginDetails(); - using (new EditorGUILayout.HorizontalScope(GUILayout.ExpandHeight(false))) - { - EditorGUILayout.LabelField("Mediated Networks", titleLabelStyle); - DrawUpgradeAllButton(); - } - // Draw mediated networks + //绘制SDK版本下架提示 + DrawSdkVersionOffTip(); + //绘制Networks DrawMediatedNetworks(); } if (GUI.changed) { - ATPluginSetting.Instance.SaveAsync(); AssetDatabase.SaveAssets(); } } @@ -208,22 +211,30 @@ namespace AnyThink.Scripts.IntegrationManager.Editor } } - private void OnImportPackageCompleted(Network network) - { - // var parentDirectory = network.Name.Equals(ATIntegrationManager.AnyThinkNetworkName) ? ATIntegrationManager.PluginParentDirectory : ATIntegrationManager.MediationSpecificPluginParentDirectory; - if (pluginData != null && network != null && network.Name.Equals(ATIntegrationManager.AnyThinkNetworkName)) - { - pluginData.anyThink = network; - ATPluginSetting.Instance.CoreNetwork = network; - //更新了core包,则自动更新全部network - if (NetworksRequireUpgrade()) - { - startUpgradeAllNetwork(); - } + public void DeleteSdkVersion(PluginData pluginData, int index, int os) { + var sdkVersion = pluginData.androidVersions[index]; + if (os == ATConfig.OS_IOS) { + sdkVersion = pluginData.iosVersions[index]; } - ATIntegrationManager.Instance.UpdateCurrentVersions(network); - // UpdateShouldShowGoogleWarningIfNeeded(); + ATIntegrationManager.Instance.deleteSdk(pluginData, sdkVersion, os); } + + public void ExChangeSDKVersion(PluginData pluginData, int index, int os) { + NetworkRequestParams requestParams = pluginData.requestParams; + if (requestParams == null) { + requestParams = new NetworkRequestParams(); + } + requestParams.os = os; + if (os == ATConfig.OS_ANDROID) { //Android + requestParams.androidVersion = pluginData.androidVersions[index]; + } else { + requestParams.iosVersion = pluginData.iosVersions[index]; + } + pluginData.requestParams = requestParams; + // ATLog.log("ExChangeSDKVersion() >>> versions.Android: " + versions.Android + " versions.Ios: " + versions.Ios); + loadNetworksData(pluginData); + } + //获取插件和SDK的版本数据 private void loadPluginData() { @@ -242,8 +253,15 @@ namespace AnyThink.Scripts.IntegrationManager.Editor ATLog.log("loadNetworksData() >>> pluginData: " + data); pluginData = data; pluginDataLoadFailed = false; - loadNetworksData(data); - // UpdateShouldShowGoogleWarningIfNeeded(); + + var versions = pluginData.anyThink.CurrentVersions; + if (versions != null) { + var requestParams = new NetworkRequestParams(); + requestParams.androidVersion = versions.Android; + requestParams.iosVersion = versions.Ios; + pluginData.requestParams = requestParams; + } + loadNetworksData(pluginData); } CalculateFieldWidth(); @@ -256,38 +274,17 @@ namespace AnyThink.Scripts.IntegrationManager.Editor ATEditorCoroutine.startCoroutine(ATIntegrationManager.Instance.loadNetworksData(pluginData, data => { pluginData = data; - ATIntegrationManager.Instance.downloadCorePlugin(data); + Network network = pluginData.anyThink; + if (!string.IsNullOrEmpty(network.AndroidDownloadUrl) || !string.IsNullOrEmpty(network.iOSDownloadloadUrl)) { + ATIntegrationManager.Instance.downloadCorePlugin(data); + } Repaint(); })); } - + //切换国家,重新加载数据 private void switchCountry(int country) { - // ATIntegrationManager.Instance.switchCountry(pluginData, country); - var originCountry = ATConfig.getLocalCountry(); - pluginData.country = country; - ATConfig.removeInstalledNetworkVersion(ATIntegrationManager.AnyThinkNetworkName, originCountry); - var networks = pluginData.mediatedNetworks; - if (networks != null) - { - foreach(var network in networks) - { - ATConfig.removeInstalledNetworkVersion(network.Name, originCountry); - } - } - ATConfig.saveLocalCountry(country); - //删除国内的core包和network - string anythinkAdsPath = ATConfig.ANYTHINK_SDK_FILES_PATH; - if (Directory.Exists(anythinkAdsPath)) - { - FileUtil.DeleteFileOrDirectory(anythinkAdsPath); - } - string metaFile = anythinkAdsPath + ".meta"; - if (File.Exists(metaFile)) - { - FileUtil.DeleteFileOrDirectory(metaFile); - } - // AssetDatabase.Refresh(); + ATIntegrationManager.Instance.switchCountry(pluginData, country); //重新开始走network loadPluginData(); } @@ -318,45 +315,61 @@ namespace AnyThink.Scripts.IntegrationManager.Editor { GUILayout.Space(5); - int countryInt = ATConfig.CHINA_COUNTRY; //默认是中国 + int countryInt = ATConfig.getDefCountry(); //默认是中国 if (pluginData != null) { countryInt = pluginData.country; } - string[] options = new string[] { "ChinaMainland", "Overseas" }; + string[] options = ATConfig.getCountryArray(); // 创建Dropdown组件 int curDropdownIndex = ATDataUtil.isChina(countryInt) ? 0 : 1; + if (options.Length == 1) { + curDropdownIndex = 0; + } int dropdownIndex = EditorGUILayout.Popup("Select Region:", curDropdownIndex, options); - curSelectCountryInt = dropdownIndex == 0 ? ATConfig.CHINA_COUNTRY : ATConfig.NONCHINA_COUNTRY; - //变化才设置 - if (pluginData != null && curSelectCountryInt != countryInt) - { - ATLog.log("DrawCountryUI() >>> curSelectCountryInt: " + curSelectCountryInt + " countryInt: " + countryInt); - //Unity需要更换Network - switchCountry(curSelectCountryInt); + if (options.Length > 1) { + curSelectCountryInt = dropdownIndex == 0 ? ATConfig.CHINA_COUNTRY : ATConfig.NONCHINA_COUNTRY; + //变化才设置 + if (pluginData != null && curSelectCountryInt != countryInt) + { + ATLog.log("DrawCountryUI() >>> curSelectCountryInt: " + curSelectCountryInt + " countryInt: " + countryInt); + //Unity需要更换Network + switchCountry(curSelectCountryInt); + } } GUILayout.Space(5); } GUILayout.Space(4); - DrawAndroidXUI(); // GUILayout.EndHorizontal(); } + private void DrawCountrySwitchTip() + { + var integratedTip = ATConfig.getRegionIntegrateTip(); + if (string.IsNullOrEmpty(integratedTip)) { + return; + } + GUILayout.Space(4); + // textStyle.fontStyle = FontStyle.Bold; + EditorGUILayout.LabelField(integratedTip, tipTextStyle); + GUILayout.Space(4); + } + private void DrawAndroidXUI() { - if (!ATDataUtil.isChina(curSelectCountryInt)) { + if (!ATConfig.isSelectedChina()) { return; } + EditorGUILayout.LabelField("AndroidX (Only for Android)", titleLabelStyle); GUILayout.Space(4); using (new EditorGUILayout.HorizontalScope("box")) { GUILayout.Space(5); - bool enableAndroidX = ATPluginSetting.Instance.EnableAndroidX; - + bool enableAndroidX = ATIntegrationManager.Instance.enableAndroidX(pluginData); string[] options = new string[] { "Disable", "Enable" }; // 创建Dropdown组件 int lastDropdownIndex = enableAndroidX ? 1 : 0; @@ -366,7 +379,7 @@ namespace AnyThink.Scripts.IntegrationManager.Editor if (curDropdownIndex != lastDropdownIndex) { ATLog.log("DrawAndroidXUI() >>> curDropdownIndex: " + curDropdownIndex + " lastDropdownIndex: " + lastDropdownIndex); - ATPluginSetting.Instance.EnableAndroidX = curDropdownIndex == 1; + ATIntegrationManager.Instance.saveAndroidXSetting(pluginData, curDropdownIndex == 1); } GUILayout.Space(5); } @@ -380,46 +393,109 @@ namespace AnyThink.Scripts.IntegrationManager.Editor using (new EditorGUILayout.VerticalScope("box")) { // Draw plugin version details - DrawHeaders("Platform", false); + DrawHeaders("Platform", true); + DrawPluginDetailRow("Unity Plugin", ATConfig.PLUGIN_VERSION, "", ""); if (pluginData == null) { - DrawEmptyPluginData(); + DrawEmptyPluginData("loading sdk data ..."); return; } + var anythink = pluginData.anyThink; - - // Immediately after downloading and importing a plugin the entire IDE reloads and current versions can be null in that case. Will just show loading text in that case. - if (pluginData.anyThink == null || pluginData.anyThink.CurrentVersions == null || pluginData.anyThink.LatestVersions == null) - { - DrawEmptyPluginData(); + var android_version = ""; + var ios_version = ""; + if (anythink != null) { + android_version = anythink.CurrentVersions.Android; + ios_version = anythink.CurrentVersions.Ios; } - else + //绘制Android + using (new EditorGUILayout.HorizontalScope()) { - ATLog.log("DrawPluginDetails() >>> anythink.CurrentVersions: " + anythink.CurrentVersions + " LatestVersions: " + anythink.LatestVersions); - // Check if a newer version is available to enable the upgrade button. + GUILayout.Space(5); + EditorGUILayout.LabelField(new GUIContent("Android"), networkWidthOption); + EditorGUILayout.LabelField(new GUIContent(android_version), versionWidthOption); + GUILayout.Space(3); - DrawPluginDetailRow("Unity 3D", anythink.CurrentVersions.Unity, pluginData.pluginVersion); - DrawPluginDetailRow("Android", anythink.CurrentVersions.Android, anythink.LatestVersions.Android); - DrawPluginDetailRow("iOS", anythink.CurrentVersions.Ios, anythink.LatestVersions.Ios); + string[] androidVersions = pluginData.androidVersions; + if (androidVersions != null && androidVersions.Length > 0) { + List androidVersionsInt = new List(); + int androidLength = androidVersions.Length; + for (int i = 0; i < androidLength; i = i + 1) + { + androidVersionsInt.Add(i); + } - // BeginHorizontal combined with FlexibleSpace makes sure that the button is centered horizontally. - GUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - - //检查插件和Android、iOS的原生sdk是否需要更新,如果其中之一需要都显示更新按钮 - GUI.enabled = anythink.isReqiureUpdate(); - if (GUILayout.Button(new GUIContent("Upgrade"), fieldWidth)) - { - //点击更新按钮的操作 - ATIntegrationManager.Instance.updateAnyThinkPlugin(pluginData); + // 创建Dropdown组件 + androidVersionPopupIndex = EditorGUILayout.IntPopup(androidVersionPopupIndex, androidVersions, androidVersionsInt.ToArray(), versionWidthOption); + GUILayout.FlexibleSpace(); + string selectedAndroidVersion = androidVersions[androidVersionPopupIndex]; + string action = "Exchange"; + if (!string.IsNullOrEmpty(android_version) && Equals(android_version, selectedAndroidVersion)) { + action = "Delete"; + } + GUI.enabled = (!Equals(android_version, selectedAndroidVersion)) || action == "Delete"; + if (GUILayout.Button(new GUIContent(action), fieldWidth)) + { + //切换AndroidSDK版本 + if (action == "Delete") { + DeleteSdkVersion(pluginData, androidVersionPopupIndex, ATConfig.OS_ANDROID); + } else { + ExChangeSDKVersion(pluginData, androidVersionPopupIndex, ATConfig.OS_ANDROID); + } + } + GUI.enabled = true; + GUILayout.Space(5); + } else { + EditorGUILayout.LabelField(new GUIContent("loading..."), versionWidthOption); } - - GUI.enabled = true; - GUILayout.Space(5); - GUILayout.EndHorizontal(); - - GUILayout.Space(5); + + GUILayout.Space(3); } + //绘制iOS + using (new EditorGUILayout.HorizontalScope()) + { + GUILayout.Space(5); + EditorGUILayout.LabelField(new GUIContent("iOS"), networkWidthOption); + EditorGUILayout.LabelField(new GUIContent(ios_version), versionWidthOption); + GUILayout.Space(3); + + string[] iosVersions = pluginData.iosVersions; + if (iosVersions != null && iosVersions.Length > 0) { + List iosVersionsInt = new List(); + int androidLength = iosVersions.Length; + for (int i = 0; i < androidLength; i = i + 1) + { + iosVersionsInt.Add(i); + } + + // 创建Dropdown组件 + iosVersionPopupIndex = EditorGUILayout.IntPopup(iosVersionPopupIndex, iosVersions, iosVersionsInt.ToArray(), versionWidthOption); + GUILayout.FlexibleSpace(); + string selectedIosVersion = iosVersions[iosVersionPopupIndex]; + + string action = "Exchange"; + if (!string.IsNullOrEmpty(ios_version) && Equals(ios_version, selectedIosVersion)) { + action = "Delete"; + } + GUI.enabled = !Equals(ios_version, selectedIosVersion) || action == "Delete"; + if (GUILayout.Button(new GUIContent(action), fieldWidth)) + { + if (action == "Delete") { + DeleteSdkVersion(pluginData, iosVersionPopupIndex, ATConfig.OS_IOS); + } else { + ExChangeSDKVersion(pluginData, iosVersionPopupIndex, ATConfig.OS_IOS); + } + } + GUI.enabled = true; + GUILayout.Space(5); + } else { + EditorGUILayout.LabelField(new GUIContent("loading..."), versionWidthOption); + } + + GUILayout.Space(3); + } + + GUILayout.Space(4); #if !UNITY_2018_2_OR_NEWER EditorGUILayout.HelpBox("AnyThink Unity plugin will soon require Unity 2018.2 or newer to function. Please upgrade to a newer Unity version.", MessageType.Warning); @@ -430,6 +506,77 @@ namespace AnyThink.Scripts.IntegrationManager.Editor // GUILayout.EndHorizontal(); } + private void DrawSdkVersionOffTip() + { + if (pluginData == null) { + return; + } + var anythink = pluginData.anyThink; + if (anythink == null) { + return; + } + var android_version = ""; + var ios_version = ""; + if (anythink != null) { + android_version = anythink.CurrentVersions.Android; + ios_version = anythink.CurrentVersions.Ios; + //判断android版本是否版本列表中 + string[] androidVersions = pluginData.androidVersions; + string[] iosVersions = pluginData.iosVersions; + + //The currently installed Android version and io version have been offline + StringBuilder sb = new StringBuilder(); + sb.Append("Tips: The currently installed "); + + var android_version_off = false; + if (!string.IsNullOrEmpty(android_version) && androidVersions != null && androidVersions.Length > 0) { + if (!IsCharInStringArray(android_version, androidVersions)) { + sb.Append("Android version("); + sb.Append(android_version); + sb.Append(") "); + android_version_off = true; + } + } + var ios_version_off = false; + if (!string.IsNullOrEmpty(ios_version) && iosVersions != null && iosVersions.Length > 0) { + if (!IsCharInStringArray(ios_version, iosVersions)) { + if (android_version_off) { + sb.Append("and "); + } + sb.Append("iOS version("); + sb.Append(ios_version); + sb.Append(") "); + ios_version_off = true; + } + } + if (android_version_off || ios_version_off) { + sb.Append("have been offline, please install the latest version."); + GUILayout.Space(4); + EditorGUILayout.LabelField(sb.ToString(), tipTextStyle); + GUILayout.Space(4); + } else { + sb.Clear(); + } + } + } + + private bool IsCharInStringArray(string character, string[] array) + { + // 遍历数组中的每个字符串 + foreach (string str in array) + { + // 如果当前字符串包含指定的字符,则返回true + if (str == character) + { + return true; + } + } + + // 如果没有找到字符,则返回false + return false; + } + + private void DrawHeaders(string firstColumnTitle, bool drawAction) { using (new EditorGUILayout.HorizontalScope()) @@ -438,7 +585,7 @@ namespace AnyThink.Scripts.IntegrationManager.Editor EditorGUILayout.LabelField(firstColumnTitle, headerLabelStyle, networkWidthOption); EditorGUILayout.LabelField("Current Version", headerLabelStyle, versionWidthOption); GUILayout.Space(3); - EditorGUILayout.LabelField("Latest Version", headerLabelStyle, versionWidthOption); + EditorGUILayout.LabelField("SDK Versions", headerLabelStyle, versionWidthOption); GUILayout.Space(3); if (drawAction) { @@ -450,7 +597,25 @@ namespace AnyThink.Scripts.IntegrationManager.Editor GUILayout.Space(4); } - private void DrawEmptyPluginData() + + private void DrawPluginDetailRow(string platform, string currentVersion, string sdkversions, string actions) + { + using (new EditorGUILayout.HorizontalScope()) + { + GUILayout.Space(5); + EditorGUILayout.LabelField(new GUIContent(platform), networkWidthOption); + EditorGUILayout.LabelField(new GUIContent(currentVersion), versionWidthOption); + GUILayout.Space(3); + EditorGUILayout.LabelField(new GUIContent(sdkversions), versionWidthOption); + GUILayout.Space(3); + // EditorGUILayout.LabelField(new GUIContent(actions), versionWidthOption); + // GUILayout.Space(3); + } + + GUILayout.Space(4); + } + + private void DrawEmptyPluginData(string tip) { GUILayout.Space(5); @@ -476,242 +641,43 @@ namespace AnyThink.Scripts.IntegrationManager.Editor { GUILayout.Space(10); GUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - EditorGUILayout.LabelField("Loading data...", titleLabelStyle); - GUILayout.FlexibleSpace(); + // GUILayout.FlexibleSpace(); + EditorGUILayout.LabelField(tip, titleLabelStyle); + // GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.Space(10); } GUILayout.Space(5); } + //绘制Admob Id + private void DrawAdombAppId() { + var integrationManager = ATIntegrationManager.Instance; + bool isAdmobInstalledForAndroid = integrationManager.isAdmobInstalled(ATConfig.OS_ANDROID); + bool isAdmobInstalledForIos = integrationManager.isAdmobInstalled(ATConfig.OS_IOS); - private void DrawPluginDetailRow(string platform, string currentVersion, string latestVersion) - { - using (new EditorGUILayout.HorizontalScope()) - { + if (isAdmobInstalledForAndroid || isAdmobInstalledForIos) { + EditorGUILayout.LabelField("Admob AppId", titleLabelStyle); GUILayout.Space(5); - EditorGUILayout.LabelField(new GUIContent(platform), networkWidthOption); - EditorGUILayout.LabelField(new GUIContent(currentVersion), versionWidthOption); - GUILayout.Space(3); - EditorGUILayout.LabelField(new GUIContent(latestVersion), versionWidthOption); - GUILayout.Space(3); - } - - GUILayout.Space(4); - } - - private void DrawUpgradeAllButton() - { - GUI.enabled = NetworksRequireUpgrade(); - if (GUILayout.Button(new GUIContent("Upgrade All"), upgradeAllButtonFieldWidth)) - { - startUpgradeAllNetwork(); - } - - GUI.enabled = true; - GUILayout.Space(10); - } - - private bool NetworksRequireUpgrade() - { - if (pluginData == null || pluginData.mediatedNetworks == null) return false; - - var networks = pluginData.mediatedNetworks; - if (networks == null) - { - return false; - } - try - { - foreach (var network in networks) + using (new EditorGUILayout.VerticalScope("box")) { - if (network.CurrentVersions != null && !string.IsNullOrEmpty(network.CurrentVersions.Unity)) - { - ATLog.log("NetworksRequireUpgrade() >>> name: " + network.Name + " isReqiureUpdate: " + network.isReqiureUpdate() + - " curVersion: " + network.CurrentVersions.Unity + " latestVersion: " + network.LatestVersions.Unity); - network.CurrentToLatestVersionComparisonResult = ATDataUtil.getVersionComparisonResult(network.CurrentVersions, network.LatestVersions, true); - if (network.isReqiureUpdate()) - { - return true; - } - } - } - } - catch (Exception e) - { - ATLog.logError("NetworksRequireUpgrade failed: " + e.Message); - } - // return networks.Any(network => network.CurrentVersions != null && ATConfig.isNetworkInstalled(network.Name, ATConfig.getLocalCountry()) && network.isReqiureUpdate()); - return false; - } - - private void DrawMediatedNetworks() - { - GUILayout.BeginHorizontal(); - GUILayout.Space(10); - using (new EditorGUILayout.VerticalScope("box")) - { - DrawHeaders("Network", true); - - // Immediately after downloading and importing a plugin the entire IDE reloads and current versions can be null in that case. Will just show loading text in that case. - if (pluginData == null || pluginData.mediatedNetworks == null) - { - ATLog.log("DrawMediatedNetworks failed."); - DrawEmptyPluginData(); - } - else - { - var networks = pluginData.mediatedNetworks; - foreach (var network in networks) - { - DrawNetworkDetailRow(network); - } - GUILayout.Space(10); - } - } - - GUILayout.Space(5); - GUILayout.EndHorizontal(); - } - - private void DrawNetworkDetailRow(Network network) - { - if (network == null) return; - - string action; - var currentVersion = ""; - if (network.CurrentVersions != null) - { - currentVersion = network.CurrentVersions.Unity; - } - var latestVersion = network.LatestVersions.Unity; - bool isActionEnabled; - bool isInstalled; - - if (string.IsNullOrEmpty(currentVersion)) - { - action = "Install"; - currentVersion = "Not Installed"; - isActionEnabled = true; - isInstalled = false; - } - else - { - isInstalled = true; - // action = "Installed"; - // isActionEnabled = false; - // A newer version is available - var comparison = network.CurrentToLatestVersionComparisonResult; - if (comparison == VersionComparisonResult.Lesser) - { - action = "Upgrade"; - isActionEnabled = true; - } - // Current installed version is newer than latest version from DB (beta version) - else if (comparison == VersionComparisonResult.Greater) - { - action = "Installed"; - isActionEnabled = false; - } - // Already on the latest version - else - { - action = "Installed"; - isActionEnabled = false; - } - } - - GUILayout.Space(4); - using (new EditorGUILayout.HorizontalScope(GUILayout.ExpandHeight(false))) - { - GUILayout.Space(5); - EditorGUILayout.LabelField(new GUIContent(network.DisplayName), networkWidthOption); - EditorGUILayout.LabelField(new GUIContent(currentVersion), versionWidthOption); - GUILayout.Space(3); - EditorGUILayout.LabelField(new GUIContent(latestVersion), versionWidthOption); - GUILayout.Space(3); - GUILayout.FlexibleSpace(); - - if (network.isReqiureUpdate()) - { - GUILayout.Label(new GUIContent { image = alertIcon, tooltip = "Adapter not compatible, please update to the latest version." }, iconStyle); - } - // else if ((network.DisplayName.Equals("Admob") || network.DisplayName.Equals("GOOGLE_AD_MANAGER_NETWORK")) && shouldShowGoogleWarning) - // { - // GUILayout.Label(new GUIContent { image = warningIcon, tooltip = "You may see unexpected errors if you use different versions of the AdMob and Google Ad Manager adapter SDKs." }, iconStyle); - // } - - GUI.enabled = networkButtonsEnabled && isActionEnabled; - if (GUILayout.Button(new GUIContent(action), fieldWidth)) - { - // Download the plugin.jkfjkfdani - // AppLovinEditorCoroutine.StartCoroutine(AppLovinIntegrationManager.Instance.DownloadPlugin(network)); - // ATIntegrationManager.Instance.downloadPlugin(network); - ATIntegrationManager.Instance.networkInstallOrUpdate(pluginData, network); - } - GUI.enabled = true; - GUILayout.Space(2); - - GUI.enabled = networkButtonsEnabled && isInstalled; - if (GUILayout.Button(new GUIContent { image = uninstallIcon, tooltip = "Uninstall" }, iconStyle)) - { - EditorUtility.DisplayProgressBar("Integration Manager", "Deleting " + network.Name + "...", 0.5f); - ATIntegrationManager.Instance.uninstallNetwork(network, pluginData.country); - //Refresh UI - AssetDatabase.Refresh(); - EditorUtility.ClearProgressBar(); - } - - GUI.enabled = true; - GUILayout.Space(5); - } - - if (isInstalled) - { - // Custom integration for AdMob where the user can enter the Android and iOS App IDs. - if (network.Name.Equals("Admob") && network.CurrentVersions != null) - { - // Custom integration requires Google AdMob adapter version newer than android_19.0.1.0_ios_7.57.0.0. - if (ATDataUtil.CompareUnityMediationVersions(network.CurrentVersions.Unity, "android_19.0.1.0_ios_7.57.0.0") == VersionComparisonResult.Greater) - { - GUILayout.BeginHorizontal(); - GUILayout.Space(20); - using (new EditorGUILayout.VerticalScope("box")) - { - string requiredVersion = "android_19.2.0.0_ios_7.61.0.0"; - string warningMessage = "The current version of AppLovin MAX plugin requires Google adapter version newer than " + requiredVersion + " to enable auto-export of AdMob App ID."; - // if (isPluginMoved) - // { - // requiredVersion = "android_19.6.0.1_ios_7.69.0.0"; - // warningMessage = "Looks like the MAX plugin has been moved to a different directory. This requires Google adapter version newer than " + requiredVersion + " for auto-export of AdMob App ID to work correctly."; - // } - // else - // { - // requiredVersion = "android_19.2.0.0_ios_7.61.0.0"; - // warningMessage = "The current version of AppLovin MAX plugin requires Google adapter version newer than " + requiredVersion + " to enable auto-export of AdMob App ID."; - // } - - GUILayout.Space(2); - if (ATDataUtil.CompareUnityMediationVersions(network.CurrentVersions.Unity, requiredVersion) == VersionComparisonResult.Greater) - { - ATPluginSetting.Instance.AdMobAndroidAppId = DrawTextField("App ID (Android)", ATPluginSetting.Instance.AdMobAndroidAppId, networkWidthOption); - ATPluginSetting.Instance.AdMobIosAppId = DrawTextField("App ID (iOS)", ATPluginSetting.Instance.AdMobIosAppId, networkWidthOption); - } - else - { - EditorGUILayout.HelpBox(warningMessage, MessageType.Warning); - } + if (isAdmobInstalledForAndroid) { + var androidAdmobAppId = DrawTextField("App ID (Android)", integrationManager.getAdmobAppIdByOs(pluginData, ATConfig.OS_ANDROID), networkWidthOption); + integrationManager.setAdmobAppidByOs(pluginData, ATConfig.OS_ANDROID, androidAdmobAppId); + } + if (isAdmobInstalledForIos) { + if (isAdmobInstalledForAndroid) { + GUILayout.Space(10); } - - GUILayout.EndHorizontal(); + var iosAdmobAppId = DrawTextField("App ID (iOS)", integrationManager.getAdmobAppIdByOs(pluginData, ATConfig.OS_IOS), networkWidthOption); + integrationManager.setAdmobAppidByOs(pluginData, ATConfig.OS_IOS, iosAdmobAppId); } } } } - private string DrawTextField(string fieldTitle, string text, GUILayoutOption labelWidth, GUILayoutOption textFieldWidthOption = null) + private string DrawTextField(string fieldTitle, string text, GUILayoutOption labelWidth, GUILayoutOption textFieldWidthOption = null) { GUILayout.BeginHorizontal(); GUILayout.Space(4); @@ -725,56 +691,165 @@ namespace AnyThink.Scripts.IntegrationManager.Editor return text; } - private bool DrawOtherSettingsToggle(bool value, string text) - { - using (new EditorGUILayout.HorizontalScope()) - { - GUILayout.Space(4); - var toggleValue = GUILayout.Toggle(value, text); - GUILayout.Space(4); - return toggleValue; - } - } - private void startUpgradeAllNetwork() + private void DrawMediatedNetworks() { - ATEditorCoroutine.startCoroutine(UpgradeAllNetworks()); - } - - private IEnumerator UpgradeAllNetworks() - { - networkButtonsEnabled = false; - EditorApplication.LockReloadAssemblies(); - var networks = pluginData.mediatedNetworks; - foreach (var network in networks) + GUILayout.Space(5); + EditorGUILayout.LabelField("Ad Networks", titleLabelStyle); + GUILayout.Space(5); + GUILayout.BeginHorizontal(); + using (new EditorGUILayout.VerticalScope("box")) { - // if (ATConfig.isNetworkInstalled(network.Name, ATConfig.getLocalCountry())) - // { - // ATLog.log("UpgradeAllNetworks() >>> name: " + network.Name + " isReqiureUpdate: " + network.isReqiureUpdate() + - // " curVersion: " + network.CurrentVersions.Unity + " latestVersion: " + network.LatestVersions.Unity); - // network.CurrentToLatestVersionComparisonResult = ATDataUtil.getVersionComparisonResult(network.CurrentVersions, network.LatestVersions, true); - // if (network.isReqiureUpdate()) - // { - // yield return ATIntegrationManager.Instance.downloadPluginWithEnumerator(network, false); - // } - // } - if (network.CurrentVersions != null && !string.IsNullOrEmpty(network.CurrentVersions.Unity)) + DrawHeaders("Network", true); + string clickTip = "You need to select an sdk version and click the Exchange button."; + // Immediately after downloading and importing a plugin the entire IDE reloads and current versions can be null in that case. Will just show loading text in that case. + if (pluginData == null) + { + ATLog.log("DrawMediatedNetworks failed."); + DrawEmptyPluginData("loading sdk data ..."); + } else if(pluginData.mediatedNetworks == null) { + DrawEmptyPluginData(clickTip); + } else { + var networks = pluginData.mediatedNetworks; + var length = networks.Length; + ATLog.log("DrawMediatedNetworks() >>> networks length: " + length); + if (length == 0) { + DrawEmptyPluginData(clickTip); + return; + } + int versionEmptyLength = 0; + foreach (var network in networks) { - ATLog.log("UpgradeAllNetworks() >>> name: " + network.Name + " isReqiureUpdate: " + network.isReqiureUpdate() + - " curVersion: " + network.CurrentVersions.Unity + " latestVersion: " + network.LatestVersions.Unity); - network.CurrentToLatestVersionComparisonResult = ATDataUtil.getVersionComparisonResult(network.CurrentVersions, network.LatestVersions, true); - if (network.isReqiureUpdate()) - { - yield return ATIntegrationManager.Instance.downloadPluginWithEnumerator(network, false); + if (network.isVersionEmpty()) { + // ATLog.log("DrawMediatedNetworks() >>> isVersionEmpty name: " + network.Name); + versionEmptyLength = versionEmptyLength + 1; + } else { + DrawNetworkDetailRow2(network); } } + ATLog.log("DrawMediatedNetworks() >>> versionEmptyLength: " + versionEmptyLength); + if (versionEmptyLength == length) { + DrawEmptyPluginData(clickTip); + } + + GUILayout.Space(10); + } } - EditorApplication.UnlockReloadAssemblies(); - networkButtonsEnabled = true; + GUILayout.Space(5); + GUILayout.EndHorizontal(); + } + //绘制network的每一行 + private void DrawNetworkDetailRow2(Network network) { + using (new EditorGUILayout.VerticalScope("box")) + { + GUILayout.Space(4); + string a_action = ""; + string i_action = ""; + string cur_a_version = ""; + string cur_i_version = ""; + string last_a_version = ""; + string last_i_version = ""; + if (network.CurrentVersions != null) + { + cur_a_version = network.CurrentVersions.Android; + cur_i_version = network.CurrentVersions.Ios; + } + if (network.LatestVersions != null) + { + last_a_version = network.LatestVersions.Android; + last_i_version = network.LatestVersions.Ios; + } + //Android Action按钮状态 + ATLog.log("DrawNetworkDetailRow2() >>> cur_a_version: " + cur_a_version + " last_i_version: " + last_i_version + + " name: " + network.DisplayName + " last_a_version: " + last_a_version); + if (string.IsNullOrEmpty(cur_a_version)) { + a_action = "Install"; + } else if (ATDataUtil.CompareVersions(cur_a_version, last_a_version) == VersionComparisonResult.Lesser) { + a_action = "Upgrade"; + } else if(ATDataUtil.CompareVersions(cur_a_version, last_a_version) == VersionComparisonResult.Equal) { + a_action = "Installed"; + } + bool hasAndroid = false; + if (!string.IsNullOrEmpty(last_a_version)) { + hasAndroid = true; + DrawRowNetwork(network, ATConfig.OS_ANDROID, cur_a_version, last_a_version, a_action, true); + } + //iOS Action按钮状态 + // var i_compare_result = ATDataUtil.CompareVersions(cur_i_version, last_i_version); + if (string.IsNullOrEmpty(cur_i_version)) { + i_action = "Install"; + } else if (ATDataUtil.CompareVersions(cur_i_version, last_i_version) == VersionComparisonResult.Lesser) { + i_action = "Upgrade"; + } else if(ATDataUtil.CompareVersions(cur_i_version, last_i_version) == VersionComparisonResult.Equal) { + i_action = "Installed"; + } + if (!string.IsNullOrEmpty(last_i_version)) { + DrawRowNetwork(network, ATConfig.OS_IOS, cur_i_version, last_i_version, i_action, !hasAndroid); + } + GUILayout.Space(4); + } + } - //The pluginData becomes stale after the networks have been updated, and we should re-load it. - loadPluginData(); + private void DrawRowNetwork(Network network, int os, string curVersion, string lastVersion, string action, bool isShowNetworkName) + { + GUILayout.Space(5); + if (os == ATConfig.OS_ANDROID) { + if (!string.IsNullOrEmpty(curVersion)) { + curVersion = "Android-" + curVersion; + } else { + curVersion = "Not Installed"; + } + lastVersion = "Android-" + lastVersion; + } else { + if (!string.IsNullOrEmpty(curVersion)) { + curVersion = "iOS-" + curVersion; + } else { + curVersion = "Not Installed"; + } + lastVersion = "iOS-" + lastVersion; + } + using (new EditorGUILayout.HorizontalScope(GUILayout.ExpandHeight(false))) + { + GUILayout.Space(5); + if (isShowNetworkName) { + EditorGUILayout.LabelField(new GUIContent(network.DisplayName), networkWidthOption); + } else { + EditorGUILayout.LabelField(new GUIContent(""), networkWidthOption); + } + + EditorGUILayout.LabelField(new GUIContent(curVersion), versionWidthOption); + GUILayout.Space(3); + EditorGUILayout.LabelField(new GUIContent(lastVersion), versionWidthOption); + GUILayout.Space(3); + GUILayout.FlexibleSpace(); + + if (network.isReqiureUpdate()) + { + GUILayout.Label(new GUIContent { image = alertIcon, tooltip = "Adapter not compatible, please update to the latest version." }, iconStyle); + } + + GUI.enabled = action != "Installed"; + if (GUILayout.Button(new GUIContent(action), fieldWidth)) + { + ATIntegrationManager.Instance.networkInstallOrUpdate(pluginData, network, os); + } + GUI.enabled = true; + GUILayout.Space(2); + + GUI.enabled = action == "Installed"; + if (GUILayout.Button(new GUIContent { image = uninstallIcon, tooltip = "Uninstall" }, iconStyle)) + { + EditorUtility.DisplayProgressBar("Integration Manager", "Deleting " + network.Name + "...", 0.5f); + ATIntegrationManager.Instance.uninstallNetwork(network, os); + //Refresh UI + AssetDatabase.Refresh(); + EditorUtility.ClearProgressBar(); + } + + GUI.enabled = true; + GUILayout.Space(5); + } } } } \ No newline at end of file diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManagerWindow.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManagerWindow.cs.meta index 01b6fd2..de189f8 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManagerWindow.cs.meta +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATIntegrationManagerWindow.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7466442bb0ff7449d8e1f8073567eb77 +guid: 06d48237d6b6443f1b7cb368fc134467 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATLog.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATLog.cs index 96c3c00..1f9aca4 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATLog.cs +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATLog.cs @@ -5,28 +5,33 @@ using System.Linq; using UnityEditor; using UnityEngine; -public class ATLog -{ - public static void log (string msg) +public class ATLog { + public static bool isDebug = false; + + public static void log(string msg) { -#if AnyThinkSDKEditor // string msg = - Debug.Log (msg); -#endif + if (isDebug) { + Debug.Log(msg); + } } - public static void log (string tag, string msg) + public static void log(string tag, string msg) { - Debug.Log (tag + ": " + msg); + if (isDebug) { + Debug.Log(tag + ": " + msg); + } } - public static void logFormat (string msg, object[] args) - { - Debug.LogFormat (msg, args); + public static void logFormat(string msg, object[] args) + { + if (isDebug) { + Debug.LogFormat(msg, args); + } } - public static void logError (string msg) + public static void logError(string msg) { - Debug.LogError (msg); + Debug.LogError(msg); } } \ No newline at end of file diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATLog.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATLog.cs.meta index 5909a20..b3349ca 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATLog.cs.meta +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATLog.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e034a99664fd34b1fbdbcb8a6bd2b21e +guid: 00b0a6e1f40684d3990b321d49f431b4 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATMenuItems.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATMenuItems.cs index 636e463..5781027 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATMenuItems.cs +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATMenuItems.cs @@ -7,16 +7,15 @@ namespace AnyThink.Scripts.IntegrationManager.Editor { public class AnyThinkMenuItems : MonoBehaviour { -#if AnyThinkSDKEditor /** - * The special characters at the end represent a shortcut for this action. - * - * % - ctrl on Windows, cmd on macOS - * # - shift - * & - alt - * - * So, (shift + cmd/ctrl + t) will launch the integration manager - */ + * The special characters at the end represent a shortcut for this action. + * + * % - ctrl on Windows, cmd on macOS + * # - shift + * & - alt + * + * So, (shift + cmd/ctrl + t) will launch the integration manager + */ [MenuItem("AnyThink/SDK Manager %#t")] private static void IntegrationManager() { @@ -34,6 +33,5 @@ namespace AnyThink.Scripts.IntegrationManager.Editor // } Application.OpenURL("https://newdocs.toponad.com/docs/lgfbO4"); } -#endif } } \ No newline at end of file diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATMenuItems.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATMenuItems.cs.meta index 452bcea..f30a96c 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATMenuItems.cs.meta +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATMenuItems.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 839a03939354b41358303d5e308e1530 +guid: 830af66d7a0ef48aeba18a35f3626b1a MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATNetInfo.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATNetInfo.cs index 36bef46..d50ec16 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATNetInfo.cs +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATNetInfo.cs @@ -9,36 +9,25 @@ using UnityEngine; namespace AnyThink.Scripts.IntegrationManager.Editor { public static class ATNetInfo { - public static string platformName = "AnyThink"; - public static string ATDownloadDir = "Assets/AnyThinkAds/Dependencies/"; - public static string ATDependencyDir = "Assets/AnyThinkAds/Plugins/"; - public static string sdk = "sdk"; - public static string Android = "Android"; - public static string iOS = "iOS"; - public static string localConfig = "Assets/AnyThinkPlugin/Editor/localConfig.json"; - private static string unityPluginConfigUrl = "https://topon-sdk-release.oss-cn-hangzhou.aliyuncs.com/Unity/unity_plugin_config.json"; //插件和nythink的版本号列表 - private static string unityPluginConfigUrlDebug = "https://topon-sdk-release.oss-cn-hangzhou.aliyuncs.com/Unity/unity_plugin_config_debug.json"; //插件和nythink的版本号列表 - public static string packagePath = "https://topon-sdk-release.oss-cn-hangzhou.aliyuncs.com/Unity/"; - public static int isGlobal=1; //0:国外 //1:国内 - - public static string getPluginConfigUrl() + //插件的配置文件:unity_plugin_config.json + public static string getPluginConfigUrl(String plugin_version) { - return ATConfig.isDebug ? unityPluginConfigUrlDebug : unityPluginConfigUrl; + return "https://topon-sdk-release.oss-cn-hangzhou.aliyuncs.com/Unity_Release/plugin/" + plugin_version + "/unity_plugin_config.json"; } - - public static string getNetworkListUrl(String ver) + //插件版本对应的network列表文件:unity_plugin_config_network.json + public static string getNetworkListUrl(String plugin_version) { - return "https://topon-sdk-release.oss-cn-hangzhou.aliyuncs.com/Unity/"+ver+"/network_new.json"; + return "https://topon-sdk-release.oss-cn-hangzhou.aliyuncs.com/Unity_Release/plugin/" + plugin_version + "/unity_plugin_config_network.json"; } - + //插件unitypackage名字 public static string getPluginFileName(string pluginVersion) { return "AnyThinkPlugin_" + pluginVersion + ".unitypackage"; } - //https://topon-sdk-release.oss-cn-hangzhou.aliyuncs.com/Unity/Plugin/2.0.0/AnyThinkPlugin_2.0.0.unitypackage + //插件unitypackage的下载链接 public static string getPluginDownloadUrl(string pluginVersion) { - return "https://topon-sdk-release.oss-cn-hangzhou.aliyuncs.com/Unity/Plugin/" + pluginVersion + "/" + getPluginFileName(pluginVersion); + return "https://topon-sdk-release.oss-cn-hangzhou.aliyuncs.com/Unity_Release/plugin/" + pluginVersion + "/" + getPluginFileName(pluginVersion); } } diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATNetInfo.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATNetInfo.cs.meta index 6fb479d..12f64cb 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATNetInfo.cs.meta +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATNetInfo.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e6b495c82aab14904a12916fb308a19f +guid: 65fa7225327184fcdbf3ec4d235585f9 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginLocalDataModel.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginLocalDataModel.cs new file mode 100644 index 0000000..34b408b --- /dev/null +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginLocalDataModel.cs @@ -0,0 +1,213 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Xml.Linq; +using UnityEditor; +using UnityEngine; +using UnityEngine.Networking; + +namespace AnyThink.Scripts.IntegrationManager.Editor +{ + [Serializable] + public class PluginData + { + public string pluginVersion; //插件版本 + public string[] androidVersions; + public string[] iosVersions; + public int country = ATConfig.getDefCountry(); //默认是1=china + public Network anyThink; + public Network[] mediatedNetworks; + public PluginSettingData pluginSettingData; + public NetworkRequestParams requestParams; + } + //请求network参数 + public class NetworkRequestParams { + public int os; + public string androidVersion; + public string iosVersion; + } + + [Serializable] + public class Network : IComparable + { + // + // Sample network data: + // + // { + // "Name": "adcolony", + // "DisplayName": "AdColony", + // "DownloadUrl": "https://bintray.com/applovin/Unity-Mediation-Packages/download_file?file_path=AppLovin-AdColony-Adapters-Android-3.3.10.1-iOS-3.3.7.2.unitypackage", + // "PluginFileName": "AppLovin-AdColony-Adapters-Android-3.3.10.1-iOS-3.3.7.2.unitypackage", + // "DependenciesFilePath": "MaxSdk/Mediation/AdColony/Editor/Dependencies.xml", + // "LatestVersions" : { + // "Unity": "android_3.3.10.1_ios_3.3.7.2", + // "Android": "3.3.10.1", + // "Ios": "3.3.7.2" + // } + // } + // + + public string Name; + public string DisplayName; + public string AndroidDownloadUrl; + public string iOSDownloadloadUrl; + // public string DependenciesFilePath; + public string PluginFileName; + public int Country; + public Versions LatestVersions; //最新版本 + public Versions CurrentVersions; //当前版本 + [NonSerialized] public VersionComparisonResult CurrentToLatestVersionComparisonResult = VersionComparisonResult.Equal; + // [NonSerialized] public bool RequiresUpdate = CurrentToLatestVersionComparisonResult == VersionComparisonResult.Lesser; + + public bool isVersionEmpty() { + if (LatestVersions != null) { + ATLog.log("isVersionEmpty() >>> name: " + Name + " android: " + LatestVersions.Android + " ios: " + LatestVersions.Ios); + return string.IsNullOrEmpty(LatestVersions.Android) && string.IsNullOrEmpty(LatestVersions.Ios); + } + return false; + } + + public bool isReqiureUpdate() + { + return CurrentToLatestVersionComparisonResult == VersionComparisonResult.Lesser; + } + + public int CompareTo(Network other) + { + return this.DisplayName.CompareTo(other.DisplayName); + } + + public string ToString() { + return DisplayName + "-" + AndroidDownloadUrl + "-" + iOSDownloadloadUrl + "-" + Country; + } + } + + /// + /// A helper data class used to get current versions from Dependency.xml files. + /// + [Serializable] + public class Versions + { + + public string Unity; + + public string Android; + + public string Ios; + + public override bool Equals(object value) + { + var versions = value as Versions; + + return versions != null + && (Unity == null || Unity.Equals(versions.Unity)) + && (Android == null || Android.Equals(versions.Android)) + && (Ios == null || Ios.Equals(versions.Ios)); + } + + public bool HasEqualSdkVersions(Versions versions) + { + return versions != null && versions.Android == Android && versions.Ios == Ios; + } + + public override int GetHashCode() + { + return new { Unity, Android, Ios }.GetHashCode(); + } + + public Versions clone() + { + Versions cloneObj = new Versions(); + cloneObj.Android = Android; + cloneObj.Ios = Ios; + cloneObj.Unity = Unity; + + return cloneObj; + } + } + + public enum VersionComparisonResult + { + Lesser = -1, + Equal = 0, + Greater = 1 + } + + //存在本地插件设置数据并序列化为json文件 + [Serializable] + public class PluginSettingData + { + public int curCountry = ATConfig.getDefCountry(); //当前选择的国家 + + public CountrySettingData china = new CountrySettingData(ATConfig.CHINA_COUNTRY); //国内地区 + public CountrySettingData nonchina = new CountrySettingData(ATConfig.NONCHINA_COUNTRY); //海外地区 + + public CountrySettingData getCountrySettingData() { + if (curCountry == ATConfig.CHINA_COUNTRY) { + return china; + } else { + return nonchina; + } + } + + //Android 是否同时安装了国内海外地区 + public bool isBothInstallAndroid() { + return !string.IsNullOrEmpty(china.android_version) && !string.IsNullOrEmpty(nonchina.android_version); + } + + //iOS 是否同时安装了国内海外地区 + public bool isBothInstallIOS() { + return !string.IsNullOrEmpty(china.ios_version) && !string.IsNullOrEmpty(nonchina.ios_version); + } + } + //已安装的sdk版本 + [Serializable] + public class CountrySettingData + { + + public string android_version; //当前已安装Android sdk的版本号 + + public string ios_version; //当前已安装的iOS sdk的版本号 + + public bool enableAndroidX = false; //当前的AndroidX设置 + + public int country; + + public string android_admob_app_id; + public string ios_admob_app_id; + + public CountrySettingData(int country) { + this.country = country; + if (country == ATConfig.NONCHINA_COUNTRY) { + this.enableAndroidX = true; + } + } + + public string getAdmobAppId(int os) { + if (os == ATConfig.OS_ANDROID) { + return android_admob_app_id; + } else { + return ios_admob_app_id; + } + } + + public void setAdmobAppId(string appId, int os) { + if (os == ATConfig.OS_ANDROID) { + android_admob_app_id = appId; + } else { + ios_admob_app_id = appId; + } + } + } + //存储在本地的Network json数据 + [Serializable] + public class NetworkLocalData + { + public string name; + public string version; + public int country; + public string path; + } +} \ No newline at end of file diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginLocalDataModel.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginLocalDataModel.cs.meta new file mode 100644 index 0000000..a9aa343 --- /dev/null +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginLocalDataModel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d888d00957103464ab5969e6a00d7ea4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginSetting.cs b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginSetting.cs deleted file mode 100644 index 17219c2..0000000 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginSetting.cs +++ /dev/null @@ -1,118 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Text.RegularExpressions; -using UnityEditor; -using UnityEngine; -using UnityEngine.Serialization; -using AnyThink.Scripts.IntegrationManager.Editor; -using Network = AnyThink.Scripts.IntegrationManager.Editor.Network; - -public class ATPluginSetting : ScriptableObject -{ - public const string SettingsExportPath = "Assets/AnyThinkPlugin/Resources/Assets/ATPluginSetting.asset"; - - private static ATPluginSetting instance; - [SerializeField] private string adMobAndroidAppId = string.Empty; - [SerializeField] private string adMobIosAppId = string.Empty; - - [SerializeField] private AnyThink.Scripts.IntegrationManager.Editor.Network coreNetwork = null; - - [SerializeField] private bool enableAndroidX = false; - - // [SerializeField] private int country = ATConfig.CHINA_COUNTRY; - - // [SerializeField] private Dictionary installedNetwork = new Dictionary(); - - public static ATPluginSetting Instance - { - get - { - if (instance == null) - { - var settingsDir = Path.GetDirectoryName(SettingsExportPath); - if (!Directory.Exists(settingsDir)) - { - Directory.CreateDirectory(settingsDir); - } - string settingsFilePath = SettingsExportPath; - - instance = AssetDatabase.LoadAssetAtPath(settingsFilePath); - if (instance != null) return instance; - - instance = CreateInstance(); - AssetDatabase.CreateAsset(instance, settingsFilePath); - // initCoreNetwork(); - } - - return instance; - } - } - - // private static void initCoreNetwork() - // { - // Versions curVerions = ATConfig.getInstalledNetworkVersion(ATIntegrationManager.AnyThinkNetworkName, ATConfig.getLocalCountry()); - // if (curVerions != null) - // { - // AnyThink.Scripts.IntegrationManager.Editor.Network coreNetwork = new AnyThink.Scripts.IntegrationManager.Editor.Network(); - // coreNetwork.CurrentVersions = curVerions; - // ATPluginSetting.Instance.CoreNetwork = coreNetwork; - // } - // } - - /// - /// AdMob Android App ID. - /// - public string AdMobAndroidAppId - { - get { return Instance.adMobAndroidAppId; } - set { Instance.adMobAndroidAppId = value; } - } - - /// - /// AdMob iOS App ID. - /// - public string AdMobIosAppId - { - get { return Instance.adMobIosAppId; } - set { Instance.adMobIosAppId = value; } - } - - public AnyThink.Scripts.IntegrationManager.Editor.Network CoreNetwork - { - get { return Instance.coreNetwork; } - set { Instance.coreNetwork = value; } - } - // public void saveInstalledNetwork(string networkName, int country, Versions versions) - // { - // string key = networkName + "_" + country; - // if (installedNetwork.ContainsKey(key)) - // { - // installedNetwork.Remove(key); - // } - // installedNetwork.Add(key, versions); - // SaveAsync(); - // } - - // public Versions getInstalledNetwork(string networkName, int country) - // { - // Versions versions; - // installedNetwork.TryGetValue(networkName + "_" + country, out versions); - // return versions; - // } - - /// - /// Saves the instance of the settings. - /// - public void SaveAsync() - { - EditorUtility.SetDirty(instance); - } - - public bool EnableAndroidX - { - get { return Instance.enableAndroidX; } - set { Instance.enableAndroidX = value; } - } -} diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginSetting.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginSetting.cs.meta deleted file mode 100644 index aad9753..0000000 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATPluginSetting.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 74c9441c35d2f47f8b9642d36ec88750 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATSdkUtil.cs.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATSdkUtil.cs.meta index fb683d7..aa7c793 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/ATSdkUtil.cs.meta +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/ATSdkUtil.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ef9c052202b484fba97a4a35ea42d7e6 +guid: faaeb0026391549249b6b8bb9b2c6078 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Script/IntegrationManager/Editor/AnyThinkPlugin.IntegrationManager.Editor.asmdef.meta b/AnyThinkPlugin/Script/IntegrationManager/Editor/AnyThinkPlugin.IntegrationManager.Editor.asmdef.meta index 14456f9..f2fdd17 100644 --- a/AnyThinkPlugin/Script/IntegrationManager/Editor/AnyThinkPlugin.IntegrationManager.Editor.asmdef.meta +++ b/AnyThinkPlugin/Script/IntegrationManager/Editor/AnyThinkPlugin.IntegrationManager.Editor.asmdef.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 87bccae0237fd4a41ac446d6636f95e0 +guid: 483a01338fa974b4498cd71261d6e8b9 AssemblyDefinitionImporter: externalObjects: {} userData: diff --git a/ExternalDependencyManager/Editor/1.2.177.meta b/ExternalDependencyManager/Editor/1.2.177.meta index 3f9d4b4..a6f462e 100644 --- a/ExternalDependencyManager/Editor/1.2.177.meta +++ b/ExternalDependencyManager/Editor/1.2.177.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3697373e91f5040d299759b1f6929bac +guid: 9ee3e98fba8c1468bbdf8cfa0803a7d8 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/ExternalDependencyManager/Editor/1.2.177/Google.IOSResolver.dll.meta b/ExternalDependencyManager/Editor/1.2.177/Google.IOSResolver.dll.meta index 5457a30..3e4f117 100644 --- a/ExternalDependencyManager/Editor/1.2.177/Google.IOSResolver.dll.meta +++ b/ExternalDependencyManager/Editor/1.2.177/Google.IOSResolver.dll.meta @@ -1,21 +1,18 @@ fileFormatVersion: 2 -guid: 5552c54c11d94016bcfe740f27df44a6 -labels: -- gvh -- gvh_version-1.2.177 -- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.177/Google.IOSResolver.dll -- gvhp_targets-editor -timeCreated: 1480838400 +guid: cdbad4cb68f85450db4d76d94f7e32a8 PluginImporter: externalObjects: {} serializedVersion: 2 iconMap: {} executionOrder: {} + defineConstraints: [] isPreloaded: 0 isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 platformData: - first: - Any: + Any: second: enabled: 0 settings: {} @@ -31,6 +28,6 @@ PluginImporter: enabled: 0 settings: CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ExternalDependencyManager/Editor/1.2.177/Google.JarResolver.dll.meta b/ExternalDependencyManager/Editor/1.2.177/Google.JarResolver.dll.meta index 2b43bba..60a662b 100644 --- a/ExternalDependencyManager/Editor/1.2.177/Google.JarResolver.dll.meta +++ b/ExternalDependencyManager/Editor/1.2.177/Google.JarResolver.dll.meta @@ -1,21 +1,18 @@ fileFormatVersion: 2 -guid: 1f4f113972f04c3695341dfb3ba48d3b -labels: -- gvh -- gvh_version-1.2.177 -- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.177/Google.JarResolver.dll -- gvhp_targets-editor -timeCreated: 1480838400 +guid: 6825d727c7fc54515a67f5c88a893763 PluginImporter: externalObjects: {} serializedVersion: 2 iconMap: {} executionOrder: {} + defineConstraints: [] isPreloaded: 0 isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 platformData: - first: - Any: + Any: second: enabled: 0 settings: {} @@ -31,6 +28,6 @@ PluginImporter: enabled: 0 settings: CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ExternalDependencyManager/Editor/1.2.177/Google.PackageManagerResolver.dll.meta b/ExternalDependencyManager/Editor/1.2.177/Google.PackageManagerResolver.dll.meta index 2e94805..c67d7cf 100644 --- a/ExternalDependencyManager/Editor/1.2.177/Google.PackageManagerResolver.dll.meta +++ b/ExternalDependencyManager/Editor/1.2.177/Google.PackageManagerResolver.dll.meta @@ -1,21 +1,18 @@ fileFormatVersion: 2 -guid: 413ed4abd14645c38ebbd8c5ff26e9de -labels: -- gvh -- gvh_version-1.2.177 -- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.177/Google.PackageManagerResolver.dll -- gvhp_targets-editor -timeCreated: 1480838400 +guid: eaa3f3ba5fb074092a8dc2523a55ee6e PluginImporter: externalObjects: {} serializedVersion: 2 iconMap: {} executionOrder: {} + defineConstraints: [] isPreloaded: 0 isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 platformData: - first: - Any: + Any: second: enabled: 0 settings: {} @@ -31,6 +28,6 @@ PluginImporter: enabled: 0 settings: CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ExternalDependencyManager/Editor/1.2.177/Google.VersionHandlerImpl.dll.meta b/ExternalDependencyManager/Editor/1.2.177/Google.VersionHandlerImpl.dll.meta index a6a4454..47bdcf7 100644 --- a/ExternalDependencyManager/Editor/1.2.177/Google.VersionHandlerImpl.dll.meta +++ b/ExternalDependencyManager/Editor/1.2.177/Google.VersionHandlerImpl.dll.meta @@ -1,21 +1,18 @@ fileFormatVersion: 2 -guid: 38d0b40a7b2d44c6a6a2362599bfc41e -labels: -- gvh -- gvh_version-1.2.177 -- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.177/Google.VersionHandlerImpl.dll -- gvhp_targets-editor -timeCreated: 1480838400 +guid: 6cb6437754caa42a7b6e62ef2c63d2e1 PluginImporter: externalObjects: {} serializedVersion: 2 iconMap: {} executionOrder: {} + defineConstraints: [] isPreloaded: 0 isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 platformData: - first: - Any: + Any: second: enabled: 0 settings: {} @@ -31,6 +28,6 @@ PluginImporter: enabled: 0 settings: CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ExternalDependencyManager/Editor/CHANGELOG.md b/ExternalDependencyManager/Editor/CHANGELOG.md deleted file mode 100644 index bee4f5b..0000000 --- a/ExternalDependencyManager/Editor/CHANGELOG.md +++ /dev/null @@ -1,1357 +0,0 @@ -# Version 1.2.170 - May 11, 2022 -* iOS Resolver - Change `Enable Swift Framework Support Workaround` setting to - be `ON` by default since more pods are using Swift Framework now. - -# Version 1.2.170 - Apr 4, 2022 -* Android Resolver - Fixes #498 - Fix the path separator of the Maven repo - injected to `mainTemplate.gradle`. -* iOS Resolver - Fixes #470 - Switch default Cocoapods master repo from Github - to CDN. -* iOS Resolver - `Link Framework Statically` setting is now default to `true`. - That is, `use_frameworks! :linkage => static` will be added to `Podfile` by - default instead of `use_frameworks!`. This can be changed in iOS Resolver - settings. This fixes odd behaviors when pods include static libraries, ex. - Firebase Analytics. -* iOS Resolver - Added a workaround when app crashes on launch due to - `Library not loaded: @rpath/libswiftCore.dylib` when some pods includes Swift - framework. This is turned `OFF` by default and can be changed in iOS Resolver - settings. - -# Version 1.2.169 - Jan 20, 2022 -* General - Fixes #425 - Change to save `GvhProjectSettings.xml` without - Unicode byte order mark (BoM). -* Android Resolver - Remove reference to `jcenter()` -* iOS Resolver - Force setting `LANG` when executing Cocoapods in shell mode on - Mac. - -# Version 1.2.168 - Dec 9, 2021 -* All - Fixes #472 by removing the use of `System.Diagnostics.Debug.Assert` -* All - Fixed #477 by properly enabling EDM4U libraries for Unity 2021.2+ when - the package is installed through `.tgz` - -# Version 1.2.167 - Oct 6, 2021 -* All - Moved versioned `.dll` in EDM4U to a versioned folder and remove their - version postfix in their filename. For instance, `IOSResolver.dll` will be - placed at `ExternalDependencyManager/Editor/1.2.167/Google.IOSResolver.dll`. -* Android Resolver - Fixed #243 by only using the highest version in - `mainTemplate.gradle` when duplicated dependencies are presented. -* Android Resolver - Added supports to x86_64 to ABI list for Android apps on - Chrome OS. - -# Version 1.2.166 - Jun 30, 2021 -* All - Fixed #440 and fixed #447 by specifying the parameter type while calling - `GetApplicationIdentifier()` Unity API using reflection, due to a new - overloaded method introduced in Unity 2021.2. -* Android Resolver - Fixed #442 by patching `Dependency.IsGreater()` when the - version strings end '+'. - -# Version 1.2.165 - Apr 28, 2021 -## Bug Fixes -* Version Handler - Fixed #431 by replacing the use of `HttpUtility.UrlEncode()` - which causes NullReferenceException in certain version of Unity. -* Android Resolver - Check that androidSdkRootPath directory exists before using - as sdkPath. -* Android Resolver - Fixed Android Resolver integration tests with Unity - 2019.3+. - -# Version 1.2.164 - Feb 4, 2021 -## New Features -* Android Resolver - Added support for Android packages with classifier in their - namespaces. -* iOS Resolver - Added new settings in iOS Resolver to configure generated - Podfile. -* iOS Resolver - Added a new attribute `addToAllTargets` in Dependencies.xml. - -## Bug Fixes -* iOS Resolver - Fixed XML parsing for `bitcodeEnabled` attribute in - Dependencies.xml. - -# Version 1.2.163 - Dec 15, 2020 -## Bug Fixes -* Version Handler - Fixed measurement reporting - -# Version 1.2.162 - Nov 19, 2020 -## Bug Fixes -* Version Handler - Improved #413 by preventing Version Handler from running - from static constructor when it is disabled. -* Package Manager Resolver - Remove GPR - -# Version 1.2.161 - Oct 12, 2020 -## Bug Fixes -* Android Resolver - Fixed the issue that Android Resolver does not resolve - again before build in Unity 2020 if it failed to resolve previously. - -# Version 1.2.160 - Sep 30, 2020 -## Bug Fixes -* Android Resolver - Fixed a regression that gradleResolver can be null until - Initialize() is called. -* Android Resolver - Fixed a regression that Android Resolver failed in Unity - 2019.3+ due to `gradleTemplate.properties` not enabled when - `mainTemplate.gradle` is not enabled at all. - -# Version 1.2.159 - Sep 11, 2020 -## Bug Fixes -* Android Resolver - Fixed #322 where the Unity editor will lose its target SDK - setting between Unity restarts if `>28` is selected in 2019. This is due to - Unity AndroidSdkVersions enum does not contain values above 28. -* Android Resolver - Fixed #360 where building Android app with Untiy 2019.3+ - may fail due to Jetifier and AndroidX not enabled properly in generated - Gradle project. This fix requires the user to enable - `Custom Gradle Properties Template` found under - `Player Settings > Settings for Android > Publishing Settings`. - -# Version 1.2.158 - Sep 3, 2020 -## Bug Fixes -* Version Handler: Fixed editor freeze when `-executeMethod` is used in - non-batch mode. -* Android Resolver: Normalized file paths when generating local Maven repo - since the path may contains a mix of forward and backward slash on Windows. -* Export Unity Package: Fixed generation of .unitypackage with tarfile on - Windows. - -# Version 1.2.157 - Aug 6, 2020 -## Bug Fixes -* Android Resolver: Delay initialization until active build target is Android - and the editor is not in play mode. -* iOS Resolver: Delay initialization until active build target is iOS - and the editor is not in play mode. -* Export Unity Package: Workaround directory creation racy if multiple export - operations are spawned at the same time. - -# Version 1.2.156 - June 10, 2020 -## Bug Fixes -* Android Resolver: Fixed that the generated local repo assets contains - redundent labels which are causing Version Handler to failed while - uninstalling packages. -* Android Resolver: Fixed that the repo url injected into mainTemplate.gradle - is incorrect when Unity is configured to export gradle project. -* Android Resolver: Limited to only create local Maven repo when the source - repo contains ".srcaar" file. - -## Changes -* All: Described EDM4U analytics data usage in readme. - -# Version 1.2.155 - May 14, 2020 -## Bug Fixes -* All: Fixed compiler error when build with Unity 5.4 or below due to the - usage of Rect.zero. -* All: Ignore cases when checking command line arguments. - -# Version 1.2.154 - May 14, 2020 -## Bug Fixes -* All: Make each MultiSelectWindow for different purposes to have its own - unique window. - -## Changes -* All: Replace all dialog with DialogWindow which is implemented from - EditorWindow. -* Package Manager Resolver: Clarify how manifest.json will be changed in Package - Manager Resolver window. - -# Version 1.2.153 - Apr 24, 2020 -## Bug Fixes -* Android Resolver: Fixed an exception when repainting the Android resolution - window in Unity 2019.3.x. - -# Version 1.2.152 - Apr 17, 2020 -## Bug Fixes -* Version Handler: Fixed exception when waiting for enabled editor DLLs to - load. -* Android Resolver: Fixed regression when using a Custom Gradle Template - on Windows. - -# Version 1.2.151 - Apr 16, 2020 -## Bug Fixes -* Version Handler: When waiting for newly enabled editor DLLs to load, ignore - all DLLs that do not have a file-system location. -* Android Resolver: Fixed resolution when using a Custom Gradle Template with - libraries stored in a local maven repository distributed with a plugin - installed with the Unity Package Manager. - -# Version 1.2.150 - Apr 9, 2020 -## Bug Fixes -* All: The new packaging script when run on MacOS was generating a - .unitypackage archive that could not be read by Unity on Windows. - This release simply repackages the plugin with tar/gzip to fix the problem. - -# Version 1.2.149 - Apr 8, 2020 -## Bug Fixes -* Package Manager Resolver: Fixed spurious error message when resuming - migration after installing a UPM package. - -# Version 1.2.148 - Apr 8, 2020 -## Bug Fixes -* Package Manager Resolver: Fixed an exception when resuming migration - after installing a UPM package. - -# Version 1.2.147 - Apr 8, 2020 -## Bug Fixes -* Version Handler: Fixed alias traversal bug which caused problems when - migrating from installed .unitypackage files to UPM packages. - -# Version 1.2.146 - Apr 8, 2020 -## Bug Fixes -* Version Handler: Fixed exception in manifest parsing when a manifest is - detected with no aliases. - -# Version 1.2.145 - Apr 2, 2020 -## New Features -* Package Manager Resolver: Added a method to migrate Version Handler - managed packages installed via `.unitypackage` to Unity Package Manager - packages. This is initially used to migrate the External Dependency Manager - to UPM. - -## Changes -* All: Verbose logging is now no longer automatically enabled in batch mode - across all components. Instead logging can be configured using each - component's verbose logging setting or by using the `-gvh_log_debug` command - line flag when starting Unity. -* Version Handler: Sped up version handler updates when the app domain isn't - reloaded. - -## Bug Fixes -* Version Handler: Fixed the display of the obsolete files clean up dialog - when the asset database refreshes. -* Version Handler: Improved reliability of callback from - the VersionHandler.UpdateCompleteMethods event when an asset database - refresh occurs. -* Version Handler: Fixed duplicate exportPath labels when 'Assets/' is the - root of paths assigned to files. -* Version Handler: Handle empty lines in manifest files. - -# Version 1.2.144 - Mar 23, 2020 -## Changed -* iOS Resolver: Removed the ability to configure the Xcode target a Cocoapod - is added to. - -## Bug Fixes -* iOS Resolver: Reverted support for adding Cocoapods to multiple targets as - it caused a regression (exception thrown during post-build step) in some - versions of Unity. - -# Version 1.2.143 - Mar 20, 2020 -## Bug Fixes -* Android Resolver: Fixed caching of resolution state which was causing - the resolver to always run when no dependencies had changed. - -# Version 1.2.142 - Mar 19, 2020 -## Changes -* Package Manager Resolver: Enabled auto-add by default. - -# Version 1.2.141 - Mar 19, 2020 -## Bug Fixes -* Fixed a bug when retrieving project settings. If a plugin was configured - to fetch project settings, if a setting was fetched (e.g "foo") and this - setting existed in the system settings but not the project settings the - system value would override the default value leading to unexpected - behavior. -* Fixed a warning when caching web request classes in Unity 5.6. - -# Version 1.2.140 - Mar 19, 2020 -## Bug Fixes -* Fixed measurement reporting in Unity 5.x. -* Version Handler: Fixed NullReferenceException when an asset doesn't have - an AssetImporter. - -# Version 1.2.139 - Mar 18, 2020 -## Changed -* Added documentation to the built plugin. - -# Version 1.2.138 - Mar 17, 2020 -## New Features -* Package Manager Resolver: Added the Package Manager Resolver - component that allows developers to easily boostrap Unity Package Manager - (UPM) registry addition using unitypackage plugins. -* Version Handler: Added a window that allows plugins to managed by the - Version Handler to be uninstalled. -* Version Handler: Added support for displaying installed plugins. -* Version Handler: Added support for moving files in plugins to their install - locations (if the plugin has been configured to support this). -* iOS Resolver: Added the ability to configure the Xcode target a Cocoapod is - added to. - -## Bug Fixes -* Fixed upgrade from version 1.2.137 and below after the plugin rename to - EDM4U broke the upgrade process. -* Android Resolver: Worked around PlayerSettings.Android.targetSdkVersion - returning empty names for some values in 2019.x. -* Version Handler: Fixed the display of the obsolete files clean up window. -* Version Handler: Fixed managed file check when assets are modified in the - project after plugin import. - -# Version 1.2.137 - Mar 6, 2020 -## Changed -* Renamed package to External Package Manager for Unity (EDM4U). - We changed this to reflect what this plugin is doing today which is far more - than the original scope which just consisted of importing jar files from the - Android SDK maven repository. - Scripts that used to pull `play-services-resolver*.unitypackage` will now have - to request `external-dependency-manager*.unitypackage` instead. - We'll still be shipping a `play-services-resolver*_manifest.txt` file to - handle upgrading from older versions of the plugin. - -## New Features -* All Components: Added reporting of usage so that we can remotely detect - errors and target improvements. -* Android Resolver: Added support for *Dependencies.xml files in Unity Package - Manager packages. -* iOS Resolver: Added support for *Dependencies.xml files in Unity Package - Manager packages. - -## Bug Fixes -* Version Handler: Disabled attempts to disable asset metadata modification - when assets are in a Unity Package Manager managed package. - -# Version 1.2.136 - Feb 19, 2019 -## Bug Fixes -* Android Resolver: Fixed OpenJDK path discovery in Unity 2019.3.1. - -# Version 1.2.135 - Dec 5, 2019 -## Bug Fixes -* All Components: Fixed stack overflow when loading project settings. - -# Version 1.2.134 - Dec 4, 2019 -## Bug Fixes -* All Components: Fixed an issue which caused project settings to be cleared - when running in batch mode. - -# Version 1.2.133 - Nov 18, 2019 -## Bug Fixes -* All Components: Failure to save project settings will now report an error - to the log rather than throwing an exception. - -# Version 1.2.132 - Nov 11, 2019 -## Bug Fixes -* Android Resolver: Worked around expansion of DIR_UNITYPROJECT on Windows - breaking Gradle builds when used as part of a file URI. -* Android Resolver: mainTemplate.gradle is only written if it needs to be - modified. - -# Version 1.2.131 - Oct 29, 2019 -## Bug Fixes -* Version Handler: Improved execution of events on the main thread in batch - mode. -* Version Handler: Improved log level configuration at startup. -* Version Handler: Improved performance of class lookup in deferred method - calls. -* Version Handler: Fixed rename to enable / disable for editor assets. -* iOS Resolver: Improved log level configuration at startup. -* Android Resolver: Improved local maven repo path reference in - mainTemplate.gradle using DIR_UNITYPROJECT. DIR_UNITYPROJECT by Unity - to point to the local filesystem path of the Unity project when Unity - generates the Gradle project. - -# Version 1.2.130 - Oct 23, 2019 -## New Features -* iOS Resolver: Added support for modifying the Podfile before `pod install` - is executed. - -## Bug Fixes -* Version Handler: Fixed invalid classname error when calling - `VersionHandler.UpdateVersionedAssets()`. - -# Version 1.2.129 - Oct 2, 2019 -## Bug Fixes -* iOS Resolver: Changed Cocoapod integration in Unity 2019.3+ to - only add Pods to the UnityFramework target. - -# Version 1.2.128 - Oct 1, 2019 -## Bug Fixes -* iOS Resolver: Fixed Cocoapod project integration mode with Unity - 2019.3+. - -# Version 1.2.127 - Sep 30, 2019 -## Changes -* Android Resolver: All Android Resolver settings File paths are now - serialized with POSIX directory separators. - -# Version 1.2.126 - Sep 27, 2019 -## Changes -* Android Resolver: File paths are now serialized with POSIX directory - separators. -## Bug Fixes -* Android Resolver: Fixed resolution when the parent directory of a Unity - project contains a Gradle project (i.e `settings.gradle` file). - -# Version 1.2.125 - Sep 23, 2019 -## Bug Fixes -* All components: Silenced a warning about not being able to set the console - encoding to UTF8. -* Android Resolver: Worked around broken AndroidSDKTools class in some - versions of Unity. -* iOS Resolver: Fixed iOS target SDK version check -* Version Handler: Changed clean up obsolete files window so that it doesn't - exceed the screen size. - -# Version 1.2.124 - Jul 28, 2019 -## Bug Fixes -* All components: Fixed regression with source control integration when using - Unity 2019.1+. - -# Version 1.2.123 - Jul 23, 2019 -## New Features -* All components: Source control integration for project settings. -## Changes -* Android Resolver: Removed AAR cache as it now makes little difference to - incremental resolution performance. -* Android Resolver: Improved embedded resource management so that embedded - resources should upgrade when the plugin is updated without restarting - the Unity editor. -## Bug Fixes -* Version Handler: Fixed InvokeMethod() and InvokeStaticMethod() when calling - methods that have interface typed arguments. - -# Version 1.2.122 - Jul 2, 2019 -## Bug Fixes -* iOS Resolver: Worked around Unity not loading the iOS Resolver DLL as it - referenced the Xcode extension in a public interface. The iOS Resolver - DLL still references the Xcode extension internally and just handles - missing type exceptions dynamically. - -# Version 1.2.121 - Jun 27, 2019 -## Bug Fixes -* Android Resolver: Fixed warning about missing Packages folder when loading - XML dependencies files in versions of Unity without the package manager. -* Android Resolver: Fixed resolution window progress bar exceeding 100%. -* Android Resolver: If AndroidX is detected in the set of resolved libraries, - the user will be prompted to enable the Jetifier. -* Android Resolver: Improved text splitting in text area windows. -* iOS Resolver: Added support for Unity's breaking changes to the Xcode API - in 2019.3.+. Cocoapods are now added to build targets, Unity-iPhone and - UnityFramework in Unity 2019.3+. - -# Version 1.2.120 - Jun 26, 2019 -## New Features -* Android Resolver: Added support for loading *Dependencies.xml files from - Unity Package Manager packages. -* Android Resolver: Resolution window is now closed if resolution runs as - a pre-build step. -* iOS Resolver: Added support for loading *Dependencies.xml files from - Unity Package Manager packages. -## Bug Fixes -* Android Resolver: Fixed generation of relative repo paths when using - mainTemplate.gradle resolver. -* Android Resolver: Fixed copy of .srcaar to .aar files in repos embedded in a - project when a project path has characters (e.g whitespace) that are escaped - during conversion to URIs. -* Android Resolver: Fixed auto-resolution always running if the Android SDK - is managed by Unity Hub. - -# Version 1.2.119 - Jun 19, 2019 -## Bug Fixes -* Android Resolver: Fixed error reported when using Jetifier integration - in Unity 2018+ if the target SDK is set to "highest installed". - -# Version 1.2.118 - Jun 18, 2019 -## New Features -* Android Resolver: Added initial - [Jetifier](https://developer.android.com/studio/command-line/jetifier) - integration which simplifies - [migration](ttps://developer.android.com/jetpack/androidx/migrate) - to Jetpack ([AndroidX](https://developer.android.com/jetpack/androidx)) - libraries in cases where all dependencies are managed by the Android - Resolver. - This can be enabled via the `Use Jetifier` option in the - `Assets > Play Services Resolver > Android Resolver > Settings` menu. - Caveats: - - If your project contains legacy Android Support Library .jar and .aar - files, these files will need to be removed and replaced with references to - artifacts on Maven via `*Dependencies.xml` files so that the Jetifier - can map them to Jetpack (AndroidX) libraries. - For example, remove the file `support-v4-27.0.2.jar` and replace it with - `` in a - `*Dependencies.xml` file. - - If your project contains .jar or .aar files that use the legacy Android - Support Libraries, these will need to be moved into a local Maven repo - [See this guide](https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html) - and then these files should be removed from your Unity project and instead - referenced via `*Dependencies.xml` files so that the Jetifier can - patch them to reference the Jetpack lirbaries. - -## Bug Fixes -* Android Resolver: Disabled version locking of com.android.support:multidex - does not use the same versioning scheme as other legacy Android support - libraries. -* Version Handler: Made Google.VersionHandler.dll's asset GUID stable across - releases. This faciliates error-free import into projects where - Google.VersionHandler.dll is moved from the default install location. - -# Version 1.2.117 - Jun 12, 2019 -## Bug Fixes -* Android Resolver: Fix copying of .srcaar to .aar files for - mainTemplate.gradle resolution. PluginImporter configuration was previously - not being applied to .aar files unless the Unity project was saved. - -# Version 1.2.116 - Jun 7, 2019 -## Bug Fixes -* Android Resolver: Fixed resolution of Android dependencies without version - specifiers. -* Android Resolver: Fixed Maven repo not found warning in Android Resolver. -* Android Resolver: Fixed Android Player directory not found exception in - Unity 2019.x when the Android Player isn't installed. - -# Version 1.2.115 - May 28, 2019 -## Bug Fixes -* Android Resolver: Fixed exception due to Unity 2019.3.0a4 removing - x86 from the set of supported ABIs. - -# Version 1.2.114 - May 27, 2019 -## New Features -* Android Resolver: Added support for ABI stripping when using - mainTemplate.gradle. This only works with AARs stored in repos - on the local filesystem. - -# Version 1.2.113 - May 24, 2019 -## New Features -* Android Resolver: If local repos are moved, the plugin will search the - project for matching directories in an attempt to correct the error. -* Version Handler: Files can be now targeted to multiple build targets - using multiple "gvh_" asset labels. -## Bug Fixes -* Android Resolver: "implementation" or "compile" are now added correctly - to mainTemplate.gradle in Unity versions prior to 2019. - -# Version 1.2.112 - May 22, 2019 -## New Features -* Android Resolver: Added option to disable addition of dependencies to - mainTemplate.gradle. - See `Assets > Play Services Resolver > Android Resolver > Settings`. -* Android Resolver: Made paths to local maven repositories in - mainTemplate.gradle relative to the Unity project when a project is not - being exported. -## Bug Fixes -* Android Resolver: Fixed builds with mainTemplate.gradle integration in - Unity 2019. -* Android Resolver: Changed dependency inclusion in mainTemplate.gradle to - use "implementation" or "compile" depending upon the version of Gradle - included with Unity. -* Android Resolver: Gracefully handled exceptions if the console encoding - can't be modified. -* Android Resolver: Now gracefully fails if the AndroidPlayer directory - can't be found. - -# Version 1.2.111 - May 9, 2019 -## Bug Fixes -* Version Handler: Fixed invocation of methods with named arguments. -* Version Handler: Fixed occasional hang when the editor is compiling - while activating plugins. - -# Version 1.2.110 - May 7, 2019 -## Bug Fixes -* Android Resolver: Fixed inclusion of some srcaar artifacts in builds with - Gradle builds when using mainTemplate.gradle. - -# Version 1.2.109 - May 6, 2019 -## New Features: -* Added links to documentation from menu. -* Android Resolver: Added option to auto-resolve Android libraries on build. -* Android Resolver: Added support for packaging specs of Android libraries. -* Android Resolver: Pop up a window when displaying Android dependencies. - -## Bug Fixes -* Android Resolver: Support for Unity 2019 Android SDK and JDK install locations -* Android Resolver: e-enable AAR explosion if internal builds are enabled. -* Android Resolver: Gracefully handle exceptions on file deletion. -* Android Resolver: Fixed Android Resolver log spam on load. -* Android Resolver: Fixed save of Android Resolver PromptBeforeAutoResolution - setting. -* Android Resolver: Fixed AAR processing failure when an AAR without - classes.jar is found. -* Android Resolver: Removed use of EditorUtility.DisplayProgressBar which - was occasionally left displayed when resolution had completed. -* Version Handler: Fixed asset rename to disable when a disabled file exists. - -# Version 1.2.108 - May 3, 2019 -## Bug Fixes: -* Version Handler: Fixed occasional hang on startup. - -# Version 1.2.107 - May 3, 2019 -## New Features: -* Version Handler: Added support for enabling / disabling assets that do not - support the PluginImporter, based upon build target selection. -* Android Resolver: Added support for the global specification of maven repos. -* iOS Resolver: Added support for the global specification of Cocoapod sources. - -# Version 1.2.106 - May 1, 2019 -## New Features -* iOS Resolver: Added support for development pods in Xcode project integration - mode. -* iOS Resolver: Added support for source pods with resources in Xcode project - integration mode. - -# Version 1.2.105 - Apr 30, 2019 -## Bug fixes -* Android Resolver: Fixed reference to Java tool path in logs. -* Android and iOS Resolvers: Changed command line execution to emit a warning - rather than throwing an exception and failing, when it is not possible to - change the console input and output encoding to UTF-8. -* Android Resolver: Added menu option and API to delete resolved libraries. -* Android Resolver: Added menu option and API to log the repos and libraries - currently included in the project. -* Android Resolver: If Plugins/Android/mainTemplate.gradle file is present and - Gradle is selected as the build type, resolution will simply patch the file - with Android dependencies specified by plugins in the project. - -# Version 1.2.104 - Apr 10, 2019 -## Bug Fixes -* Android Resolver: Changed Android ABI selection method from using whitelisted - Unity versions to type availability. This fixes an exception on resolution - in some versions of Unity 2017.4. - -# Version 1.2.103 - Apr 2, 2019 -## Bug Fixes -* Android Resolver: Whitelisted Unity 2017.4 and above with ARM64 support. -* Android Resolver: Fixed Java version check to work with Java SE 12 and above. - -# Version 1.2.102 - Feb 13, 2019 -## Bug Fixes -* Android Resolver: Fixed the text overflow on the Android Resolver - prompt before initial run to fit inside the buttons for - smaller screens. - -# Version 1.2.101 - Feb 12, 2019 -## New Features -* Android Resolver: Prompt the user before the resolver runs for the - first time and allow the user to elect to disable from the prompt. -* Android Resolver: Change popup warning when resolver is disabled - to be a console warning. - -# Version 1.2.100 - Jan 25, 2019 -## Bug Fixes -* Android Resolver: Fixed AAR processing sometimes failing on Windows - due to file permissions. - -# Version 1.2.99 - Jan 23, 2019 -## Bug Fixes -* Android Resolver: Improved performance of project property polling. -* Version Handler: Fixed callback of VersionHandler.UpdateCompleteMethods - when the update process is complete. - -# Version 1.2.98 - Jan 9, 2019 -## New Features -* iOS Resolver: Pod declaration properties can now be set via XML pod - references. For example, this can enable pods for a subset of build - configurations. -## Bug Fixes -* iOS Resolver: Fixed incremental builds after local pods support caused - regression in 1.2.96. - -# Version 1.2.97 - Dec 17, 2018 -## Bug Fixes -* Android Resolver: Reduced memory allocation for logic that monitors build - settings when auto-resolution is enabled. If auto-resolution is disabled, - almost all build settings are no longer polled for changes. - -# Version 1.2.96 - Dec 17, 2018 -## Bug Fixes -* Android Resolver: Fixed repacking of AARs to exclude .meta files. -* Android Resolver: Only perform auto-resolution on the first scene while - building. -* Android Resolver: Fixed parsing of version ranges that include whitespace. -* iOS Resolver: Added support for local development pods. -* Version Handler: Fixed Version Handler failing to rename some files. - -# Version 1.2.95 - Oct 23, 2018 -## Bug Fixes: -* Android Resolver: Fixed auto-resolution running in a loop in some scenarios. - -# Version 1.2.94 - Oct 22, 2018 -## Bug Fixes -* iOS Resolver: Added support for PODS_TARGET_SRCROOT in source Cocoapods. - -# Version 1.2.93 - Oct 22, 2018 -## Bug Fixes -* Android Resolver: Fixed removal of Android libraries on auto-resolution when - `*Dependencies.xml` files are deleted. - -# Version 1.2.92 - Oct 2, 2018 -## Bug Fixes -* Android Resolver: Worked around auto-resolution hang on Windows if - resolution starts before compilation is finished. - -# Version 1.2.91 - Sep 27, 2018 -## Bug Fixes -* Android Resolver: Fixed Android Resolution when the selected build target - isn't Android. -* Added C# assembly symbols the plugin to simplify debugging bug reports. - -# Version 1.2.90 - Sep 21, 2018 -## Bug Fixes -* Android Resolver: Fixed transitive dependency selection of version locked - packages. - -# Version 1.2.89 - Aug 31, 2018 -## Bug Fixes -* Fixed FileLoadException in ResolveUnityEditoriOSXcodeExtension an assembly - can't be loaded. - -# Version 1.2.88 - Aug 29, 2018 -## Changed -* Improved reporting of resolution attempts and conflicts found in the Android - Resolver. -## Bug Fixes -* iOS Resolver now correctly handles sample code in CocoaPods. Previously it - would add all sample code to the project when using project level - integration. -* Android Resolver now correctly handles Gradle conflict resolution when the - resolution results in a package that is compatible with all requested - dependencies. - -# Version 1.2.87 - Aug 23, 2018 -## Bug Fixes -* Fixed Android Resolver "Processing AARs" dialog getting stuck in Unity 5.6. - -# Version 1.2.86 - Aug 22, 2018 -## Bug Fixes -* Fixed Android Resolver exception in OnPostProcessScene() when the Android - platform isn't selected. - -# Version 1.2.85 - Aug 17, 2018 -## Changes -* Added support for synchronous resolution in the Android Resolver. - PlayServicesResolver.ResolveSync() now performs resolution synchronously. -* Auto-resolution in the Android Resolver now results in synchronous resolution - of Android dependencies before the Android application build starts via - UnityEditor.Callbacks.PostProcessSceneAttribute. - -# Version 1.2.84 - Aug 16, 2018 -## Bug Fixes -* Fixed Android Resolver crash when the AndroidResolverDependencies.xml - file can't be written. -* Reduced log spam when a conflicting Android library is pinned to a - specific version. - -# Version 1.2.83 - Aug 15, 2018 -## Bug Fixes -* Fixed Android Resolver failures due to an in-accessible AAR / JAR explode - cache file. If the cache can't be read / written the resolver now continues - with reduced performance following recompilation / DLL reloads. -* Fixed incorrect version number in plugin manifest on install. - This was a minor issue since the version handler rewrote the metadata - after installation. - -# Version 1.2.82 - Aug 14, 2018 -## Changed -* Added support for alphanumeric versions in the Android Resolver. - -## Bug Fixes -* Fixed Android Resolver selection of latest duplicated library. -* Fixed Android Resolver conflict resolution when version locked and non-version - locked dependencies are specified. -* Fixed Android Resolver conflict resolution when non-existent artifacts are - referenced. - -# Version 1.2.81 - Aug 9, 2018 -## Bug Fixes -* Fixed editor error that would occur when when - `PlayerSettings.Android.targetArchitectures` was set to - `AndroidArchitecture.All`. - -# Version 1.2.80 - Jul 24, 2018 -## Bug Fixes -* Fixed project level settings incorrectly falling back to system wide settings - when default property values were set. - -# Version 1.2.79 - Jul 23, 2018 -## Bug Fixes -* Fixed AndroidManifest.xml patching on Android Resolver load in Unity 2018.x. - -# Version 1.2.78 - Jul 19, 2018 -## Changed -* Added support for overriding conflicting dependencies. - -# Version 1.2.77 - Jul 19, 2018 -## Changed -* Android Resolver now supports Unity's 2018 ABI filter (i.e arm64-v8a). -* Reduced Android Resolver build option polling frequency. -* Disabled Android Resolver auto-resolution in batch mode. Users now need - to explicitly kick off resolution through the API. -* All Android Resolver and Version Handler dialogs are now disabled in batch - mode. -* Verbose logging for all plugins is now enabled by default in batch mode. -* Version Handler bootstrapper has been improved to no longer call - UpdateComplete multiple times. However, since Unity can still reload the - app domain after plugins have been enabled, users still need to store their - plugin state to persistent storage to handle reloads. - -## Bug Fixes -* Android Resolver no longer incorrectly adds MANIFEST.MF files to AARs. -* Android Resolver auto-resolution jobs are now unscheduled when an explicit - resolve job is started. - -# Version 1.2.76 - Jul 16, 2018 -## Bug Fixes -* Fixed variable replacement in AndroidManifest.xml files in the Android - Resolver. - Version 1.2.75 introduced a regression which caused all variable replacement - to replace the *entire* property value rather than the component of the - property that referenced a variable. For example, - given "applicationId = com.my.app", "${applicationId}.foo" would be - incorrectly expanded as "com.my.app" rather than "com.my.app.foo". This - resulted in numerous issues for Android builds where content provider - initialization would fail and services may not start. - -## Changed -* Gradle prebuild experimental feature has been removed from the Android - Resolver. The feature has been broken for some time and added around 8MB - to the plugin size. -* Added better support for execution of plugin components in batch mode. - In batch mode UnityEditor.update is sometimes never called - like when a - single method is executed - so the new job scheduler will execute all jobs - synchronously from the main thread. - -# Version 1.2.75 - Jun 20, 2018 -## New Features -* Android Resolver now monitors the Android SDK path when - auto-resolution is enabled and triggers resolution when the path is - modified. - -## Changed -* Android auto-resolution is now delayed by 3 seconds when the following build - settings are changed: - - Target ABI. - - Gradle build vs. internal build. - - Project export. -* Added a progress bar display when AARs are being processed during Android - resolution. - -## Bug Fixes -* Fixed incorrect Android package version selection when a mix of - version-locked and non-version-locked packages are specified. -* Fixed non-deterministic Android package version selection to select - the highest version of a specified package rather than the last - package specification passed to the Gradle resolution script. - -# Version 1.2.74 - Jun 19, 2018 -## New Features -* Added workaround for broken AndroidManifest.xml variable replacement in - Unity 2018.x. By default ${applicationId} variables will be replaced by - the bundle ID in the Plugins/Android/AndroidManifest.xml file. The - behavior can be disabled via the Android Resolver settings menu. - -# Version 1.2.73 - May 30, 2018 -## Bug Fixes -* Fixed spurious warning message about missing Android plugins directory on - Windows. - -# Version 1.2.72 - May 23, 2018 -## Bug Fixes -* Fixed spurious warning message about missing Android plugins directory. - -# Version 1.2.71 - May 10, 2018 -## Bug Fixes -* Fixed resolution of Android dependencies when the `Assets/Plugins/Android` - directory is named in a different case e.g `Assets/plugins/Android`. - -# Version 1.2.70 - May 7, 2018 -## Bug Fixes -* Fixed bitcode flag being ignored for iOS pods. - -# Version 1.2.69 - May 7, 2018 -## Bug Fixes -* Fixed escaping of local repository paths in Android Resolver. - -# Version 1.2.68 - May 3, 2018 -## Changes -* Added support for granular builds of Google Play Services. - -# Version 1.2.67 - May 1, 2018 -## Changes -* Improved support for iOS source-only pods in Unity 5.5 and below. - -# Version 1.2.66 - April 27, 2018 -## Bug Fixes -* Fixed Version Handler renaming of Linux libraries with hyphens in filenames. - Previously, libraries named Foo-1.2.3.so were not being renamed to - libFoo-1.2.3.so on Linux which could break native library loading on some - versions of Unity. - -# Version 1.2.65 - April 26, 2018 -## Bug Fixes -* Fix CocoaPods casing in logs and comments. - -# Version 1.2.64 - Mar 16, 2018 -## Bug Fixes -* Fixed bug in download_artifacts.gradle (used by Android Resolver) which - reported a failure if required artifacts already exist. - -# Version 1.2.63 - Mar 15, 2018 -## Bug Fixes -* Fixed iOS Resolver include search paths taking precedence over system headers - when using project level resolution. -* Fixed iOS Resolver includes relative to library root, when using project level - resolution. - -# Version 1.2.62 - Mar 12, 2018 -## Changes -* Improved error reporting when a file can't be moved to trash by the - Version Handler. -## Bug Fixes -* Fixed Android Resolver throwing NullReferenceException when the Android SDK - path isn't set. -* Fixed Version Handler renaming files with underscores if the - "Rename to Canonical Filenames" setting is enabled. - -# Version 1.2.61 - Jan 22, 2018 -## Bug Fixes -* Fixed Android Resolver reporting non-existent conflicting dependencies when - Gradle build system is enabled. - -# Version 1.2.60 - Jan 12, 2018 -## Changes -* Added support for Maven / Ivy version specifications for Android packages. -* Added support for Android SNAPSHOT packages. - -## Bug Fixes -* Fixed Openjdk version check. -* Fixed non-deterministic Android package resolution when two packages contain - an artifact with the same name. - -# Version 1.2.59 - Oct 19, 2017 -## Bug Fixes -* Fixed execution of Android Gradle resolution script when it's located - in a path with whitespace. - -# Version 1.2.58 - Oct 19, 2017 -## Changes -* Removed legacy resolution method from Android Resolver. - It is now only possible to use the Gradle or Gradle prebuild resolution - methods. - -# Version 1.2.57 - Oct 18, 2017 -## Bug Fixes -* Updated Gradle wrapper to 4.2.1 to fix issues using Gradle with the - latest Openjdk. -* Android Gradle resolution now also uses gradle.properties to pass - parameters to Gradle in an attempt to workaround problems with - command line argument parsing on Windows 10. - -# Version 1.2.56 - Oct 12, 2017 -## Bug Fixes -* Fixed Gradle artifact download with non-version locked artifacts. -* Changed iOS resolver to only load dependencies at build time. - -# Version 1.2.55 - Oct 4, 2017 -## Bug Fixes -* Force Android Resolution when the "Install Android Packages" setting changes. - -# Version 1.2.54 - Oct 4, 2017 -## Bug Fixes -* Fixed execution of command line tools on Windows when the path to the tool - contains a single quote (apostrophe). In this case we fallback to executing - the tool via the system shell. - -# Version 1.2.53 - Oct 2, 2017 -## New Features -* Changed Android Resolver "resolution complete" dialog so that it now displays - failures. -* Android Resolver now detects conflicting libraries that it does not manage - warning the user if they're newer than the managed libraries and prompting - the user to clean them up if they're older or at the same version. - -## Bug Fixes -* Improved Android Resolver auto-resolution speed. -* Fixed bug in the Gradle Android Resolver which would result in resolution - succeeding when some dependencies are not found. - -# Version 1.2.52 - Sep 25, 2017 -## New Features -* Changed Android Resolver's Gradle resolution to resolve conflicting - dependencies across Google Play services and Android Support library packages. - -# Version 1.2.51 - Sep 20, 2017 -## Changes -* Changed iOS Resolver to execute the CocoaPods "pod" command via the shell - by default. Some developers customize their shell environment to use - custom ssh certs to access internal git repositories that host pods so - executing "pod" via the shell will work for these scenarios. - The drawback of executing "pod" via the shell could potentially cause - users problems if they break their shell environment. Though users who - customize their shell environments will be able to resolve these issues. - -# Version 1.2.50 - Sep 18, 2017 -## New Features -* Added option to disable the Gradle daemon in the Android Resolver. - This daemon is now disabled by default as some users are getting into a state - where multiple daemon instances are being spawned when changing dependencies - which eventually results in Android resolution failing until all daemon - processes are manually killed. - -## Bug Fixes -* Android resolution is now always executed if the user declines the update - of their Android SDK. This ensure users can continue to use out of date - Android SDK packages if they desire. - -# Version 1.2.49 - Sep 18, 2017 -## Bug Fixes -* Removed modulemap parsing in iOS Resolver. - The framework *.modulemap did not need to be parsed by the iOS Resolver - when injecting Cocoapods into a Xcode project. Simply adding a modular - framework to a Xcode project results in Xcode's Clang parsing the associated - modulemap and injecting any compile and link flags into the build process. - -# Version 1.2.48 - Sep 12, 2017 -## New Features -* Changed settings to be per-project by default. - -## Bug Fixes -* Added Google maven repository to fix GradlePrebuild resolution with Google - components. -* Fixed Android Resolution failure with spaces in paths. - -# Version 1.2.47 - Aug 29, 2017 -## New Features -* Android and iOS dependencies can now be specified using *Dependencies.xml - files. This is now the preferred method for registering dependencies, - we may remove the API for dependency addition in future. -* Added "Reset to Defaults" button to each settings dialog to restore default - settings. -* Android Resolver now validates the configured JDK is new enough to build - recently released Android libraries. -## Bug Fixes -* Fixed a bug that caused dependencies with the "LATEST" version specification - to be ignored when using the Gradle mode of the Android Resolver. -* Fixed a race condition when running Android Resolution. -* Fixed Android Resolver logging if a PlayServicesSupport instance is created - with no logging enabled before the Android Resolver is initialized. -* Fixed iOS resolver dialog in Unity 4. -* Fixed iOS Cocoapod Xcode project integration in Unity 4. - -# Version 1.2.46 - Aug 22, 2017 -## Bug Fixes -* GradlePrebuild Android resolver on Windows now correctly locates dependent - data files. - -# Version 1.2.45 - Aug 22, 2017 -## Bug Fixes -* Improved Android package auto-resolution and fixed clean up of stale - dependencies when using Gradle dependency resolution. - -# Version 1.2.44 - Aug 21, 2017 -## Bug Fixes -* Enabled autoresolution for Gradle Prebuild. -* Made the command line dialog windows have selectable text. -* Fixed incorrect "Android Settings" dialog disabled groups. -* Updated PlayServicesResolver android platform detection to use the package - manager instead of the 'android' tool. -* UnityCompat reflection methods 'GetAndroidPlatform' and - 'GetAndroidBuildToolsVersion' are now Obsolete due to dependence on the - obsolete 'android' build tool. - -# Version 1.2.43 - Aug 18, 2017 -## Bug Fixes -* Fixed Gradle resolution in the Android Resolver when running - PlayServicesResolver.Resolve() in parallel or spawning multiple - resolutions before the previous resolve completed. - -# Version 1.2.42 - Aug 17, 2017 -## Bug Fixes -* Fixed Xcode project level settings not being applied by IOS Resolver when - Xcode project pod integration is enabled. - -# Version 1.2.41 - Aug 15, 2017 -## Bug Fixes -* IOS Resolver's Xcode workspace pod integration is now disabled when Unity - Cloud Build is detected. Unity Cloud Build does not follow the same build - process as the Unity editor and fails to open the generated xcworkspace at - this time. - -# Version 1.2.40 - Aug 15, 2017 -## Bug Fixes -* Moved Android Resolver Gradle Prebuild scripts into Google.JarResolver.dll. - They are now extracted from the DLL when required. -* AARs / JARs are now cleaned up when switching the Android resolution - strategy. - -# Version 1.2.39 - Aug 10, 2017 -## New Features -* Android Resolver now supports resolution with Gradle. This enables support - for non-local artifacts. -## Bug Fixes -* Android Resolver's Gradle Prebuild now uses Android build tools to determine - the Android platform tools version rather than relying upon internal Unity - APIs. -* Android Resolver's Gradle Prebuild now correctly strips binaries that are - not required for the target ABI. - -# Version 1.2.38 - Aug 7, 2017 -## Bug Fixes -* Fixed an issue in VersionHandler where disabled targets are ignored if - the "Any Platform" flag is set on a plugin DLL. - -# Version 1.2.37 - Aug 3, 2017 -## New Features -* Exposed GooglePlayServices.PlayServicesResolver.Resolve() so that it's - possible for a script to be notified when AAR / Jar resolution is complete. - This makes it easier to setup a project to build from the command line. - -# Version 1.2.36 - Aug 3, 2017 -## New Features -* VersionHandler.UpdateCompleteMethods allows a user to provide a list of - methods to be called when VersionHandlerImpl has completed an update. - This makes it easier to import a plugin and wait for VersionHandler to - execute prior executing a build. - -# Version 1.2.35 - Jul 28, 2017 -## New Features -* VersionHandler will now rename Linux libraries so they can target Unity - versions that require different file naming. Libraries need to be labelled - gvh_linuxlibname-${basename} in order to be considered for renaming. - e.g gvh\_linuxlibname-MyLib will be named MyLib.so in Unity 5.5 and below and - libMyLib.so in Unity 5.6 and above. - -# Version 1.2.34 - Jul 28, 2017 -## Bug Fixes -* Made VersionHandler bootstrap module more robust when calling static - methods before the implementation DLL is loaded. - -# Version 1.2.33 - Jul 27, 2017 -## New Features -* Added a bootstrap module for VersionHandler so the implementation - of the VersionHandler module can be versioned without resulting in - a compile error when imported at different versions across multiple - plugins. - -# Version 1.2.32 - Jul 20, 2017 -## New Features -* Added support for build target selection based upon .NET framework - version in the VersionHandler. - When applying either gvh\_dotnet-3.5 or gvh\_dotnet-4.5 labels to - assets, the VersionHandler will only enable the asset for the - specified set of build targets when the matching .NET framework version - is selected in Unity 2017's project settings. This allows assets - to be provided in a plugin that need to differ based upon .NET version. - -# Version 1.2.31 - Jul 5, 2017 -## Bug Fixes -* Force expansion of AARs with native components when using Unity 2017 - with the internal build system. In contrast to Unity 5.x, Unity 2017's - internal build system does not include native libraries included in AARs. - Forcing expansion of AARs with native components generates an - Ant / Eclipse project for each AAR which is correctly included by Unity - 2017's internal build system. - -# Version 1.2.30 - Jul 5, 2017 -## Bug Fixes -* Fixed Cocoapods being installed when the build target isn't iOS. -* Added support for malformed AARs with missing classes.jar. - -# Version 1.2.29 - Jun 16, 2017 -## New Features -* Added support for the Android sdkmanager tool. - -# Version 1.2.28 - Jun 8, 2017 -## Bug Fixes -* Fixed non-shell command line execution (regression from - Cocoapod installation patch). - -# Version 1.2.27 - Jun 7, 2017 -## Bug Fixes -* Added support for stdout / stderr redirection when executing - commands in shell mode. - This fixes CocoaPod tool installation when shell mode is - enabled. -* Fixed incremental builds when additional sources are specified - in the Podfile. - -# Version 1.2.26 - Jun 7, 2017 -## Bug Fixes -* Fixed a crash when importing Version Handler into Unity 4.7.x. - -# Version 1.2.25 - Jun 7, 2017 -## Bug Fixes -* Fixed an issue in the Jar Resolver which incorrectly notified - event handlers of bundle ID changes when the currently selected - (not active) build target changed in Unity 5.6 and above. - -# Version 1.2.24 - Jun 6, 2017 -## New Features -* Added option to control file renaming in Version Handler settings. - Disabling file renaming (default option) significantly increases - the speed of file version management operations with the downside - that any files that are referenced directly by canonical filename - rather than asset ID will no longer be valid. -* Improved logging in the Version Handler. -## Bug Fixes -* Fixed an issue in the Version Handler which caused it to not - re-enable plugins when re-importing a custom package with disabled - version managed files. - -# Version 1.2.23 - May 26, 2017 -## Bug Fixes -* Fixed a bug with gradle prebuild resolver on windows. - -# Version 1.2.22 - May 19, 2017 -## Bug Fixes -* Fixed a bug in the iOS resolver with incremental builds. -* Fixed misdetection of Cocoapods support with Unity beta 5.6. - -# Version 1.2.21 - May 8, 2017 -## Bug Fixes -* Fix for https://github.com/googlesamples/unity-jar-resolver/issues/48 - Android dependency version number parsing when "-alpha" (etc.) are - included in dependency (AAR / JAR) versions. - -# Version 1.2.20 - May 8, 2017 -## Bug Fixes -* Attempted to fix - https://github.com/googlesamples/unity-jar-resolver/issues/48 - where a NullReferenceException could occur if a target file does not - have a valid version string. - -# Version 1.2.19 - May 4, 2017 -## Bug Fixes -* Fixed Jar Resolver exploding and deleting AAR files it isn't managing. - -# Version 1.2.18 - May 4, 2017 -## New Features -* Added support for preserving Unity pods such as when GVR is enabled. - -# Version 1.2.17 - Apr 20, 2017 -## Bug Fixes -* Fixed auto-resolution when an Android application ID is modified. - -# Version 1.2.16 - Apr 17, 2017 -## Bug Fixes -* Fixed Unity version number parsing on machines with a locale that uses - "," for decimal points. -* Fixed null reference exception if JDK path isn't set. - -# Version 1.2.15 - Mar 17, 2017 -## New Features -* Added warning when the Jar Resolver's background resolution is disabled. -## Bug Fixes -* Fixed support of AARs with native libraries when using Gradle. -* Fixed extra repository paths when resolving dependencies. - -# Version 1.2.14 - Mar 7, 2017 -## New Features -* Added experimental Android resolution using Gradle. - This alternative resolver supports proguard stripping with Unity's - internal build system. -* Added Android support for single ABI builds when using AARs include - native libraries. -* Disabled Android resolution on changes to all .cs and .js files. - File patterns that are monitored for auto-resolution can be added - using PlayServicesResolver.AddAutoResolutionFilePatterns(). -* Added tracking of resolved AARs and JARs so they can be cleaned up - if they're no longer referenced by a project. -* Added persistence of AAR / JAR version replacement for each Unity - session. -* Added settings dialog to the iOS resolver. -* Integrated Cocoapod tool installation in the iOS resolver. -* Added option to run pod tool via the shell. -## Bug Fixes -* Fixed build of some source Cocoapods (e.g Protobuf). -* VersionHandler no longer prompts to delete obsolete manifests. -* iOS resolver handles Cocoapod installation when using Ruby < 2.2.2. -* Added workaround for package version selection when including - Google Play Services on Android. -* Fixed support for pods that reference static libraries. -* Fixed support for resource-only pods. - -# Version 1.2.12 - Feb 14, 2017 -## Bug Fixes -* Fixed re-explosion of AARs when the bundle ID is modified. - -# Version 1.2.11 - Jan 30, 2017 -## New Features -* Added support for Android Studio builds. -* Added support for native (C/C++) shared libraries in AARs. - -# Version 1.2.10 - Jan 11, 2017 -## Bug Fixes -* Fixed SDK manager path retrieval. -* Also, report stderr when it's not possible to run the "pod" tool. -* Handle exceptions thrown by Unity.Cecil on asset rename -* Fixed IOSResolver to handle PlayerSettings.iOS.targetOSVersionString - -# Version 1.2.9 - Dec 7, 2016 -## Bug Fixes -* Improved error reporting when "pod repo update" fails. -* Added detection of xml format xcode projects generated by old Cocoapods - installations. - -# Version 1.2.8 - Dec 6, 2016 -## Bug Fixes -* Increased speed of JarResolver resolution. -* Fixed JarResolver caches getting out of sync with requested dependencies - by removing the caches. -* Fixed JarResolver explode cache always being rewritten even when no - dependencies change. - -# Version 1.2.7 - Dec 2, 2016 -## Bug Fixes -* Fixed VersionHandler build errors with Unity 5.5, due to the constantly - changing BuildTarget enum. -* Added support for Unity configured JDK Path rather than requiring - JAVA_HOME to be set in the Jar Resolver. - -# Version 1.2.6 - Nov 15, 2016 -## Bug Fixes -* Fixed IOSResolver errors when iOS support is not installed. -* Added fallback to "pod" executable search which queries the Ruby Gems - package manager for the binary install location. - -# Version 1.2.5 - Nov 3, 2016 -## Bug Fixes -* Added crude support for source only Cocoapods to the IOSResolver. - -# Version 1.2.4 - Oct 27, 2016 -## Bug Fixes -* Automated resolution of out of date pod repositories. - -# Version 1.2.3 - Oct 25, 2016 -## Bug Fixes -* Fixed exception when reporting conflicting dependencies. - -# Version 1.2.2 - Oct 17, 2016 -## Bug Fixes -* Fixed issue working with Unity 5.5 -* Fixed issue with PlayServicesResolver corrupting other iOS dependencies. -* Updated build script to use Unity distributed tools for building. - -# Version 1.2.1 - Jul 25, 2016 -## Bug Fixes -* Removed 1.2 Resolver and hardcoded whitelist of AARs to expand. -* Improved error reporting when the "jar" executable can't be found. -* Removed the need to set JAVA_HOME if "jar" is in the user's path. -* Fixed spurious copying of partially matching AARs. -* Changed resolver to only copy / expand when source AARs change. -* Auto-resolution of dependencies is now performed when the Android - build target is selected. - -## New Features -* Expand AARs that contain manifests with variable expansion like - ${applicationId}. -* Added optional logging in the JarResolverLib module. -* Integration with the Android SDK manager for dependencies that - declare required Android SDK packages. - -# Version 1.2.0 - May 11 2016 -## Bug Fixes -* Handles resolving dependencies when the artifacts are split across 2 repos. -* #4 Misdetecting version for versions like 1.2-alpha. These are now string - compared if alphanumeric -* Removed resolver creation via reflection since it did not work all the time. - Now a resolver needs to be loaded externally (which is existing behavior). - -## New Features -* Expose PlayServicesResolver properties to allow for script access. -* Explodes firebase-common and firebase-measurement aar files to support - ${applicationId} substitution. - -# Version 1.1.1 - 25 Feb 2016 -## Bug Fixes -* #1 Spaces in project path not handled when exploding Aar file. -* #2 Script compilation error: TypeLoadException. - -# Version 1.1.0 - 5 Feb 2016 -## New Features -* Adds friendly alert when JAVA_HOME is not set on Windows platforms. -* Adds flag for disabling background resolution. -* Expands play-services-measurement and replaces ${applicationId} with the - bundle Id. - - ## Bug Fixes -* Fixes infinite loop of resolution triggered by resolution. diff --git a/ExternalDependencyManager/Editor/CHANGELOG.md.meta b/ExternalDependencyManager/Editor/CHANGELOG.md.meta deleted file mode 100644 index a21230d..0000000 --- a/ExternalDependencyManager/Editor/CHANGELOG.md.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 54156dbf561a48eea988cc27fcae3f90 -labels: -- gvh -- gvh_version-1.2.171 -- gvhp_exportpath-ExternalDependencyManager/Editor/CHANGELOG.md -timeCreated: 1584567712 -licenseType: Pro -TextScriptImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ExternalDependencyManager/Editor/Google.VersionHandler.dll.meta b/ExternalDependencyManager/Editor/Google.VersionHandler.dll.meta index a35483b..f8a5668 100644 --- a/ExternalDependencyManager/Editor/Google.VersionHandler.dll.meta +++ b/ExternalDependencyManager/Editor/Google.VersionHandler.dll.meta @@ -1,21 +1,18 @@ fileFormatVersion: 2 -guid: 86460262ea60447dbb6a62d21167790f -labels: -- gvh -- gvh_version-1.2.177 -- gvhp_exportpath-ExternalDependencyManager/Editor/Google.VersionHandler.dll -- gvhp_targets-editor -timeCreated: 1480838400 +guid: 8c409ab99e4f4317b2bec2f54be2a2fc PluginImporter: externalObjects: {} serializedVersion: 2 iconMap: {} executionOrder: {} + defineConstraints: [] isPreloaded: 0 isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 platformData: - first: - Any: + Any: second: enabled: 0 settings: {} @@ -31,6 +28,6 @@ PluginImporter: enabled: 0 settings: CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: + userData: + assetBundleName: + assetBundleVariant: diff --git a/ExternalDependencyManager/Editor/LICENSE b/ExternalDependencyManager/Editor/LICENSE deleted file mode 100644 index 6258cc4..0000000 --- a/ExternalDependencyManager/Editor/LICENSE +++ /dev/null @@ -1,245 +0,0 @@ -Copyright (C) 2014 Google Inc. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -==================================================================================================== -This package uses MiniJSON - -Copyright (c) 2013 Calvin Rien - -Based on the JSON parser by Patrick van Bergen -http://techblog.procurios.nl/k/618/news/view/14605/14863/How-do-I-write-my-own-parser-for-JSON.html - -Simplified it so that it doesn't throw exceptions -and can be used in Unity iPhone with maximum code stripping. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/ExternalDependencyManager/Editor/LICENSE.meta b/ExternalDependencyManager/Editor/LICENSE.meta deleted file mode 100644 index aa4b40b..0000000 --- a/ExternalDependencyManager/Editor/LICENSE.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: be6c1c4d98f8402ba4815e95e4b85883 -labels: -- gvh -- gvh_version-1.2.171 -- gvhp_exportpath-ExternalDependencyManager/Editor/LICENSE -timeCreated: 1584567712 -licenseType: Pro -TextScriptImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ExternalDependencyManager/Editor/README.md b/ExternalDependencyManager/Editor/README.md deleted file mode 100644 index b49cf1e..0000000 --- a/ExternalDependencyManager/Editor/README.md +++ /dev/null @@ -1,768 +0,0 @@ -External Dependency Manager for Unity -======== - -# Overview - -The External Dependency Manager for Unity (EDM4U) -(formerly Play Services Resolver / Jar Resolver) is intended to be used by any -Unity plugin that requires: - - * Android specific libraries (e.g - [AARs](https://developer.android.com/studio/projects/android-library.html)). - * iOS [CocoaPods](https://cocoapods.org/). - * Version management of transitive dependencies. - * Management of Package Manager (PM) Registries. - -Updated releases are available on -[GitHub](https://github.com/googlesamples/unity-jar-resolver) - -# Background - -Many Unity plugins have dependencies upon Android specific libraries, iOS -CocoaPods, and sometimes have transitive dependencies upon other Unity plugins. -This causes the following problems: - - * Integrating platform specific (e.g Android and iOS) libraries within a - Unity project can be complex and a burden on a Unity plugin maintainer. - * The process of resolving conflicting dependencies on platform specific - libraries is pushed to the developer attempting to use a Unity plugin. - The developer trying to use your plugin is very likely to give up when - faced with Android or iOS specific build errors. - * The process of resolving conflicting Unity plugins (due to shared Unity - plugin components) is pushed to the developer attempting to use your Unity - plugin. In an effort to resolve conflicts, the developer will very likely - attempt to resolve problems by deleting random files in your plugin, - report bugs when that doesn't work and finally give up. - -EDM provides solutions for each of these problems. - -## Android Dependency Management - -The *Android Resolver* component of this plugin will download and integrate -Android library dependencies and handle any conflicts between plugins that share -the same dependencies. - -Without the Android Resolver, typically Unity plugins bundle their AAR and -JAR dependencies, e.g. a Unity plugin `SomePlugin` that requires the Google -Play Games Android library would redistribute the library and its transitive -dependencies in the folder `SomePlugin/Android/`. When a user imports -`SomeOtherPlugin` that includes the same libraries (potentially at different -versions) in `SomeOtherPlugin/Android/`, the developer using `SomePlugin` and -`SomeOtherPlugin` will see an error when building for Android that can be hard -to interpret. - -Using the Android Resolver to manage Android library dependencies: - - * Solves Android library conflicts between plugins. - * Handles all of the various processing steps required to use Android - libraries (AARs, JARs) in Unity 4.x and above projects. Almost all - versions of Unity have - at best - partial support for AARs. - * (Experimental) Supports minification of included Java components without - exporting a project. - -## iOS Dependency Management - -The *iOS Resolver* component of this plugin integrates with -[CocoaPods](https://cocoapods.org/) to download and integrate iOS libraries -and frameworks into the Xcode project Unity generates when building for iOS. -Using CocoaPods allows multiple plugins to utilize shared components without -forcing developers to fix either duplicate or incompatible versions of -libraries included through multiple Unity plugins in their project. - -## Package Manager Registry Setup - -The [Package Manager](https://docs.unity3d.com/Manual/Packages.html) -(PM) makes use of [NPM](https://www.npmjs.com/) registry servers for package -hosting and provides ways to discover, install, upgrade and uninstall packages. -This makes it easier for developers to manage plugins within their projects. - -However, installing additional package registries requires a few manual steps -that can potentially be error prone. The *Package Manager Resolver* -component of this plugin integrates with -[PM](https://docs.unity3d.com/Manual/Packages.html) to provide a way to -auto-install PM package registries when a `.unitypackage` is installed which -allows plugin maintainers to ship a `.unitypackage` that can provide access -to their own PM registry server to make it easier for developers to -manage their plugins. - -## Unity Plugin Version Management - -Finally, the *Version Handler* component of this plugin simplifies the process -of managing transitive dependencies of Unity plugins and each plugin's upgrade -process. - -For example, without the Version Handler plugin, if: - - * Unity plugin `SomePlugin` includes `EDM4U` plugin at - version 1.1. - * Unity plugin `SomeOtherPlugin` includes `EDM4U` - plugin at version 1.2. - -The version of `EDM4U` included in the developer's project depends upon the -order the developer imports `SomePlugin` or `SomeOtherPlugin`. - -This results in: - - * `EDM4U` at version 1.2, if `SomePlugin` is imported then `SomeOtherPlugin` - is imported. - * `EDM4U` at version 1.1, if `SomeOtherPlugin` is imported then - `SomePlugin` is imported. - -The Version Handler solves the problem of managing transitive dependencies by: - - * Specifying a set of packaging requirements that enable a plugin at - different versions to be imported into a Unity project. - * Providing activation logic that selects the latest version of a plugin - within a project. - -When using the Version Handler to manage `EDM4U` included in `SomePlugin` and -`SomeOtherPlugin`, from the prior example, version 1.2 will always be the -version activated in a developer's Unity project. - -Plugin creators are encouraged to adopt this library to ease integration for -their customers. For more information about integrating EDM4U -into your own plugin, see the [Plugin Redistribution](#plugin-redistribution) -section of this document. - -# Analytics - -The External Dependency Manager for Unity plugin by default logs usage to Google -Analytics. The purpose of the logging is to quantitatively measure the usage of -functionality, to gather reports on integration failures and to inform future -improvements to the developer experience of the External Dependency Manager -plugin. Note that the analytics collected are limited to the scope of the EDM4U -plugin’s usage. - -For details of what is logged, please refer to the usage of -`EditorMeasurement.Report()` in the source code. - -# Requirements - -The *Android Resolver* and *iOS Resolver* components of the plugin only work -with Unity version 4.6.8 or higher. - -The *Version Handler* component only works with Unity 5.x or higher as it -depends upon the `PluginImporter` UnityEditor API. - -The *Package Manager Resolver* component only works with -Unity 2018.4 or above, when -[scoped registry](https://docs.unity3d.com/Manual/upm-scoped.html) -support was added to the Package Manager. - -# Getting Started - -Before you import EDM4U into your plugin project, you first -need to consider whether you intend to *redistribute* `EDM4U` -along with your own plugin. - -## Plugin Redistribution - -If you're a plugin maintainer, redistributing `EDM4U` inside your own plugin -will ease the integration process for your users, by resolving dependency -conflicts between your plugin and other plugins in a user's project. - -If you wish to redistribute `EDM4U` inside your plugin, -you **must** follow these steps when importing the -`external-dependency-manager-*.unitypackage`, and when exporting your own plugin -package: - - 1. Import the `external-dependency-manager-*.unitypackage` into your plugin - project by - [running Unity from the command line](https://docs.unity3d.com/Manual/CommandLineArguments.html), ensuring that - you add the `-gvh_disable` option. - 1. Export your plugin by [running Unity from the command line](https://docs.unity3d.com/Manual/CommandLineArguments.html), ensuring that - you: - - Include the contents of the `Assets/PlayServicesResolver` and - `Assets/ExternalDependencyManager` directory. - - Add the `-gvh_disable` option. - -You **must** specify the `-gvh_disable` option in order for the Version -Handler to work correctly! - -For example, the following command will import the -`external-dependency-manager-1.2.46.0.unitypackage` into the project -`MyPluginProject` and export the entire Assets folder to -`MyPlugin.unitypackage`: - -``` -Unity -gvh_disable \ - -batchmode \ - -importPackage external-dependency-manager-1.2.46.0.unitypackage \ - -projectPath MyPluginProject \ - -exportPackage Assets MyPlugin.unitypackage \ - -quit -``` - -### Background - -The *Version Handler* component relies upon deferring the load of editor DLLs -so that it can run first and determine the latest version of a plugin component -to activate. The build of `EDM4U` plugin has Unity asset metadata that is -configured so that the editor components are not initially enabled when it's -imported into a Unity project. To maintain this configuration when importing -the `external-dependency-manager.unitypackage` into a Unity plugin project, you -*must* specify the command line option `-gvh_disable` which will prevent the -Version Handler component from running and changing the Unity asset metadata. - -# Android Resolver Usage - -The Android Resolver copies specified dependencies from local or remote Maven -repositories into the Unity project when a user selects Android as the build -target in the Unity editor. - - 1. Add the `external-dependency-manager-*.unitypackage` to your plugin - project (assuming you are developing a plugin). If you are redistributing - EDM4U with your plugin, you **must** follow the - import steps in the [Getting Started](#getting-started) section! - - 2. Copy and rename the - [SampleDependencies.xml](https://github.com/googlesamples/unity-jar-resolver/blob/master/sample/Assets/ExternalDependencyManager/Editor/SampleDependencies.xml) - file into your plugin and add the dependencies your plugin requires. - - The XML file just needs to be under an `Editor` directory and match the - name `*Dependencies.xml`. For example, - `MyPlugin/Editor/MyPluginDependencies.xml`. - - 3. Follow the steps in the [Getting Started](#getting-started) - section when you are exporting your plugin package. - -For example, to add the Google Play Games library -(`com.google.android.gms:play-services-games` package) at version `9.8.0` to -the set of a plugin's Android dependencies: - -``` - - - - - extra-google-m2repository - - - - -``` - -The version specification (last component) supports: - - * Specific versions e.g `9.8.0` - * Partial matches e.g `9.8.+` would match 9.8.0, 9.8.1 etc. choosing the most - recent version. - * Latest version using `LATEST` or `+`. We do *not* recommend using this - unless you're 100% sure the library you depend upon will not break your - Unity plugin in future. - -The above example specifies the dependency as a component of the Android SDK -manager such that the Android SDK manager will be executed to install the -package if it's not found. If your Android dependency is located on Maven -central it's possible to specify the package simply using the `androidPackage` -element: - -``` - - - - - -``` - -## Auto-resolution - -By default the Android Resolver automatically monitors the dependencies you have -specified and the `Plugins/Android` folder of your Unity project. The -resolution process runs when the specified dependencies are not present in your -project. - -The *auto-resolution* process can be disabled via the -`Assets > External Dependency Manager > Android Resolver > Settings` menu. - -Manual resolution can be performed using the following menu options: - - * `Assets > External Dependency Manager > Android Resolver > Resolve` - * `Assets > External Dependency Manager > Android Resolver > Force Resolve` - -## Deleting libraries - -Resolved packages are tracked via asset labels by the Android Resolver. -They can easily be deleted using the -`Assets > External Dependency Manager > Android Resolver > Delete Resolved Libraries` -menu item. - -## Android Manifest Variable Processing - -Some AAR files (for example play-services-measurement) contain variables that -are processed by the Android Gradle plugin. Unfortunately, Unity does not -perform the same processing when using Unity's Internal Build System, so the -Android Resolver plugin handles known cases of this variable substitution -by exploding the AAR into a folder and replacing `${applicationId}` with the -`bundleID`. - -Disabling AAR explosion and therefore Android manifest processing can be done -via the `Assets > External Dependency Manager > Android Resolver > Settings` -menu. You may want to disable explosion of AARs if you're exporting a project -to be built with Gradle / Android Studio. - -## ABI Stripping - -Some AAR files contain native libraries (.so files) for each ABI supported -by Android. Unfortunately, when targeting a single ABI (e.g x86), Unity does -not strip native libraries for unused ABIs. To strip unused ABIs, the Android -Resolver plugin explodes an AAR into a folder and removes unused ABIs to -reduce the built APK size. Furthermore, if native libraries are not stripped -from an APK (e.g you have a mix of Unity's x86 library and some armeabi-v7a -libraries) Android may attempt to load the wrong library for the current -runtime ABI completely breaking your plugin when targeting some architectures. - -AAR explosion and therefore ABI stripping can be disabled via the -`Assets > External Dependency Manager > Android Resolver > Settings` menu. -You may want to disable explosion of AARs if you're exporting a project to be -built with Gradle / Android Studio. - -## Resolution Strategies - -By default the Android Resolver will use Gradle to download dependencies prior -to integrating them into a Unity project. This works with Unity's internal -build system and Gradle / Android Studio project export. - -It's possible to change the resolution strategy via the -`Assets > External Dependency Manager > Android Resolver > Settings` menu. - -### Download Artifacts with Gradle - -Using the default resolution strategy, the Android resolver executes the -following operations: - - - Remove the result of previous Android resolutions. - e.g Delete all files and directories labeled with "gpsr" under - `Plugins/Android` from the project. - - Collect the set of Android dependencies (libraries) specified by a - project's `*Dependencies.xml` files. - - Run `download_artifacts.gradle` with Gradle to resolve conflicts and, - if successful, download the set of resolved Android libraries (AARs, JARs). - - Process each AAR / JAR so that it can be used with the currently selected - Unity build system (e.g Internal vs. Gradle, Export vs. No Export). - This involves patching each reference to `applicationId` in the - AndroidManifest.xml with the project's bundle ID. This means resolution - must be run if the bundle ID is changed again. - - Move the processed AARs to `Plugins/Android` so they will be included when - Unity invokes the Android build. - -### Integrate into mainTemplate.gradle - -Unity 5.6 introduced support for customizing the `build.gradle` used to build -Unity projects with Gradle. When the *Patch mainTemplate.gradle* setting is -enabled, rather than downloading artifacts before the build, Android resolution -results in the execution of the following operations: - - - Remove the result of previous Android resolutions. - e.g Delete all files and directories labeled with "gpsr" under - `Plugins/Android` from the project and remove sections delimited with - `// Android Resolver * Start` and `// Android Resolver * End` lines. - - Collect the set of Android dependencies (libraries) specified by a - project's `*Dependencies.xml` files. - - Rename any `.srcaar` files in the build to `.aar` and exclude them from - being included directly by Unity in the Android build as - `mainTemplate.gradle` will be patched to include them instead from their - local maven repositories. - - Inject the required Gradle repositories into `mainTemplate.gradle` at the - line matching the pattern - `.*apply plugin: 'com\.android\.(application|library)'.*` or the section - starting at the line `// Android Resolver Repos Start`. - If you want to control the injection point in the file, the section - delimited by the lines `// Android Resolver Repos Start` and - `// Android Resolver Repos End` should be placed in the global scope - before the `dependencies` section. - - Inject the required Android dependencies (libraries) into - `mainTemplate.gradle` at the line matching the pattern `***DEPS***` or - the section starting at the line `// Android Resolver Dependencies Start`. - If you want to control the injection point in the file, the section - delimited by the lines `// Android Resolver Dependencies Start` and - `// Android Resolver Dependencies End` should be placed in the - `dependencies` section. - - Inject the packaging options logic, which excludes architecture specific - libraries based upon the selected build target, into `mainTemplate.gradle` - at the line matching the pattern `android +{` or the section starting at - the line `// Android Resolver Exclusions Start`. - If you want to control the injection point in the file, the section - delimited by the lines `// Android Resolver Exclusions Start` and - `// Android Resolver Exclusions End` should be placed in the global - scope before the `android` section. - -## Dependency Tracking - -The Android Resolver creates the -`ProjectSettings/AndroidResolverDependencies.xml` to quickly determine the set -of resolved dependencies in a project. This is used by the auto-resolution -process to only run the expensive resolution process when necessary. - -## Displaying Dependencies - -It's possible to display the set of dependencies the Android Resolver -would download and process in your project via the -`Assets > External Dependency Manager > Android Resolver > Display Libraries` -menu item. - -# iOS Resolver Usage - -The iOS resolver component of this plugin manages -[CocoaPods](https://cocoapods.org/). A CocoaPods `Podfile` is generated and -the `pod` tool is executed as a post build process step to add dependencies -to the Xcode project exported by Unity. - -Dependencies for iOS are added by referring to CocoaPods. - - 1. Add the `external-dependency-manager-*.unitypackage` to your plugin - project (assuming you are developing a plugin). If you are redistributing - EDM4U with your plugin, you **must** follow the - import steps in the [Getting Started](#getting-started) section! - - 2. Copy and rename the - [SampleDependencies.xml](https://github.com/googlesamples/unity-jar-resolver/blob/master/sample/Assets/ExternalDependencyManager/Editor/SampleDependencies.xml) - file into your plugin and add the dependencies your plugin requires. - - The XML file just needs to be under an `Editor` directory and match the - name `*Dependencies.xml`. For example, - `MyPlugin/Editor/MyPluginDependencies.xml`. - - 3. Follow the steps in the [Getting Started](#getting-started) - section when you are exporting your plugin package. - -For example, to add the AdMob pod, version 7.0 or greater with bitcode enabled: - -``` - - - - - -``` - -## Integration Strategies - -The `CocoaPods` are either: - * Downloaded and injected into the Xcode project file directly, rather than - creating a separate xcworkspace. We call this `Xcode project` integration. - * If the Unity version supports opening a xcworkspace file, the `pod` tool - is used as intended to generate a xcworkspace which references the - CocoaPods. We call this `Xcode workspace` integration. - -The resolution strategy can be changed via the -`Assets > External Dependency Manager > iOS Resolver > Settings` menu. - -### Appending text to generated Podfile -In order to modify the generated Podfile you can create a script like this: -``` -using System.IO; -public class PostProcessIOS : MonoBehaviour { -[PostProcessBuildAttribute(45)]//must be between 40 and 50 to ensure that it's not overriden by Podfile generation (40) and that it's added before "pod install" (50) -private static void PostProcessBuild_iOS(BuildTarget target, string buildPath) -{ - if (target == BuildTarget.iOS) - { - - using (StreamWriter sw = File.AppendText(buildPath + "/Podfile")) - { - //in this example I'm adding an app extension - sw.WriteLine("\ntarget 'NSExtension' do\n pod 'Firebase/Messaging', '6.6.0'\nend"); - } - } -} -``` - -# Package Manager Resolver Usage - -Adding registries to the -[Package Manager](https://docs.unity3d.com/Manual/Packages.html) -(PM) is a manual process. The Package Manager Resolver (PMR) component -of this plugin makes it easy for plugin maintainers to distribute new PM -registry servers and easy for plugin users to manage PM registry servers. - -## Adding Registries - - 1. Add the `external-dependency-manager-*.unitypackage` to your plugin - project (assuming you are developing a plugin). If you are redistributing - EDM4U with your plugin, you **must** follow the - import steps in the [Getting Started](#getting-started) section! - - 2. Copy and rename the - [SampleRegistries.xml](https://github.com/googlesamples/unity-jar-resolver/blob/master/sample/Assets/ExternalDependencyManager/Editor/sample/Assets/ExternalDependencyManager/Editor/SampleRegistries.xml) - file into your plugin and add the registries your plugin requires. - - The XML file just needs to be under an `Editor` directory and match the - name `*Registries.xml` or labeled with `gumpr_registries`. For example, - `MyPlugin/Editor/MyPluginRegistries.xml`. - - 3. Follow the steps in the [Getting Started](#getting-started) - section when you are exporting your plugin package. - -For example, to add a registry for plugins in the scope `com.coolstuff`: - -``` - - - - com.coolstuff - - - -``` - -When PMR is loaded it will prompt the developer to add the registry to their -project if it isn't already present in the `Packages/manifest.json` file. - -For more information, see Unity's documentation on -[scoped package registries](https://docs.unity3d.com/Manual/upm-scoped.html). - -## Managing Registries - -It's possible to add and remove registries that are specified via PMR -XML configuration files via the following menu options: - -* `Assets > External Dependency Manager > Package Manager Resolver > - Add Registries` will prompt the user with a window which allows them to - add registries discovered in the project to the Package Manager. -* `Assets > External Dependency Manager > Package Manager Resolver > - Remove Registries` will prompt the user with a window which allows them to - remove registries discovered in the project from the Package Manager. -* `Assets > External Dependency Manager > Package Manager Resolver > - Modify Registries` will prompt the user with a window which allows them to - add or remove registries discovered in the project. - -## Migration - -PMR can migrate Version Handler packages installed in the `Assets` folder -to PM packages. This requires the plugins to implement the following: - -* `.unitypackage` must include a Version Handler manifests that describes - the components of the plugin. If the plugin has no dependencies - the manifest would just include the files in the plugin. -* The PM package JSON provided by the registry must include a keyword - (in the `versions.VERSION.keyword` list) that maps the PM package - to a Version Handler package using the format - `vh-name:VERSION_HANDLER_MANIFEST_NAME` where `VERSION_HANDLER_MANIFEST_NAME` - is the name of the manifest defined in the `.unitypackage`. For - more information see the description of the `gvhp_manifestname` asset label - in the *Version Handler Usage* section. - -When using the `Assets > External Dependency Manager > -Package Manager Resolver > Migrate Packages` menu option, PMR then -will: - -* List all Version Handler manager packages in the project. -* Search all available packages in the PM registries and fetch keywords - associated with each package parsing the Version Handler manifest names - for each package. -* Map each installed Version Handler package to a PM package. -* Prompt the user to migrate the discovered packages. -* Perform package migration for all selected packages if the user clicks - the `Apply` button. - -## Configuration - -PMR can be configured via the `Assets > External Dependency Manager > -Package Manager Resolver > Settings` menu option: - -* `Add package registries` when enabled, when the plugin loads or registry - configuration files change, this will prompt the user to add registries - that are not present in the Package Manager. -* `Prompt to add package registries` will cause a developer to be prompted - with a window that will ask for confirmation before adding registries. - When this is disabled registries are added silently to the project. -* `Prompt to migrate packages` will cause a developer to be prompted - with a window that will ask for confirmation before migrating packages - installed in the `Assets` directory to PM packages. -* `Enable Analytics Reporting` when enabled, reports the use of the plugin - to the developers so they can make imrpovements. -* `Verbose logging` when enabled prints debug information to the console - which can be useful when filing bug reports. - -# Version Handler Usage - -The Version Handler component of this plugin manages: - -* Shared Unity plugin dependencies. -* Upgrading Unity plugins by cleaning up old files from previous versions. -* Uninstallation of plugins that are distributed with manifest files. -* Restoration of plugin assets to their original install locations if assets - are tagged with the `exportpath` label. - -Since the Version Handler needs to modify Unity asset metadata (`.meta` files), -to enable / disable components, rename and delete asset files it does not -work with Package Manager installed packages. It's still possible to -include EDM4U in Package Manager packages, the Version Handler component -simply won't do anything to PM plugins in this case. - -## Using Version Handler Managed Plugins - -If a plugin is imported at multiple different versions into a project, if -the Version Handler is enabled, it will automatically check all managed -assets to determine the set of assets that are out of date and assets that -should be removed. To disable automatic checking managed assets disable -the `Enable version management` option in the -`Assets > External Dependency Manager > Version Handler > Settings` menu. - -If version management is disabled, it's possible to check managed assets -manually using the -`Assets > External Dependency Manager > Version Handler > Update` menu option. - -### Listing Managed Plugins - -Plugins managed by the Version Handler, those that ship with manifest files, -can displayed using the `Assets > External Dependency Manager > -Version Handler > Display Managed Packages` menu option. The list of plugins -are written to the console window along with the set of files used by each -plugin. - -### Uninstalling Managed Plugins - -Plugins managed by the Version Handler, those that ship with manifest files, -can be removed using the `Assets > External Dependency Manager > -Version Handler > Uninstall Managed Packages` menu option. This operation -will display a window that allows a developer to select a set of plugins to -remove which will remove all files owned by each plugin excluding those that -are in use by other installed plugins. - -Files managed by the Version Handler, those labeled with the `gvh` asset label, -can be checked to see whether anything needs to be upgraded, disabled or -removed using the `Assets > External Dependency Manager > -Version Handler > Update` menu option. - -### Restore Install Paths - -Some developers move assets around in their project which can make it -harder for plugin maintainers to debug issues if this breaks Unity's -[special folders](https://docs.unity3d.com/Manual/SpecialFolders.html) rules. -If assets are labeled with their original install / export path -(see `gvhp_exportpath` below), Version Handler can restore assets to their -original locations when using the `Assets > External Dependency Manager > -Version Handler > Move Files To Install Locations` menu option. - -### Settings - -Some behavior of the Version Handler can be configured via the -`Assets > External Dependency Manager > Version Handler > Settings` menu -option. - -* `Enable version management` controls whether the plugin should automatically - check asset versions and apply changes. If this is disabled the process - should be run manually when installing or upgrading managed plugins using - `Assets > External Dependency Manager > Version Handler > Update`. -* `Rename to canonical filenames` is a legacy option that will rename files to - remove version numbers and other labels from filenames. -* `Prompt for obsolete file deletion` enables the display of a window when - obsolete files are deleted allowing the developer to select which files to - delete and those to keep. -* `Allow disabling files via renaming` controls whether obsolete or disabled - files should be disabled by renaming them to `myfilename_DISABLED`. - Renaming to disable files is required in some scenarios where Unity doesn't - support removing files from the build via the PluginImporter. -* `Enable Analytics Reporting` enables / disables usage reporting to plugin - developers to improve the product. -* `Verbose logging` enables _very_ noisy log output that is useful for - debugging while filing a bug report or building a new managed plugin. -* `Use project settings` saves settings for the plugin in the project rather - than system-wide. - -## Redistributing a Managed Plugin - -The Version Handler employs a couple of methods for managing version -selection, upgrade and removal of plugins. - -* Each plugin can ship with a manifest file that lists the files it includes. - This makes it possible for Version Handler to calculate the difference - in assets between the most recent release of a plugin and the previous - release installed in a project. If a files are removed the Version Handler - will prompt the user to clean up obsolete files. -* Plugins can ship using assets with unique names, unique GUIDs and version - number labels. Version numbers can be attached to assets using labels or - added to the filename (e.g `myfile.txt` would be `myfile_version-x.y.z.txt). - This allows the Version Handler to determine which set of files are the - same file at different versions, select the most recent version and prompt - the developer to clean up old versions. - -Unity plugins can be managed by the Version Handler using the following steps: - - 1. Add the `gvh` asset label to each asset (file) you want Version Handler - to manage. - 1. Add the `gvh_version-VERSION` label to each asset where `VERSION` is the - version of the plugin you're releasing (e.g 1.2.3). - 1. Add the `gvhp_exportpath-PATH` label to each asset where `PATH` is the - export path of the file when the `.unitypackage` is created. This is - used to track files if they're moved around in a project by developers. - 1. Optional: Add `gvh_targets-editor` label to each editor DLL in your - plugin and disable `editor` as a target platform for the DLL. - The Version Handler will enable the most recent version of this DLL when - the plugin is imported. - 1. Optional: If your plugin is included in other Unity plugins, you should - add the version number to each filename and change the GUID of each asset. - This allows multiple versions of your plugin to be imported into a Unity - project, with the Version Handler component activating only the most - recent version. - 1. Create a manifest text file named `MY_UNIQUE_PLUGIN_NAME_VERSION.txt` - that lists all the files in your plugin relative to the project root. - Then add the `gvh_manifest` label to the asset to indicate this file is - a plugin manifest. - 1. Optional: Add a `gvhp_manifestname-NAME` label to your manifest file - to provide a human readable name for your package. If this isn't provided - the name of the manifest file will be used as the package name. - NAME can match the pattern `[0-9]+[a-zA-Z -]' where a leading integer - will set the priority of the name where `0` is the highest priority - and preferably used as the display name. The lowest value (i.e highest - priority name) will be used as the display name and all other specified - names will be aliases of the display name. Aliases can refer to previous - names of the package allowing renaming across published versions. - 1. Redistribute EDM4U Unity plugin with your plugin. - See the [Plugin Redistribution](#plugin-redistribution) for the details. - -If you follow these steps: - - * When users import a newer version of your plugin, files referenced by the - older version's manifest are cleaned up. - * The latest version of the plugin will be selected when users import - multiple packages that include your plugin, assuming the steps in - [Plugin Redistribution](#plugin-redistribution) are followed. - -# Building from Source - -To build this plugin from source you need the following tools installed: - * Unity (with iOS and Android modules installed) - -You can build the plugin by running the following from your shell -(Linux / OSX): - -``` -./gradlew build -``` - -or Windows: - -``` -./gradlew.bat build -``` - -# Releasing - -Each time a new build of this plugin is checked into the source tree you -need to do the following: - - * Bump the plugin version variable `pluginVersion` in `build.gradle` - * Update `CHANGELOG.md` with the new version number and changes included in - the release. - * Build the release using `./gradlew release` which performs the following: - * Updates `external-dependency-manager-*.unitypackage` - * Copies the unpacked plugin to the `exploded` directory. - * Updates template metadata files in the `plugin` directory. - The GUIDs of all asset metadata is modified due to the version number - change. Each file within the plugin is versioned to allow multiple - versions of the plugin to be imported into a Unity project which allows - the most recent version to be activated by the Version Handler - component. - * Create release commit using `./gradlew gitCreateReleaseCommit` which - performs `git commit -a -m "description from CHANGELOG.md"` - * Once the release commit is merge, tag the release using - `./gradlew gitTagRelease` which performs the following: - * `git tag -a pluginVersion -m "version RELEASE"` to tag the release. - * Update tags on remote branch using `git push --tag REMOTE HEAD:master` diff --git a/ExternalDependencyManager/Editor/README.md.meta b/ExternalDependencyManager/Editor/README.md.meta deleted file mode 100644 index 949481e..0000000 --- a/ExternalDependencyManager/Editor/README.md.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7123392a386740f98057fd61a3c1c2d4 -labels: -- gvh -- gvh_version-1.2.171 -- gvhp_exportpath-ExternalDependencyManager/Editor/README.md -timeCreated: 1584567712 -licenseType: Pro -TextScriptImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.177_manifest.txt.meta b/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.177_manifest.txt.meta index 2adb22e..026ae30 100644 --- a/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.177_manifest.txt.meta +++ b/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.177_manifest.txt.meta @@ -1,15 +1,7 @@ fileFormatVersion: 2 -guid: 2764c5ea3b354f3cb7ca80028fd08da2 -labels: -- gvh -- gvh_manifest -- gvh_version-1.2.177 -- gvhp_exportpath-ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.177_manifest.txt -- gvhp_manifestname-0External Dependency Manager -- gvhp_manifestname-play-services-resolver -timeCreated: 1474401009 -licenseType: Pro +guid: 36bce0d90658a447380074e3b9958ed0 TextScriptImporter: - userData: - assetBundleName: - assetBundleVariant: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: