diff --git a/CHANGELOG.md b/CHANGELOG.md index 43138ef..a5f122f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Clever Ads Solutions Unity Plugin Change Log +## [1.9.6] - 2021-01-27 +### Dependencies +- [Android] Wraps [1.9.6 SDK](https://github.com/cleveradssolutions/CAS-Android/releases) +- [iOS] Wraps [1.9.6 SDK](https://github.com/cleveradssolutions/CAS-iOS/releases) +### Features +- [CrossPromotion] Added support for new functionality to override ad destination link using a web page. In the future, we will detail these possibilities when we have everything ready. +- [CrossPromotion] Added a new meta flag `CAS.MediationExtras.crossPromoEndless` to disable endless display ad. +- [MyTarget] Added a new meta flags `CAS.MediationExtras.myTargetGDPRConsent` and `CAS.MediationExtras.myTargetCCPAOptedOut` to override GDPR and CCPA status. +- [Yandex Ads] Added a new meta flags `CAS.MediationExtras.yandexAdsGDPRConsent` to override GDPR status. +- [Editor] Implemented `CAS.MobileAds.GetActiveNetworks()` in Editor to get list of active network dependencies. +### Bug Fixes +- [Editor] Fix renderer progress bar of check for updates on open `Assets > CleverAdsSolutions > Settings` window. + ## [1.9.5] - 2021-01-25 ### Dependencies - [Android] Wraps [1.9.5 SDK](https://github.com/cleveradssolutions/CAS-Android/releases) diff --git a/CHANGELOG.md.meta b/CHANGELOG.md.meta index 7999d53..b650750 100644 --- a/CHANGELOG.md.meta +++ b/CHANGELOG.md.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 guid: 679259c947b314e0b919c0b44a7072c7 +labels: +- CleverAdsSolutions TextScriptImporter: externalObjects: {} userData: diff --git a/Editor/CASEditorUtils.cs b/Editor/CASEditorUtils.cs index 9c96a93..951644a 100644 --- a/Editor/CASEditorUtils.cs +++ b/Editor/CASEditorUtils.cs @@ -32,15 +32,16 @@ public static class CASEditorUtils public const string launcherGradlePath = "Assets/Plugins/Android/launcherTemplate.gradle"; public const string projectGradlePath = "Assets/Plugins/Android/baseProjectTemplate.gradle"; public const string packageManifestPath = "Packages/manifest.json"; + + public const string gitRootURL = "https://github.com/cleveradssolutions/"; + public const string websiteURL = "https://cleveradssolutions.com"; #endregion #region Internal Constants - internal const string gitRootURL = "https://github.com/cleveradssolutions/"; internal const string gitUnityRepo = "CAS-Unity"; internal const string gitUnityRepoURL = gitRootURL + gitUnityRepo; internal const string supportURL = gitUnityRepoURL + "#support"; internal const string configuringPrivacyURL = gitUnityRepoURL + "#include-ios"; - internal const string websiteURL = "https://cleveradssolutions.com"; internal const string generalDeprecateDependency = "General"; internal const string teenDeprecateDependency = "Teen"; @@ -172,6 +173,90 @@ public static bool TryResolveAndroidDependencies( bool force = true ) } return success; } + + public static string GetNewVersionOrNull( string repo, string currVersion, bool force ) + { + try + { + var newVerStr = GetLatestVersion( repo, force, currVersion ); + if (newVerStr != null && newVerStr != currVersion) + { + var currVer = new System.Version( currVersion ); + var newVer = new System.Version( newVerStr ); + if (currVer < newVer) + return newVerStr; + } + } + catch (Exception e) + { + Debug.LogException( e ); + } + return null; + } + + public static bool IsPackageExist( string package ) + { + return File.Exists( packageManifestPath ) && + File.ReadAllText( packageManifestPath ).Contains( package ); + } + + public static void LinksToolbarGUI( string gitRepoName ) + { + EditorGUILayout.BeginHorizontal( EditorStyles.toolbar ); + if (GUILayout.Button( "Support", EditorStyles.toolbarButton, GUILayout.ExpandWidth( false ) )) + Application.OpenURL( gitRootURL + gitRepoName + "#support" ); + if (GUILayout.Button( "GitHub", EditorStyles.toolbarButton, GUILayout.ExpandWidth( false ) )) + Application.OpenURL( gitRootURL + gitRepoName ); + if (GUILayout.Button( "CleverAdsSolutions.com", EditorStyles.toolbarButton )) + Application.OpenURL( websiteURL ); + EditorGUILayout.EndHorizontal(); + } + + public static void AboutRepoGUI( string gitRepoName, bool allowedPackageUpdate, string currVersion, ref string newCASVersion ) + { + EditorGUILayout.BeginHorizontal(); + GUILayout.Label( gitRepoName + " version: " + currVersion ); + if (GUILayout.Button( "Check for Updates", EditorStyles.miniButton, GUILayout.ExpandWidth( false ) )) + { + newCASVersion = GetNewVersionOrNull( gitRepoName, currVersion, true ); + string message = string.IsNullOrEmpty( newCASVersion ) ? "You are using the latest version." + : "There is a new version " + newCASVersion + " of the " + gitRepoName + " available for update."; + EditorUtility.DisplayDialog( "Check for Updates", message, "OK" ); + } + EditorGUILayout.EndHorizontal(); + if (!string.IsNullOrEmpty( newCASVersion )) + { + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.HelpBox( "There is a new version " + newCASVersion + " of the " + gitRepoName + " available for update.", MessageType.Warning ); + var layoutParams = new[] { GUILayout.Height( 38 ), GUILayout.ExpandWidth( false ) }; +#if UNITY_2018_4_OR_NEWER + if (allowedPackageUpdate && GUILayout.Button( "Update", layoutParams )) + { + var request = UnityEditor.PackageManager.Client.Add( gitRootURL + gitRepoName + ".git#" + newCASVersion ); + try + { + while (!request.IsCompleted) + { + if (EditorUtility.DisplayCancelableProgressBar( + "Update Package Manager dependency", gitRepoName + " " + newCASVersion, 0.5f )) + break; + } + if (request.Status == UnityEditor.PackageManager.StatusCode.Success) + Debug.Log( "Package Manager: Update " + request.Result.displayName ); + else if (request.Status >= UnityEditor.PackageManager.StatusCode.Failure) + Debug.LogError( request.Error.message ); + } + finally + { + EditorUtility.ClearProgressBar(); + } + } +#endif + if (GUILayout.Button( "Releases", layoutParams )) + Application.OpenURL( gitRootURL + gitRepoName + "/releases" ); + EditorGUILayout.EndHorizontal(); + } + } #endregion #region Internal API @@ -183,12 +268,6 @@ internal static bool IsFirebaseServiceExist( string service ) return IsPackageExist( "com.google.firebase." + service ); } - internal static bool IsPackageExist( string package ) - { - return File.Exists( packageManifestPath ) && - File.ReadAllText( packageManifestPath ).Contains( package ); - } - internal static void OpenSettingsWindow( BuildTarget target ) { var asset = GetSettingsAsset( target ); @@ -447,26 +526,6 @@ private static void WriteSettingsForPlatform( string content, BuildTarget target WriteToFile( content, iosResSettingsPath ); } - internal static string GetNewVersionOrNull( string repo, string currVersion, bool force ) - { - try - { - var newVerStr = GetLatestVersion( repo, force ); - if (newVerStr != null && newVerStr != currVersion) - { - var currVer = new System.Version( currVersion ); - var newVer = new System.Version( newVerStr ); - if (currVer < newVer) - return newVerStr; - } - } - catch (Exception e) - { - Debug.LogException( e ); - } - return null; - } - internal static HashSet GetCrossPromoAlias( BuildTarget platform ) { var result = new HashSet(); @@ -498,11 +557,11 @@ internal static HashSet GetCrossPromoAlias( BuildTarget platform ) return result; } - internal static string GetLatestVersion( string repo, bool force ) + internal static string GetLatestVersion( string repo, bool force, string currVersion ) { if (!force && !HasTimePassed( editorLatestVersionTimestampPrefs + repo, 1, false )) { - var last = PlayerPrefs.GetString( editorLatestVersionPrefs + repo ); + var last = EditorPrefs.GetString( editorLatestVersionPrefs + repo ); if (!string.IsNullOrEmpty( last )) return last; } @@ -522,6 +581,7 @@ internal static string GetLatestVersion( string repo, bool force ) Mathf.Repeat( ( float )EditorApplication.timeSinceStartup, 1.0f ) )) { loader.Dispose(); + SaveLatestRepoVersion( repo, currVersion ); return null; } } @@ -536,21 +596,28 @@ internal static string GetLatestVersion( string repo, bool force ) var content = loader.downloadHandler.text; var versionInfo = JsonUtility.FromJson( content ); if (!string.IsNullOrEmpty( versionInfo.tag_name )) - { - PlayerPrefs.SetString( editorLatestVersionPrefs + repo, versionInfo.tag_name ); - EditorPrefs.SetString( editorLatestVersionTimestampPrefs + repo, DateTime.Now.ToBinary().ToString() ); - } + SaveLatestRepoVersion( repo, versionInfo.tag_name ); + return versionInfo.tag_name; } else { - Debug.LogError( logTag + "Response " + loader.responseCode + ": " + loader.error ); + Debug.LogError( logTag + "Check " + repo + " updates failed. Response " + + loader.responseCode + ": " + loader.error ); + SaveLatestRepoVersion( repo, currVersion ); } + } return null; } + private static void SaveLatestRepoVersion( string repo, string version ) + { + EditorPrefs.SetString( editorLatestVersionPrefs + repo, version ); + EditorPrefs.SetString( editorLatestVersionTimestampPrefs + repo, DateTime.Now.ToBinary().ToString() ); + } + internal static bool HasTimePassed( string prefKey, int days, bool projectOnly ) { string pref; diff --git a/Editor/CASInitSettignsInspector.cs b/Editor/CASInitSettignsInspector.cs index 2c600dd..d9aeac8 100644 --- a/Editor/CASInitSettignsInspector.cs +++ b/Editor/CASInitSettignsInspector.cs @@ -28,7 +28,7 @@ internal class CASInitSettignsInspector : Editor private ReorderableList managerIdsList; private BuildTarget platform; private bool allowedPackageUpdate; - private string newCASVersion; + private string newCASVersion = null; private bool deprecateDependenciesExist; //private bool usingMultidexOnBuild; @@ -70,10 +70,12 @@ private void OnEnable() }; allowedPackageUpdate = Utils.IsPackageExist( Utils.packageName ); - newCASVersion = Utils.GetNewVersionOrNull( Utils.gitUnityRepo, MobileAds.wrapperVersion, false ); + //usingMultidexOnBuild = PlayerPrefs.GetInt( Utils.editorIgnoreMultidexPrefs, 0 ) == 0; dependencyManager = DependencyManager.Create( platform, ( Audience )audienceTaggedProp.enumValueIndex, true ); + + EditorApplication.delayCall += () => newCASVersion = Utils.GetNewVersionOrNull( Utils.gitUnityRepo, MobileAds.wrapperVersion, false ); } private void DrawListHeader( Rect rect ) @@ -94,7 +96,7 @@ public override void OnInspectorGUI() var obj = serializedObject; obj.UpdateIfRequiredOrScript(); - LinksToolbarGUI(); + Utils.LinksToolbarGUI( Utils.gitUnityRepo ); HelpStyles.BeginBoxScope(); EditorGUILayout.PropertyField( testAdModeProp ); @@ -137,7 +139,7 @@ public override void OnInspectorGUI() DrawSeparator(); DeprecatedDependenciesGUI(); - OnCASAboutGUI(); + Utils.AboutRepoGUI( Utils.gitUnityRepo, allowedPackageUpdate, MobileAds.wrapperVersion, ref newCASVersion ); if (dependencyManager == null) { @@ -275,65 +277,6 @@ private void OnEditroRuntimeActiveAdGUI() } } - private void OnCASAboutGUI() - { - EditorGUILayout.BeginHorizontal(); - GUILayout.Label( "CAS Unity wrapper version: " + MobileAds.wrapperVersion ); - if (GUILayout.Button( "Check for Updates", EditorStyles.miniButton, GUILayout.ExpandWidth( false ) )) - { - newCASVersion = Utils.GetNewVersionOrNull( Utils.gitUnityRepo, MobileAds.wrapperVersion, true ); - string message = string.IsNullOrEmpty( newCASVersion ) ? "You are using the latest version." - : "There is a new version " + newCASVersion + " of the CAS Unity available for update."; - EditorUtility.DisplayDialog( "Check for Updates", message, "OK" ); - } - EditorGUILayout.EndHorizontal(); - if (!string.IsNullOrEmpty( newCASVersion )) - { - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.HelpBox( "There is a new version " + newCASVersion + " of the CAS Unity available for update.", MessageType.Warning ); - var layoutParams = new[] { GUILayout.Height( 38 ), GUILayout.ExpandWidth( false ) }; -#if UNITY_2018_4_OR_NEWER - if (allowedPackageUpdate && GUILayout.Button( "Update", layoutParams )) - { - var request = UnityEditor.PackageManager.Client.Add( Utils.gitUnityRepoURL + ".git#" + newCASVersion ); - try - { - while (!request.IsCompleted) - { - if (EditorUtility.DisplayCancelableProgressBar( - "Update Package Manager dependency", "Clever Ads Solutions " + newCASVersion, 0.5f )) - break; - } - if (request.Status == UnityEditor.PackageManager.StatusCode.Success) - Debug.Log( "Package Manager: Update " + request.Result.displayName ); - else if (request.Status >= UnityEditor.PackageManager.StatusCode.Failure) - Debug.LogError( request.Error.message ); - } - finally - { - EditorUtility.ClearProgressBar(); - } - } -#endif - if (GUILayout.Button( "Releases", layoutParams )) - Application.OpenURL( Utils.gitUnityRepoURL + "/releases" ); - EditorGUILayout.EndHorizontal(); - } - - } - - private void LinksToolbarGUI() - { - EditorGUILayout.BeginHorizontal( EditorStyles.toolbar ); - if (GUILayout.Button( "Support", EditorStyles.toolbarButton, GUILayout.ExpandWidth( false ) )) - Application.OpenURL( Utils.supportURL ); - if (GUILayout.Button( "GitHub", EditorStyles.toolbarButton, GUILayout.ExpandWidth( false ) )) - Application.OpenURL( Utils.gitUnityRepoURL ); - if (GUILayout.Button( "CleverAdsSolutions.com", EditorStyles.toolbarButton )) - Application.OpenURL( Utils.websiteURL ); - EditorGUILayout.EndHorizontal(); - } - private void DeprecatedDependenciesGUI() { if (deprecateDependenciesExist) diff --git a/Editor/CASInternal.cs b/Editor/CASInternal.cs index beaea1e..c2d96f7 100644 --- a/Editor/CASInternal.cs +++ b/Editor/CASInternal.cs @@ -98,8 +98,6 @@ public partial class DependencyManager internal bool installedAny; - private bool firebaseDeepLinksExist; - private static bool solutionsFoldout = true; private static bool advancedFoldout; private static bool otherFoldout; @@ -149,8 +147,6 @@ internal void Init( BuildTarget platform, bool deepInit = true ) } } } - - firebaseDeepLinksExist = Utils.IsFirebaseServiceExist( "dynamic" ); } private void OnHeaderGUI() diff --git a/Editor/DependencyManager.cs b/Editor/DependencyManager.cs index 9518e8b..72f0826 100644 --- a/Editor/DependencyManager.cs +++ b/Editor/DependencyManager.cs @@ -42,6 +42,23 @@ public static DependencyManager Create( Dependency[] simple, Dependency[] advanc }; } + // Reflection target + public static string GetActiveMediationPattern() + { + var target = Create( EditorUserBuildSettings.activeBuildTarget, Audience.Mixed, true ); + if (target == null) + return ""; + + var networks = Enum.GetValues( typeof( AdNetwork ) ); + var result = new char[networks.Length]; + for (int i = 0; i < networks.Length; i++) + { + var dependency = target.Find( ( ( AdNetwork )networks.GetValue( i ) ).ToString() ); + result[i] = ( dependency != null && dependency.isInstalled() ) ? '1' : '0'; + } + return new string( result ); + } + public Dependency Find( string name ) { for (int i = 0; i < simple.Length; i++) @@ -63,7 +80,7 @@ public Dependency FindCrossPromotion() } } - + [Serializable] public partial class Dependency diff --git a/LICENSE.md.meta b/LICENSE.md.meta index 2362591..6055ff2 100644 --- a/LICENSE.md.meta +++ b/LICENSE.md.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 guid: a2fbdefb26bd44eb291f0532b7f19449 +labels: +- CleverAdsSolutions TextScriptImporter: externalObjects: {} userData: diff --git a/Runtime/CASFactory.cs b/Runtime/CASFactory.cs index b6460c6..fe8ef52 100644 --- a/Runtime/CASFactory.cs +++ b/Runtime/CASFactory.cs @@ -133,7 +133,17 @@ internal static void ValidateIntegration() internal static string GetActiveMediationPattern() { #if UNITY_EDITOR - // TODO: Implementation editor + try + { + return ( string )Type.GetType( "CAS.UEditor.DependencyManager, CleverAdsSolutions-Editor", true ) + .GetMethod( "GetActiveMediationPattern", + System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public ) + .Invoke( null, null ); + } + catch (Exception e) + { + Debug.LogException( e ); + } #elif UNITY_ANDROID if (Application.platform == RuntimePlatform.Android) { @@ -162,7 +172,9 @@ internal static AdNetwork[] GetActiveNetworks() internal static bool IsActiveNetwork( AdNetwork network ) { #if UNITY_EDITOR - // TODO: Implementation editor + var pattern = GetActiveMediationPattern(); + if (( int )network < pattern.Length) + return pattern[( int )network] == '1'; #elif UNITY_ANDROID if (Application.platform == RuntimePlatform.Android) { diff --git a/Runtime/Common/AdNetwork.cs b/Runtime/Common/AdNetwork.cs index 8b4e20c..bb87eb0 100644 --- a/Runtime/Common/AdNetwork.cs +++ b/Runtime/Common/AdNetwork.cs @@ -1,8 +1,10 @@ -namespace CAS +using System; + +namespace CAS { public enum AdNetwork { - AdMob, + GoogleAds, Vungle, Kidoz, Chartboost, @@ -15,12 +17,12 @@ public enum AdNetwork InMobi, MobFox, MyTarget, - CrossPromo, + CrossPromotion, IronSource, YandexAds, OwnVAST, AmazonAds, Verizon, - MoPub + MoPub, } } \ No newline at end of file diff --git a/Runtime/Common/MediationExtras.cs b/Runtime/Common/MediationExtras.cs index f64cdcf..3788f85 100644 --- a/Runtime/Common/MediationExtras.cs +++ b/Runtime/Common/MediationExtras.cs @@ -48,5 +48,18 @@ public class MediationExtras public const string unityAdsCCPAOptedOut = "U_ccpa"; public const string startAppGDPRConsent = "StA_gdpr"; + + /// + /// Enables/disables endless impression Cross promo creative when waterfall have no loaded ad. + /// + /// Default value is enabled "1". + /// if "0" disables the endless impression. + /// + public const string crossPromoEndless = "P_endless"; + + public const string myTargetGDPRConsent = "MT_gdpr"; + public const string myTargetCCPAOptedOut = "MT_ccpa"; + + public const string yandexAdsGDPRConsent = "Ya_gdpr"; } } diff --git a/Runtime/Common/MobileAds.cs b/Runtime/Common/MobileAds.cs index 6595296..5c7dec3 100644 --- a/Runtime/Common/MobileAds.cs +++ b/Runtime/Common/MobileAds.cs @@ -11,7 +11,7 @@ public static class MobileAds /// /// CAS Unity wrapper version /// - public const string wrapperVersion = "1.9.5"; + public const string wrapperVersion = "1.9.6"; /// /// Get singleton instance for configure all mediation managers. @@ -136,6 +136,7 @@ public static void ValidateIntegration() /// Mediation pattern string with format '1' - active and '0' - not active. /// Char index of string pattern equals enum index of /// + [Obsolete( "Use GetActiveNetworks() instead.")] public static string GetActiveMediationPattern() { return CASFactory.GetActiveMediationPattern(); diff --git a/Templates/CASAndroidMediation.list b/Templates/CASAndroidMediation.list index 049f999..c5a25ed 100644 --- a/Templates/CASAndroidMediation.list +++ b/Templates/CASAndroidMediation.list @@ -1 +1 @@ -{"simple":[{"name":"MixedAudience","version":"1.9.5","require":"","url":"","filter":-1,"dependencies":["com.cleversolutions.ads:cas-sdk-teen:1.9.5","tv.superawesome.sdk.publisher:superawesome:7.2.18+"],"contains":["Base","Additional","GoogleAds","UnityAds","IronSource","AdColony","Vungle","AppLovin","InMobi","StartApp","Kidoz","FacebookAN","YandexAds","SuperAwesome"],"source":[],"labels":0},{"name":"FamiliesAds","version":"1.9.5","require":"","url":"","filter":2,"dependencies":["com.cleversolutions.ads:cas-sdk-general:1.9.5"],"contains":["Base","GoogleAds","UnityAds","IronSource","AdColony","Vungle","AppLovin","InMobi","StartApp","Kidoz","SuperAwesome"],"source":[],"labels":0},{"name":"NotChildrenAds","version":"1.9.5","require":"","url":"","filter":0,"dependencies":["com.cleversolutions.ads:cas-sdk-teen:1.9.5"],"contains":["Base","Additional","GoogleAds","UnityAds","IronSource","AdColony","Vungle","AppLovin","InMobi","StartApp","Kidoz","FacebookAN","YandexAds"],"source":[],"labels":0},{"name":"CrossPromotion","version":"1.9.5","require":"Base","url":"https://github.com/cleveradssolutions/CAS-Unity#step-1-add-the-cas-package-to-your-project","filter":1,"dependencies":["com.cleversolutions.ads:cas-promo:1.9.5"],"contains":[],"source":[],"labels":0}],"advanced":[{"name":"Base","version":"1.9.5","require":"","url":"https://cleveradssolutions.com/","filter":1,"dependencies":["com.cleversolutions.ads:cas-sdk:1.9.5"],"contains":[],"source":["https://dl.bintray.com/cleveradssolutions/CAS-Android"],"labels":0},{"name":"Additional","version":"1.9.5","require":"Base","url":"https://cleveradssolutions.com/","filter":0,"dependencies":["com.cleversolutions.ads:mediation-teen:1.9.5"],"contains":[],"source":[],"labels":0},{"name":"GoogleAds","version":"19.6.0","require":"Base","url":"https://admob.google.com/home/","filter":1,"dependencies":["com.google.android.gms:play-services-ads:19.6.0"],"contains":[],"source":[],"labels":7},{"name":"UnityAds","version":"3.6.0","require":"Base","url":"https://unity.com/solutions/unity-ads","filter":1,"dependencies":["com.unity3d.ads:unity-ads:3.6.0"],"contains":[],"source":[],"labels":7},{"name":"IronSource","version":"7.1.0.1","require":"Base","url":"https://www.ironsrc.com","filter":1,"dependencies":["com.ironsource.sdk:mediationsdk:7.1.0.1+"],"contains":[],"source":["https://dl.bintray.com/ironsource-mobile/android-sdk"],"labels":6},{"name":"AdColony","version":"4.4.0","require":"Base","url":"https://www.adcolony.com/","filter":1,"dependencies":["com.adcolony:sdk:4.4.0"],"contains":[],"source":["https://adcolony.bintray.com/AdColony"],"labels":7},{"name":"Vungle","version":"6.9.1","require":"Base","url":"https://vungle.com/","filter":1,"dependencies":["com.vungle:publisher-sdk-android:6.9.1+"],"contains":[],"source":[],"labels":7},{"name":"AppLovin","version":"9.15.1","require":"Base","url":"https://www.applovin.com/","filter":1,"dependencies":["com.applovin:applovin-sdk:9.15.1+"],"contains":[],"source":[],"labels":7},{"name":"InMobi","version":"9.1.1","require":"Base","url":"https://www.inmobi.com/","filter":1,"dependencies":["com.inmobi.monetization:inmobi-ads:9.1.1+"],"contains":[],"source":[],"labels":7},{"name":"Chartboost","version":"8.2.0","require":"Base","url":"https://www.chartboost.com/","filter":1,"dependencies":["com.chartboost:chartboost-sdk:8.2.0"],"contains":[],"source":["https://chartboostmobile.bintray.com/Chartboost"],"labels":7},{"name":"StartApp","version":"4.7.5","require":"Base","url":"https://www.startapp.com/","filter":1,"dependencies":["com.startapp:inapp-sdk:4.7.5+"],"contains":[],"source":[],"labels":7},{"name":"Kidoz","version":"8.9.0","require":"Base","url":"https://kidoz.net/","filter":1,"dependencies":["com.kidoz.sdk:KidozSDK:8.9.0+"],"contains":[],"source":[],"labels":7},{"name":"SuperAwesome","version":"7.2.18","require":"Base","url":"https://www.superawesome.com/","filter":2,"dependencies":["tv.superawesome.sdk.publisher:superawesome:7.2.18+"],"contains":[],"source":["http://dl.bintray.com/gabrielcoman/maven","http://dl.bintray.com/superawesome/SuperAwesomeSDK"],"labels":7},{"name":"FacebookAN","version":"6.2.0","require":"Additional","url":"https://www.facebook.com/business/marketing/audience-network","filter":0,"dependencies":["com.facebook.android:audience-network-sdk:6.2.0"],"contains":[],"source":[],"labels":7},{"name":"YandexAds","version":"3.2.0","require":"Additional","url":"https://yandex.ru/dev/mobile-ads","filter":0,"dependencies":["com.yandex.android:mobileads:3.2.0+","com.yandex.android:mobmetricalib:3.14.3"],"contains":[],"source":[],"labels":3},{"name":"MoPub","version":"5.15.0","require":"Additional","url":"https://www.mopub.com/","filter":0,"dependencies":["com.mopub:mopub-sdk-banner:5.15.0+","com.mopub:mopub-sdk-fullscreen:5.15.0+"],"contains":[],"source":[],"labels":23},{"name":"MyTarget","version":"5.11.10","require":"Additional","url":"https://target.my.com/","filter":0,"dependencies":["com.my.target:mytarget-sdk:5.11.10+"],"contains":[],"source":[],"labels":23},{"name":"Verizon","version":"1.8.2","require":"Additional","url":"https://www.verizonmedia.com/advertising/solutions#/mobile","filter":0,"dependencies":["com.verizon.ads:android-vas-standard-edition:1.8.2+"],"contains":[],"source":[],"labels":23},{"name":"MobFox","version":"4.3.2","require":"Additional","url":"https://www.mobfox.com/","filter":0,"dependencies":["com.github.mobfox:mfx-android-sdk:4.3.2+","com.android.volley:volley:1.1.1"],"contains":[],"source":["https://jitpack.io"],"labels":23},{"name":"AmazonAds","version":"6.0.0","require":"Additional","url":"https://advertising.amazon.com/","filter":0,"dependencies":["com.amazon.android:mobile-ads:6.0.0"],"contains":[],"source":[],"labels":17}]} \ No newline at end of file +{"simple":[{"name":"MixedAudience","version":"1.9.6","require":"","url":"","filter":-1,"dependencies":["com.cleversolutions.ads:cas-sdk-teen:1.9.6","tv.superawesome.sdk.publisher:superawesome:7.2.18+"],"contains":["Base","Additional","GoogleAds","UnityAds","IronSource","AdColony","Vungle","AppLovin","InMobi","StartApp","Kidoz","FacebookAN","YandexAds","SuperAwesome"],"source":[],"labels":0},{"name":"FamiliesAds","version":"1.9.6","require":"","url":"","filter":2,"dependencies":["com.cleversolutions.ads:cas-sdk-general:1.9.6"],"contains":["Base","GoogleAds","UnityAds","IronSource","AdColony","Vungle","AppLovin","InMobi","StartApp","Kidoz","SuperAwesome"],"source":[],"labels":0},{"name":"NotChildrenAds","version":"1.9.6","require":"","url":"","filter":0,"dependencies":["com.cleversolutions.ads:cas-sdk-teen:1.9.6"],"contains":["Base","Additional","GoogleAds","UnityAds","IronSource","AdColony","Vungle","AppLovin","InMobi","StartApp","Kidoz","FacebookAN","YandexAds"],"source":[],"labels":0},{"name":"CrossPromotion","version":"1.9.6","require":"Base","url":"https://github.com/cleveradssolutions/CAS-Unity#step-1-add-the-cas-package-to-your-project","filter":1,"dependencies":["com.cleversolutions.ads:cas-promo:1.9.6"],"contains":[],"source":[],"labels":0}],"advanced":[{"name":"Base","version":"1.9.6","require":"","url":"https://cleveradssolutions.com/","filter":1,"dependencies":["com.cleversolutions.ads:cas-sdk:1.9.6"],"contains":[],"source":["https://dl.bintray.com/cleveradssolutions/CAS-Android"],"labels":0},{"name":"Additional","version":"1.9.6","require":"Base","url":"https://cleveradssolutions.com/","filter":0,"dependencies":["com.cleversolutions.ads:mediation-teen:1.9.6"],"contains":[],"source":[],"labels":0},{"name":"GoogleAds","version":"19.6.0","require":"Base","url":"https://admob.google.com/home/","filter":1,"dependencies":["com.google.android.gms:play-services-ads:19.6.0"],"contains":[],"source":[],"labels":7},{"name":"UnityAds","version":"3.6.0","require":"Base","url":"https://unity.com/solutions/unity-ads","filter":1,"dependencies":["com.unity3d.ads:unity-ads:3.6.0"],"contains":[],"source":[],"labels":7},{"name":"IronSource","version":"7.1.0.2","require":"Base","url":"https://www.ironsrc.com","filter":1,"dependencies":["com.ironsource.sdk:mediationsdk:7.1.0.2+"],"contains":[],"source":["https://dl.bintray.com/ironsource-mobile/android-sdk"],"labels":6},{"name":"AdColony","version":"4.4.0","require":"Base","url":"https://www.adcolony.com/","filter":1,"dependencies":["com.adcolony:sdk:4.4.0"],"contains":[],"source":["https://adcolony.bintray.com/AdColony"],"labels":7},{"name":"Vungle","version":"6.9.1","require":"Base","url":"https://vungle.com/","filter":1,"dependencies":["com.vungle:publisher-sdk-android:6.9.1+"],"contains":[],"source":[],"labels":7},{"name":"AppLovin","version":"9.15.1","require":"Base","url":"https://www.applovin.com/","filter":1,"dependencies":["com.applovin:applovin-sdk:9.15.1+"],"contains":[],"source":[],"labels":7},{"name":"InMobi","version":"9.1.1","require":"Base","url":"https://www.inmobi.com/","filter":1,"dependencies":["com.inmobi.monetization:inmobi-ads:9.1.1+"],"contains":[],"source":[],"labels":7},{"name":"Chartboost","version":"8.2.0","require":"Base","url":"https://www.chartboost.com/","filter":1,"dependencies":["com.chartboost:chartboost-sdk:8.2.0"],"contains":[],"source":["https://chartboostmobile.bintray.com/Chartboost"],"labels":7},{"name":"StartApp","version":"4.7.5","require":"Base","url":"https://www.startapp.com/","filter":1,"dependencies":["com.startapp:inapp-sdk:4.7.5+"],"contains":[],"source":[],"labels":7},{"name":"Kidoz","version":"8.9.0","require":"Base","url":"https://kidoz.net/","filter":1,"dependencies":["com.kidoz.sdk:KidozSDK:8.9.0+"],"contains":[],"source":[],"labels":7},{"name":"SuperAwesome","version":"7.2.18","require":"Base","url":"https://www.superawesome.com/","filter":2,"dependencies":["tv.superawesome.sdk.publisher:superawesome:7.2.18+"],"contains":[],"source":["http://dl.bintray.com/gabrielcoman/maven","http://dl.bintray.com/superawesome/SuperAwesomeSDK"],"labels":7},{"name":"FacebookAN","version":"6.2.0","require":"Additional","url":"https://www.facebook.com/business/marketing/audience-network","filter":0,"dependencies":["com.facebook.android:audience-network-sdk:6.2.0"],"contains":[],"source":[],"labels":7},{"name":"YandexAds","version":"3.2.0","require":"Additional","url":"https://yandex.ru/dev/mobile-ads","filter":0,"dependencies":["com.yandex.android:mobileads:3.2.0+","com.yandex.android:mobmetricalib:3.14.3"],"contains":[],"source":[],"labels":3},{"name":"MoPub","version":"5.15.0","require":"Additional","url":"https://www.mopub.com/","filter":0,"dependencies":["com.mopub:mopub-sdk-banner:5.15.0+","com.mopub:mopub-sdk-fullscreen:5.15.0+"],"contains":[],"source":[],"labels":23},{"name":"MyTarget","version":"5.11.10","require":"Additional","url":"https://target.my.com/","filter":0,"dependencies":["com.my.target:mytarget-sdk:5.11.10+"],"contains":[],"source":[],"labels":23},{"name":"Verizon","version":"1.8.2","require":"Additional","url":"https://www.verizonmedia.com/advertising/solutions#/mobile","filter":0,"dependencies":["com.verizon.ads:android-vas-standard-edition:1.8.2+"],"contains":[],"source":[],"labels":23},{"name":"MobFox","version":"4.3.2","require":"Additional","url":"https://www.mobfox.com/","filter":0,"dependencies":["com.github.mobfox:mfx-android-sdk:4.3.2+","com.android.volley:volley:1.1.1"],"contains":[],"source":["https://jitpack.io"],"labels":23},{"name":"AmazonAds","version":"6.0.0","require":"Additional","url":"https://advertising.amazon.com/","filter":0,"dependencies":["com.amazon.android:mobile-ads:6.0.0"],"contains":[],"source":[],"labels":17}]} \ No newline at end of file diff --git a/Templates/CASiOSMediation.list b/Templates/CASiOSMediation.list index d1f8974..653de51 100644 --- a/Templates/CASiOSMediation.list +++ b/Templates/CASiOSMediation.list @@ -1 +1 @@ -{"simple":[{"name":"Recomended","version":"1.9.5","require":"","url":"","filter":1,"dependencies":["CleverAdsSolutions-SDK"],"contains":["GoogleAds","UnityAds","IronSource","AdColony","Vungle","AppLovin","InMobi","FacebookAN","YandexAds","Kidoz","StartApp","SuperAwesome","Main","Base"],"source":[],"labels":0},{"name":"Main","version":"1.9.5","require":"","url":"","filter":1,"dependencies":["CleverAdsSolutions-SDK/General"],"contains":["GoogleAds","UnityAds","IronSource","AdColony","Vungle","AppLovin","InMobi","Base"],"source":[],"labels":0},{"name":"CrossPromotion","version":"1.9.5","require":"","url":"https://github.com/cleveradssolutions/CAS-Unity#step-1-add-the-cas-package-to-your-project","filter":1,"dependencies":["CleverAdsSolutions-Promo"],"contains":["Base","Cross-promotion uses Firebase Deep Link to track conversions."],"source":[],"labels":0}],"advanced":[{"name":"Base","version":"1.0","require":"","url":"","filter":0,"dependencies":[],"contains":[],"source":["https://github.com/CocoaPods/Specs.git","https://github.com/cleveradssolutions/CAS-Specs.git"],"labels":0},{"name":"GoogleAds","version":"1.9.5","require":"","url":"https://admob.google.com/home/","filter":1,"dependencies":["CleverAdsSolutions-SDK/GoogleAds"],"contains":["Base"],"source":[],"labels":7},{"name":"UnityAds","version":"1.9.5","require":"","url":"https://unity.com/solutions/unity-ads","filter":1,"dependencies":["CleverAdsSolutions-SDK/UnityAds"],"contains":["Base"],"source":[],"labels":7},{"name":"IronSource","version":"1.9.5","require":"","url":"https://www.ironsrc.com","filter":1,"dependencies":["CleverAdsSolutions-SDK/IronSource"],"contains":["Base"],"source":[],"labels":6},{"name":"AdColony","version":"1.9.5","require":"","url":"https://www.adcolony.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/AdColony"],"contains":["Base"],"source":[],"labels":7},{"name":"Vungle","version":"1.9.5","require":"","url":"https://vungle.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/Vungle"],"contains":["Base"],"source":[],"labels":7},{"name":"AppLovin","version":"1.9.5","require":"","url":"https://www.applovin.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/AppLovin"],"contains":["Base"],"source":[],"labels":7},{"name":"InMobi","version":"1.9.5","require":"","url":"https://www.inmobi.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/InMobi"],"contains":["Base"],"source":[],"labels":7},{"name":"Kidoz","version":"1.9.5","require":"","url":"https://kidoz.net/","filter":1,"dependencies":["CleverAdsSolutions-SDK/Kidoz"],"contains":["Base"],"source":[],"labels":7},{"name":"SuperAwesome","version":"1.9.5","require":"","url":"https://www.superawesome.com/","filter":2,"dependencies":["CleverAdsSolutions-SDK/SuperAwesome"],"contains":["Base"],"source":[],"labels":7},{"name":"StartApp","version":"1.9.5","require":"","url":"https://www.startapp.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/StartApp"],"contains":["Base"],"source":[],"labels":7},{"name":"FacebookAN","version":"1.9.5","require":"","url":"https://www.facebook.com/business/marketing/audience-network","filter":1,"dependencies":["CleverAdsSolutions-SDK/FBAudienceNetwork"],"contains":["Base"],"source":[],"labels":7},{"name":"YandexAds","version":"1.9.5","require":"","url":"https://yandex.ru/dev/mobile-ads","filter":1,"dependencies":["CleverAdsSolutions-SDK/YandexAdsProxy"],"contains":["Base"],"source":[],"labels":3},{"name":"Chartboost","version":"1.9.5","require":"","url":"https://www.chartboost.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/Chartboost"],"contains":["Base"],"source":[],"labels":7},{"name":"MoPub","version":"1.9.5","require":"","url":"https://www.mopub.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/MoPub"],"contains":["Base"],"source":[],"labels":23},{"name":"MyTarget","version":"1.9.5","require":"","url":"https://target.my.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/MyTarget"],"contains":["Base"],"source":[],"labels":23},{"name":"Verizon","version":"1.9.5","require":"","url":"https://www.verizonmedia.com/advertising/solutions#/mobile","filter":1,"dependencies":["CleverAdsSolutions-SDK/Verizon"],"contains":["Base"],"source":[],"labels":23},{"name":"MobFox","version":"1.9.5","require":"","url":"https://www.mobfox.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/MobFox"],"contains":["Base"],"source":[],"labels":23},{"name":"AmazonAds","version":"1.9.5","require":"","url":"https://advertising.amazon.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/AmazonAd"],"contains":["Base"],"source":[],"labels":17}]} \ No newline at end of file +{"simple":[{"name":"Recomended","version":"1.9.6","require":"","url":"","filter":1,"dependencies":["CleverAdsSolutions-SDK"],"contains":["GoogleAds","UnityAds","IronSource","AdColony","Vungle","AppLovin","InMobi","FacebookAN","YandexAds","Kidoz","StartApp","SuperAwesome","Main","Base"],"source":[],"labels":0},{"name":"Main","version":"1.9.6","require":"","url":"","filter":1,"dependencies":["CleverAdsSolutions-SDK/General"],"contains":["GoogleAds","UnityAds","IronSource","AdColony","Vungle","AppLovin","InMobi","Base"],"source":[],"labels":0},{"name":"CrossPromotion","version":"1.9.6","require":"","url":"https://github.com/cleveradssolutions/CAS-Unity#step-1-add-the-cas-package-to-your-project","filter":1,"dependencies":["CleverAdsSolutions-Promo"],"contains":["Base","Cross-promotion uses Firebase Deep Link to track conversions."],"source":[],"labels":0}],"advanced":[{"name":"Base","version":"1.0","require":"","url":"","filter":0,"dependencies":[],"contains":[],"source":["https://github.com/CocoaPods/Specs.git","https://github.com/cleveradssolutions/CAS-Specs.git"],"labels":0},{"name":"GoogleAds","version":"1.9.6","require":"","url":"https://admob.google.com/home/","filter":1,"dependencies":["CleverAdsSolutions-SDK/GoogleAds"],"contains":["Base"],"source":[],"labels":7},{"name":"UnityAds","version":"1.9.6","require":"","url":"https://unity.com/solutions/unity-ads","filter":1,"dependencies":["CleverAdsSolutions-SDK/UnityAds"],"contains":["Base"],"source":[],"labels":7},{"name":"IronSource","version":"1.9.6","require":"","url":"https://www.ironsrc.com","filter":1,"dependencies":["CleverAdsSolutions-SDK/IronSource"],"contains":["Base"],"source":[],"labels":6},{"name":"AdColony","version":"1.9.6","require":"","url":"https://www.adcolony.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/AdColony"],"contains":["Base"],"source":[],"labels":7},{"name":"Vungle","version":"1.9.6","require":"","url":"https://vungle.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/Vungle"],"contains":["Base"],"source":[],"labels":7},{"name":"AppLovin","version":"1.9.6","require":"","url":"https://www.applovin.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/AppLovin"],"contains":["Base"],"source":[],"labels":7},{"name":"InMobi","version":"1.9.6","require":"","url":"https://www.inmobi.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/InMobi"],"contains":["Base"],"source":[],"labels":7},{"name":"Kidoz","version":"1.9.6","require":"","url":"https://kidoz.net/","filter":1,"dependencies":["CleverAdsSolutions-SDK/Kidoz"],"contains":["Base"],"source":[],"labels":7},{"name":"SuperAwesome","version":"1.9.6","require":"","url":"https://www.superawesome.com/","filter":2,"dependencies":["CleverAdsSolutions-SDK/SuperAwesome"],"contains":["Base"],"source":[],"labels":7},{"name":"StartApp","version":"1.9.6","require":"","url":"https://www.startapp.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/StartApp"],"contains":["Base"],"source":[],"labels":7},{"name":"FacebookAN","version":"1.9.6","require":"","url":"https://www.facebook.com/business/marketing/audience-network","filter":1,"dependencies":["CleverAdsSolutions-SDK/FBAudienceNetwork"],"contains":["Base"],"source":[],"labels":7},{"name":"YandexAds","version":"1.9.6","require":"","url":"https://yandex.ru/dev/mobile-ads","filter":1,"dependencies":["CleverAdsSolutions-SDK/YandexAdsProxy"],"contains":["Base"],"source":[],"labels":3},{"name":"Chartboost","version":"1.9.6","require":"","url":"https://www.chartboost.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/Chartboost"],"contains":["Base"],"source":[],"labels":7},{"name":"MoPub","version":"1.9.6","require":"","url":"https://www.mopub.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/MoPub"],"contains":["Base"],"source":[],"labels":23},{"name":"MyTarget","version":"1.9.6","require":"","url":"https://target.my.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/MyTarget"],"contains":["Base"],"source":[],"labels":23},{"name":"Verizon","version":"1.9.6","require":"","url":"https://www.verizonmedia.com/advertising/solutions#/mobile","filter":1,"dependencies":["CleverAdsSolutions-SDK/Verizon"],"contains":["Base"],"source":[],"labels":23},{"name":"MobFox","version":"1.9.6","require":"","url":"https://www.mobfox.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/MobFox"],"contains":["Base"],"source":[],"labels":23},{"name":"AmazonAds","version":"1.9.6","require":"","url":"https://advertising.amazon.com/","filter":1,"dependencies":["CleverAdsSolutions-SDK/AmazonAd"],"contains":["Base"],"source":[],"labels":17}]} \ No newline at end of file diff --git a/package.json b/package.json index 8a136f6..4c286e9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.cleversolutions.ads.unity", - "version": "1.9.5", + "version": "1.9.6", "displayName": "CleverAdsSolutions", "description": "Clever Ads Solutions Unity wrapper for mobile ads on platforms Android and iOS.", "unity": "2017.4",