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 8fe9786..0000000 Binary files a/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.aar and /dev/null differ diff --git a/AnyThinkAds/Plugins/Android/anythink_bridge.aar b/AnyThinkAds/Plugins/Android/anythink_bridge.aar deleted file mode 100644 index b8fdc33..0000000 Binary files a/AnyThinkAds/Plugins/Android/anythink_bridge.aar and /dev/null differ diff --git a/AnyThinkAds/Plugins/iOS/Core.meta b/AnyThinkAds/Plugins/iOS/Core.meta deleted file mode 100644 index e374f14..0000000 --- a/AnyThinkAds/Plugins/iOS/Core.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 152120babfc0c47eda2ca1811b8fdba6 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkAds/Plugins/iOS/Core/Editor/Dependencies.xml b/AnyThinkAds/Plugins/iOS/Core/Editor/Dependencies.xml deleted file mode 100644 index 5fffea0..0000000 --- a/AnyThinkAds/Plugins/iOS/Core/Editor/Dependencies.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - 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 0000000..89c8c57 Binary files /dev/null and b/AnyThinkPlugin/AnyThinkAds/Bridge/anythink_bridge.aar differ 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 0000000..3a3dd6b Binary files /dev/null and b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.2.aar differ diff --git a/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.2.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.2.aar.meta index e4e86c4..24b5198 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/alex_adapter_gromore_mix_5.8.0.7.2.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 72c5f7ab43ab2534f91498d7b13d3c3c +guid: 9e4d6d20eeab07b49b8211838771b764 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/mediation/anythink_network_csj_mix_5.8.0.7.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/anythink_network_csj_mix_5.8.0.7.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/mediation/anythink_network_csj_mix_5.8.0.7.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/anythink_network_csj_mix_5.8.0.7.aar diff --git a/AnyThinkAds/Plugins/Android/China/mediation/anythink_network_csj_mix_5.8.0.7.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/anythink_network_csj_mix_5.8.0.7.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/mediation/anythink_network_csj_mix_5.8.0.7.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/anythink_network_csj_mix_5.8.0.7.aar.meta index f2f77ea..2e66d1e 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/anythink_network_csj_mix_5.8.0.7.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/anythink_network_csj_mix_5.8.0.7.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 033810c6a077710419e0d7062c0d2390 +guid: 6e000b593668e3b4c88ece4ba63ffbbd PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/mediation/gdt.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt.meta similarity index 77% rename from AnyThinkAds/Plugins/Android/China/mediation/gdt.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt.meta index 33972a9..dd23d46 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/gdt.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b04c9b660ce4f441b97bbdf15e5f490b +guid: 965a603742b554c449c14c9323811037 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Plugins/Android/China/mediation/gdt/GDTSDK.unionNormal.4.562.1432.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/GDTSDK.unionNormal.4.562.1432.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/mediation/gdt/GDTSDK.unionNormal.4.562.1432.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/GDTSDK.unionNormal.4.562.1432.aar diff --git a/AnyThinkAds/Plugins/Android/China/mediation/gdt/GDTSDK.unionNormal.4.562.1432.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/GDTSDK.unionNormal.4.562.1432.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/mediation/gdt/GDTSDK.unionNormal.4.562.1432.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/GDTSDK.unionNormal.4.562.1432.aar.meta index 7701b10..86bdd73 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/gdt/GDTSDK.unionNormal.4.562.1432.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/GDTSDK.unionNormal.4.562.1432.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d63c9bfd2aa914cd098e75685e7e3187 +guid: 461ee595b165344e1902e1be3a8a7e6a PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/mediation/gdt/anythink_network_unity_gdt.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/anythink_network_unity_gdt.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/mediation/gdt/anythink_network_unity_gdt.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/anythink_network_unity_gdt.aar diff --git a/AnyThinkAds/Plugins/Android/China/mediation/gdt/anythink_network_unity_gdt.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/anythink_network_unity_gdt.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/mediation/gdt/anythink_network_unity_gdt.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/anythink_network_unity_gdt.aar.meta index d186a74..42789d7 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/gdt/anythink_network_unity_gdt.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/anythink_network_unity_gdt.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2cdf6e47984cd4655b955296e0f4bfa4 +guid: 4d64ad1973dd54983b91cb1678c6d478 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/network_data.json b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/network_data.json new file mode 100644 index 0000000..37adf2e --- /dev/null +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/network_data.json @@ -0,0 +1 @@ +{"name":"gdt","version":"4.562.1432","country":1,"path":"Assets/AnyThinkPlugin/AnyThinkAds\\Plugins/Android/China/mediation/gdt"} \ No newline at end of file diff --git a/AnyThinkAds/Plugins/iOS/Core/Editor/Dependencies.xml.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/network_data.json.meta similarity index 75% rename from AnyThinkAds/Plugins/iOS/Core/Editor/Dependencies.xml.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/network_data.json.meta index 46819e7..8fab9d6 100644 --- a/AnyThinkAds/Plugins/iOS/Core/Editor/Dependencies.xml.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/gdt/network_data.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b6951752b4bbf4efe9f037e76fdbb946 +guid: 5c230e8420af7ab4fa09409a9d1ef6cf TextScriptImporter: externalObjects: {} userData: diff --git a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou.meta similarity index 77% rename from AnyThinkAds/Plugins/Android/China/mediation/kuaishou.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou.meta index 5070023..a2d5fe4 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 08a266e313dde4a4780f408a373e335f +guid: b0d5b178b07f1469cbe2d743ca7cb28e folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor.meta similarity index 77% rename from AnyThinkAds/Plugins/Android/China/mediation/tap/Editor.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor.meta index e76b3d7..282668c 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 705abcf69fd3e41889c376c52eb81335 +guid: eafa9aeae4bd64d97a054da55a05d0dc folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor/Dependencies.xml b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor/Dependencies.xml similarity index 100% rename from AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor/Dependencies.xml rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor/Dependencies.xml diff --git a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor/Dependencies.xml.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor/Dependencies.xml.meta similarity index 75% rename from AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor/Dependencies.xml.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor/Dependencies.xml.meta index 7344269..0f49966 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor/Dependencies.xml.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/Editor/Dependencies.xml.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9e7ef0820cafb4e279dce169ff66dd5b +guid: f3ba469b8da3d46898a264b6e8b8b008 TextScriptImporter: externalObjects: {} userData: diff --git a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/anythink_network_unity_kuaishou.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/anythink_network_unity_kuaishou.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/mediation/kuaishou/anythink_network_unity_kuaishou.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/anythink_network_unity_kuaishou.aar diff --git a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/anythink_network_unity_kuaishou.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/anythink_network_unity_kuaishou.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/mediation/kuaishou/anythink_network_unity_kuaishou.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/anythink_network_unity_kuaishou.aar.meta index 82acbb3..147d6b6 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/anythink_network_unity_kuaishou.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/anythink_network_unity_kuaishou.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: bf36f7511685b4419ad2482aa31377b6 +guid: 45adbb2b2963347a989988cda4eab3e9 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/kssdk-ad-3.3.59.1-publishRelease-9ceffff447.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/kssdk-ad-3.3.59.1-publishRelease-9ceffff447.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/mediation/kuaishou/kssdk-ad-3.3.59.1-publishRelease-9ceffff447.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/kssdk-ad-3.3.59.1-publishRelease-9ceffff447.aar diff --git a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/kssdk-ad-3.3.59.1-publishRelease-9ceffff447.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/kssdk-ad-3.3.59.1-publishRelease-9ceffff447.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/mediation/kuaishou/kssdk-ad-3.3.59.1-publishRelease-9ceffff447.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/kssdk-ad-3.3.59.1-publishRelease-9ceffff447.aar.meta index 1632b6c..e09df0b 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/kssdk-ad-3.3.59.1-publishRelease-9ceffff447.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/kssdk-ad-3.3.59.1-publishRelease-9ceffff447.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 20d4b3f3f65c84d229ca77dd0ba12d58 +guid: 43adb02535ce84058bace9a4bf525ee6 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/network_data.json b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/network_data.json new file mode 100644 index 0000000..88ae52e --- /dev/null +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/network_data.json @@ -0,0 +1 @@ +{"name":"kuaishou","version":"3.3.59.1","country":1,"path":"Assets/AnyThinkPlugin/AnyThinkAds\\Plugins/Android/China/mediation/kuaishou"} \ No newline at end of file diff --git a/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/network_data.json.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/network_data.json.meta new file mode 100644 index 0000000..2a96858 --- /dev/null +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/kuaishou/network_data.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ac5dc9887409a4e4584a417d1e4a0d88 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AnyThinkAds/Plugins/Android/China/mediation/tap.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap.meta similarity index 77% rename from AnyThinkAds/Plugins/Android/China/mediation/tap.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap.meta index 84d2528..d8a4036 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/tap.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ee456f36319ea4f75a3573a42ef178d8 +guid: 406f629690d694824a25e1e02b281714 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Plugins/iOS/Core/Editor.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor.meta similarity index 77% rename from AnyThinkAds/Plugins/iOS/Core/Editor.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor.meta index b15d539..39ccc74 100644 --- a/AnyThinkAds/Plugins/iOS/Core/Editor.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cb5ae49b812fc409297ef6f255a690b2 +guid: a76fc36f21b114871a69b84e5326a37a folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor/Dependencies.xml b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor/Dependencies.xml similarity index 100% rename from AnyThinkAds/Plugins/Android/China/mediation/tap/Editor/Dependencies.xml rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor/Dependencies.xml diff --git a/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor/Dependencies.xml.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor/Dependencies.xml.meta similarity index 75% rename from AnyThinkAds/Plugins/Android/China/mediation/tap/Editor/Dependencies.xml.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor/Dependencies.xml.meta index 6b7ce32..9d7e73b 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor/Dependencies.xml.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/Editor/Dependencies.xml.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 70d0d98f3b6a74e0c90b6df9b5dcca52 +guid: 38c1b7b371ecd45ba89127e91bee66ef TextScriptImporter: externalObjects: {} userData: diff --git a/AnyThinkAds/Plugins/Android/China/mediation/tap/TapAD_3.16.3.25h1.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/TapAD_3.16.3.25h1.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/mediation/tap/TapAD_3.16.3.25h1.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/TapAD_3.16.3.25h1.aar diff --git a/AnyThinkAds/Plugins/Android/China/mediation/tap/TapAD_3.16.3.25h1.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/TapAD_3.16.3.25h1.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/mediation/tap/TapAD_3.16.3.25h1.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/TapAD_3.16.3.25h1.aar.meta index cb6aebf..09d8ebf 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/tap/TapAD_3.16.3.25h1.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/TapAD_3.16.3.25h1.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1c80f77df27184fa4b01811367c92617 +guid: 4fec1677b8a864b0d97f8ed05561da6b PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/mediation/tap/anythink_network_unity_tap.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/anythink_network_unity_tap.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/mediation/tap/anythink_network_unity_tap.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/anythink_network_unity_tap.aar diff --git a/AnyThinkAds/Plugins/Android/China/mediation/tap/anythink_network_unity_tap.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/anythink_network_unity_tap.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/mediation/tap/anythink_network_unity_tap.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/anythink_network_unity_tap.aar.meta index 0b26f5a..bb977bf 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation/tap/anythink_network_unity_tap.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/anythink_network_unity_tap.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1b29389351e2f4a45b8f239fcf017838 +guid: af127e4ac3ee34f078cd4bb6d5163b24 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/network_data.json b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/network_data.json new file mode 100644 index 0000000..98ebe89 --- /dev/null +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/network_data.json @@ -0,0 +1 @@ +{"name":"tap","version":"3.16.3.25","country":1,"path":"Assets/AnyThinkPlugin/AnyThinkAds\\Plugins/Android/China/mediation/tap"} \ No newline at end of file diff --git a/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/network_data.json.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/network_data.json.meta new file mode 100644 index 0000000..a1260f2 --- /dev/null +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation/tap/network_data.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4ccb4470b260c014d91cdc1e5a3e1aa3 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AnyThinkAds/Plugins/Android/China/mediation_plugin.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin.meta similarity index 77% rename from AnyThinkAds/Plugins/Android/China/mediation_plugin.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin.meta index 27d4228..6b53739 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation_plugin.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 374f4a5f4d8ab477b8f64a287fd47d78 +guid: c72490b4c19e04d59a5e5e27879e699f folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Plugins/Android/China/mediation_plugin/gson-2.8.4.jar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin/gson-2.8.4.jar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/mediation_plugin/gson-2.8.4.jar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin/gson-2.8.4.jar diff --git a/AnyThinkAds/Plugins/Android/China/mediation_plugin/gson-2.8.4.jar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin/gson-2.8.4.jar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/mediation_plugin/gson-2.8.4.jar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin/gson-2.8.4.jar.meta index 4189480..1360c1f 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation_plugin/gson-2.8.4.jar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin/gson-2.8.4.jar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b1de6dd10e46a4bbb8c7db3361fc4b11 +guid: f8fbe67e9b4f64586b86daf28d4a8fff PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Plugins/Android/China/mediation_plugin/miui_sys_splash_1.0.aar b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin/miui_sys_splash_1.0.aar similarity index 100% rename from AnyThinkAds/Plugins/Android/China/mediation_plugin/miui_sys_splash_1.0.aar rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin/miui_sys_splash_1.0.aar diff --git a/AnyThinkAds/Plugins/Android/China/mediation_plugin/miui_sys_splash_1.0.aar.meta b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin/miui_sys_splash_1.0.aar.meta similarity index 93% rename from AnyThinkAds/Plugins/Android/China/mediation_plugin/miui_sys_splash_1.0.aar.meta rename to AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin/miui_sys_splash_1.0.aar.meta index f56435d..72c3ef3 100644 --- a/AnyThinkAds/Plugins/Android/China/mediation_plugin/miui_sys_splash_1.0.aar.meta +++ b/AnyThinkPlugin/AnyThinkAds/Plugins/Android/China/mediation_plugin/miui_sys_splash_1.0.aar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 416c49ce98f274d1c82f54917ba6eff2 +guid: d12c55ddf05c24abd92b59cdaa090ab1 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Thrid.meta b/AnyThinkPlugin/AnyThinkAds/Thrid.meta similarity index 77% rename from AnyThinkAds/Thrid.meta rename to AnyThinkPlugin/AnyThinkAds/Thrid.meta index 85238be..053cd45 100644 --- a/AnyThinkAds/Thrid.meta +++ b/AnyThinkPlugin/AnyThinkAds/Thrid.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3523abbcd4cf24058b0b6404ee928407 +guid: 34e7f63d1213943a5b815f256b2962c8 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkAds/Thrid/IJsonWrapper.cs b/AnyThinkPlugin/AnyThinkAds/Thrid/IJsonWrapper.cs similarity index 100% rename from AnyThinkAds/Thrid/IJsonWrapper.cs rename to AnyThinkPlugin/AnyThinkAds/Thrid/IJsonWrapper.cs diff --git a/AnyThinkAds/Thrid/IJsonWrapper.cs.meta b/AnyThinkPlugin/AnyThinkAds/Thrid/IJsonWrapper.cs.meta similarity index 83% rename from AnyThinkAds/Thrid/IJsonWrapper.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Thrid/IJsonWrapper.cs.meta index a66092c..f7ea682 100644 --- a/AnyThinkAds/Thrid/IJsonWrapper.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Thrid/IJsonWrapper.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3dcf1ab650cf1468aba74f816fe91c30 +guid: 355f8d10c3b4e493bb3365904200d579 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Thrid/JsonData.cs b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonData.cs similarity index 100% rename from AnyThinkAds/Thrid/JsonData.cs rename to AnyThinkPlugin/AnyThinkAds/Thrid/JsonData.cs diff --git a/AnyThinkAds/Thrid/JsonData.cs.meta b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonData.cs.meta similarity index 83% rename from AnyThinkAds/Thrid/JsonData.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Thrid/JsonData.cs.meta index e9a2f4c..fb0882f 100644 --- a/AnyThinkAds/Thrid/JsonData.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonData.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5684404e137a44af0bac9e7c0bd82aa2 +guid: 6e230ed5324714d589fd6898334d5f64 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Thrid/JsonException.cs b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonException.cs similarity index 100% rename from AnyThinkAds/Thrid/JsonException.cs rename to AnyThinkPlugin/AnyThinkAds/Thrid/JsonException.cs diff --git a/AnyThinkAds/Thrid/JsonException.cs.meta b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonException.cs.meta similarity index 83% rename from AnyThinkAds/Thrid/JsonException.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Thrid/JsonException.cs.meta index bb88ba7..25c5a24 100644 --- a/AnyThinkAds/Thrid/JsonException.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonException.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 836229774b2dc42a0b2a0ced3b2cde30 +guid: 9b400412d05aa4fb89f214ba44c803d7 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Thrid/JsonMapper.cs b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonMapper.cs similarity index 100% rename from AnyThinkAds/Thrid/JsonMapper.cs rename to AnyThinkPlugin/AnyThinkAds/Thrid/JsonMapper.cs diff --git a/AnyThinkAds/Thrid/JsonMapper.cs.meta b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonMapper.cs.meta similarity index 83% rename from AnyThinkAds/Thrid/JsonMapper.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Thrid/JsonMapper.cs.meta index 21f270d..7b0e7ee 100644 --- a/AnyThinkAds/Thrid/JsonMapper.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonMapper.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2332f0bd787794ca8ad83f3960453e12 +guid: b05207ea19be344f492e085a364a4596 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Thrid/JsonMockWrapper.cs b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonMockWrapper.cs similarity index 100% rename from AnyThinkAds/Thrid/JsonMockWrapper.cs rename to AnyThinkPlugin/AnyThinkAds/Thrid/JsonMockWrapper.cs diff --git a/AnyThinkAds/Thrid/JsonMockWrapper.cs.meta b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonMockWrapper.cs.meta similarity index 83% rename from AnyThinkAds/Thrid/JsonMockWrapper.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Thrid/JsonMockWrapper.cs.meta index 2eafe3a..384dd5f 100644 --- a/AnyThinkAds/Thrid/JsonMockWrapper.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonMockWrapper.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5adea86ef437149e7ba4f61742276dd5 +guid: 9a3032f883f4f4959a7c858363481182 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Thrid/JsonReader.cs b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonReader.cs similarity index 100% rename from AnyThinkAds/Thrid/JsonReader.cs rename to AnyThinkPlugin/AnyThinkAds/Thrid/JsonReader.cs diff --git a/AnyThinkAds/Thrid/JsonReader.cs.meta b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonReader.cs.meta similarity index 83% rename from AnyThinkAds/Thrid/JsonReader.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Thrid/JsonReader.cs.meta index 810c63f..d7b4d9b 100644 --- a/AnyThinkAds/Thrid/JsonReader.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonReader.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b2f3f4def6a034a7785f274e754cd2e4 +guid: 7452799398ed44d4daf97ab0940b22d3 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Thrid/JsonWriter.cs b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonWriter.cs similarity index 100% rename from AnyThinkAds/Thrid/JsonWriter.cs rename to AnyThinkPlugin/AnyThinkAds/Thrid/JsonWriter.cs diff --git a/AnyThinkAds/Thrid/JsonWriter.cs.meta b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonWriter.cs.meta similarity index 83% rename from AnyThinkAds/Thrid/JsonWriter.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Thrid/JsonWriter.cs.meta index 74b73a8..b8fb93f 100644 --- a/AnyThinkAds/Thrid/JsonWriter.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Thrid/JsonWriter.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c177f07debe464b46b7cd9f3b0a828f0 +guid: 869b38f1d4eec482ea08cf70e6bfbf06 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Thrid/Lexer.cs b/AnyThinkPlugin/AnyThinkAds/Thrid/Lexer.cs similarity index 100% rename from AnyThinkAds/Thrid/Lexer.cs rename to AnyThinkPlugin/AnyThinkAds/Thrid/Lexer.cs diff --git a/AnyThinkAds/Thrid/Lexer.cs.meta b/AnyThinkPlugin/AnyThinkAds/Thrid/Lexer.cs.meta similarity index 83% rename from AnyThinkAds/Thrid/Lexer.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Thrid/Lexer.cs.meta index 9ead715..8545f29 100644 --- a/AnyThinkAds/Thrid/Lexer.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Thrid/Lexer.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8f73d48b51cf04f78b69e3d6e61378ac +guid: 5e7434771fa224f61a22e6ce79a99c87 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Thrid/Netstandard15Polyfill.cs b/AnyThinkPlugin/AnyThinkAds/Thrid/Netstandard15Polyfill.cs similarity index 100% rename from AnyThinkAds/Thrid/Netstandard15Polyfill.cs rename to AnyThinkPlugin/AnyThinkAds/Thrid/Netstandard15Polyfill.cs diff --git a/AnyThinkAds/Thrid/Netstandard15Polyfill.cs.meta b/AnyThinkPlugin/AnyThinkAds/Thrid/Netstandard15Polyfill.cs.meta similarity index 83% rename from AnyThinkAds/Thrid/Netstandard15Polyfill.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Thrid/Netstandard15Polyfill.cs.meta index 3b8d70e..1996e00 100644 --- a/AnyThinkAds/Thrid/Netstandard15Polyfill.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Thrid/Netstandard15Polyfill.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 632edde0b3fbf4af6b45c060c264dfc4 +guid: 560fff21157eb4ab5af8c8eaa297b979 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkAds/Thrid/ParserToken.cs b/AnyThinkPlugin/AnyThinkAds/Thrid/ParserToken.cs similarity index 100% rename from AnyThinkAds/Thrid/ParserToken.cs rename to AnyThinkPlugin/AnyThinkAds/Thrid/ParserToken.cs diff --git a/AnyThinkAds/Thrid/ParserToken.cs.meta b/AnyThinkPlugin/AnyThinkAds/Thrid/ParserToken.cs.meta similarity index 83% rename from AnyThinkAds/Thrid/ParserToken.cs.meta rename to AnyThinkPlugin/AnyThinkAds/Thrid/ParserToken.cs.meta index 992941b..8cf1a59 100644 --- a/AnyThinkAds/Thrid/ParserToken.cs.meta +++ b/AnyThinkPlugin/AnyThinkAds/Thrid/ParserToken.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e48b775bfb271477488bc691a57ed51c +guid: 0573250d64a0f4c17adf425555f18b6b MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/AnyThinkPlugin/Resources.meta b/AnyThinkPlugin/Resources.meta index 1dbc62d..6ef13bd 100644 --- a/AnyThinkPlugin/Resources.meta +++ b/AnyThinkPlugin/Resources.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 58cb91947dc7b4472874a8bc04884701 +guid: 6406aee3c6e33471ebd37aa17f39f834 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkPlugin/Resources/Assets.meta b/AnyThinkPlugin/Resources/Assets.meta deleted file mode 100644 index dc70cc8..0000000 --- a/AnyThinkPlugin/Resources/Assets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: cef0820530e9ecb498292b4cd3a3c8e4 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkPlugin/Resources/Assets/ATAssetDatabaseManager.asset b/AnyThinkPlugin/Resources/Assets/ATAssetDatabaseManager.asset deleted file mode 100644 index 45940c0..0000000 --- a/AnyThinkPlugin/Resources/Assets/ATAssetDatabaseManager.asset +++ /dev/null @@ -1,29 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e1c2a723fcc7d4a5cad5c4b082740029, type: 3} - m_Name: ATAssetDatabaseManager - m_EditorClassIdentifier: - importingNetwork: - Name: - DisplayName: - DownloadUrl: - DependenciesFilePath: - PluginFileName: - PluginFilePaths: [] - LatestVersions: - Unity: - Android: - Ios: - CurrentVersions: - Unity: - Android: - Ios: diff --git a/AnyThinkPlugin/Resources/Assets/ATAssetDatabaseManager.asset.meta b/AnyThinkPlugin/Resources/Assets/ATAssetDatabaseManager.asset.meta deleted file mode 100644 index ae0ce31..0000000 --- a/AnyThinkPlugin/Resources/Assets/ATAssetDatabaseManager.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 63e477abad871dd428293d86073af5f7 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkPlugin/Resources/Assets/ATPluginSetting.asset b/AnyThinkPlugin/Resources/Assets/ATPluginSetting.asset deleted file mode 100644 index ff5bc32..0000000 --- a/AnyThinkPlugin/Resources/Assets/ATPluginSetting.asset +++ /dev/null @@ -1,32 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 74c9441c35d2f47f8b9642d36ec88750, type: 3} - m_Name: ATPluginSetting - m_EditorClassIdentifier: - adMobAndroidAppId: - adMobIosAppId: - coreNetwork: - Name: Core - DisplayName: Core - DownloadUrl: https://topon-sdk-release.oss-cn-hangzhou.aliyuncs.com/Unity/6.2.95-plugin/China/AnyThinkCore.unitypackage - DependenciesFilePath: - PluginFileName: AnyThinkCore.unitypackage - PluginFilePaths: [] - LatestVersions: - Unity: 2.0.3 - Android: 6.2.98 - Ios: 6.2.95 - CurrentVersions: - Unity: 2.0.3 - Android: 6.2.98 - Ios: 6.2.95 - enableAndroidX: 0 diff --git a/AnyThinkPlugin/Resources/Assets/ATPluginSetting.asset.meta b/AnyThinkPlugin/Resources/Assets/ATPluginSetting.asset.meta deleted file mode 100644 index d25a408..0000000 --- a/AnyThinkPlugin/Resources/Assets/ATPluginSetting.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 22ffb3543b46f34479c1f61cf6959a5a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/AnyThinkPlugin/Resources/Images.meta b/AnyThinkPlugin/Resources/Images.meta index 64a991b..e00b3d9 100644 --- a/AnyThinkPlugin/Resources/Images.meta +++ b/AnyThinkPlugin/Resources/Images.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: efeb43f1583cc4e0fa42aaaaa9a96367 +guid: b9e5f337a5f754f0c8423ca07168e235 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkPlugin/Resources/Images/alert_icon.png.meta b/AnyThinkPlugin/Resources/Images/alert_icon.png.meta index 50008aa..2195883 100644 --- a/AnyThinkPlugin/Resources/Images/alert_icon.png.meta +++ b/AnyThinkPlugin/Resources/Images/alert_icon.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 67ce9bdfd17df4d51a47bdf3d5c91944 +guid: 84ee1925ebaa4430587b1697a0cc378a TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 11 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,12 +20,9 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 - flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,12 +31,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -57,15 +54,10 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 - ignorePngGamma: 0 applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform @@ -79,42 +71,6 @@ TextureImporter: overridden: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] @@ -128,9 +84,9 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - nameFileIdTable: {} spritePackingTag: pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/AnyThinkPlugin/Resources/Images/uninstall_icon.png.meta b/AnyThinkPlugin/Resources/Images/uninstall_icon.png.meta index 3542219..deea63e 100644 --- a/AnyThinkPlugin/Resources/Images/uninstall_icon.png.meta +++ b/AnyThinkPlugin/Resources/Images/uninstall_icon.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 7701af57b4fad4b6eb2b01129daf623c +guid: 1ed8e1d1763ee441caf722be644994ba TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 11 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,12 +20,9 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 - flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,12 +31,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -57,15 +54,10 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 - ignorePngGamma: 0 applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform @@ -79,42 +71,6 @@ TextureImporter: overridden: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] @@ -128,9 +84,9 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - nameFileIdTable: {} spritePackingTag: pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/AnyThinkPlugin/Resources/Images/warning_icon.png.meta b/AnyThinkPlugin/Resources/Images/warning_icon.png.meta index 8ac321a..f261cce 100644 --- a/AnyThinkPlugin/Resources/Images/warning_icon.png.meta +++ b/AnyThinkPlugin/Resources/Images/warning_icon.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 4b53fd1e534fa4f96a74a6723926c91d +guid: a64dc878e75e44d2e9ed923628832495 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 11 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,12 +20,9 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 - flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,12 +31,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -57,15 +54,10 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 - ignorePngGamma: 0 applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform @@ -79,42 +71,6 @@ TextureImporter: overridden: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] @@ -128,9 +84,9 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - nameFileIdTable: {} spritePackingTag: pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/AnyThinkAds/Plugins/Android/China/Editor.meta b/AnyThinkPlugin/Resources/json.meta similarity index 77% rename from AnyThinkAds/Plugins/Android/China/Editor.meta rename to AnyThinkPlugin/Resources/json.meta index 8e576c5..5bcece7 100644 --- a/AnyThinkAds/Plugins/Android/China/Editor.meta +++ b/AnyThinkPlugin/Resources/json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 063c2379fd28a4ea9b8113386f6e2a94 +guid: a30b91c323a91724f99665444ab7d8f3 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkPlugin/Resources/json/2.1.0.meta b/AnyThinkPlugin/Resources/json/2.1.0.meta new file mode 100644 index 0000000..bbefe59 --- /dev/null +++ b/AnyThinkPlugin/Resources/json/2.1.0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dcb708d6d45d0f7419d7667d7ad9feba +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AnyThinkPlugin/Resources/json/2.1.0/plugin_setting_data.json b/AnyThinkPlugin/Resources/json/2.1.0/plugin_setting_data.json new file mode 100644 index 0000000..1ba1078 --- /dev/null +++ b/AnyThinkPlugin/Resources/json/2.1.0/plugin_setting_data.json @@ -0,0 +1 @@ +{"curCountry":1,"china":{"android_version":"6.2.98","ios_version":"","enableAndroidX":true,"country":1,"android_admob_app_id":"","ios_admob_app_id":""},"nonchina":{"android_version":"","ios_version":"","enableAndroidX":true,"country":2,"android_admob_app_id":"","ios_admob_app_id":""}} \ No newline at end of file diff --git a/AnyThinkPlugin/Resources/json/2.1.0/plugin_setting_data.json.meta b/AnyThinkPlugin/Resources/json/2.1.0/plugin_setting_data.json.meta new file mode 100644 index 0000000..379162a --- /dev/null +++ b/AnyThinkPlugin/Resources/json/2.1.0/plugin_setting_data.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ebfbacc2a04216f4b8a3f359ee7db1df +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AnyThinkPlugin/Script.meta b/AnyThinkPlugin/Script.meta index 71a7c8b..f4c9c7c 100644 --- a/AnyThinkPlugin/Script.meta +++ b/AnyThinkPlugin/Script.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 58d0c20f6770d4a1cbc22b191ffea767 +guid: 9b9ee5da8908b4536b36380cda3e0596 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkPlugin/Script/Editor.meta b/AnyThinkPlugin/Script/Editor.meta index 924fe07..34e5db2 100644 --- a/AnyThinkPlugin/Script/Editor.meta +++ b/AnyThinkPlugin/Script/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 86dba432439c547b3aae22c2c43ed14a +guid: a28c9fe78816c4e30a9dccf9aa57e4da folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AnyThinkPlugin/Script/Editor/ATAssetPostprocessor.cs b/AnyThinkPlugin/Script/Editor/ATAssetPostprocessor.cs deleted file mode 100644 index 0aaa415..0000000 --- a/AnyThinkPlugin/Script/Editor/ATAssetPostprocessor.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System; -using UnityEditor; -using UnityEngine; -using AnyThink.Scripts.IntegrationManager.Editor; - -[InitializeOnLoad] -public class ATAssetPostprocessor : AssetPostprocessor -{ - private static readonly string TAG = "ATAssetPostprocessor"; - - static ATAssetPostprocessor() - { - log("ATAssetPostprocessor is now initialized!"); - } - void OnPostprocessAsset(string path) - { - log("OnPostprocessAsset() >>> 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: