Merge branch 'sdk_2' into dev_20230919

This commit is contained in:
xiekaidong 2023-09-19 18:24:09 +08:00
commit 0d8a07e5fa
185 changed files with 6071 additions and 3177 deletions

View File

@ -410,7 +410,7 @@ namespace BFEditor.Build
var gradleFilePath2 = Path.Combine(PublishAsProjectPath, "unityLibrary", "build.gradle"); var gradleFilePath2 = Path.Combine(PublishAsProjectPath, "unityLibrary", "build.gradle");
var text2 = File.ReadAllText(gradleFilePath2); var text2 = File.ReadAllText(gradleFilePath2);
text2 = regex.Replace(text2, string.Format("versionCode {0}", versionCode)); text2 = regex.Replace(text2, string.Format("versionCode {0}", versionCode));
text2 = regex2.Replace(text, string.Format("versionName '{0}'", versionName)); text2 = regex2.Replace(text2, string.Format("versionName '{0}'", versionName));
File.WriteAllText(gradleFilePath2, text2); File.WriteAllText(gradleFilePath2, text2);
} }

File diff suppressed because it is too large Load Diff

View File

@ -8,20 +8,29 @@
url "https://maven.google.com" url "https://maven.google.com"
} }
maven { maven {
url "https://android-sdk.is.com/" // Assets/IronSource/Editor/IronSourceSDKDependencies.xml:9, Assets/IronSource/Editor/ISAdColonyAdapterDependencies.xml:16, Assets/IronSource/Editor/ISAdMobAdapterDependencies.xml:16, Assets/IronSource/Editor/ISAppLovinAdapterDependencies.xml:8, Assets/IronSource/Editor/ISChartboostAdapterDependencies.xml:8, Assets/IronSource/Editor/ISFacebookAdapterDependencies.xml:16, Assets/IronSource/Editor/ISFyberAdapterDependencies.xml:16, Assets/IronSource/Editor/ISLiftoffAdapterDependencies.xml:16, Assets/IronSource/Editor/ISPangleAdapterDependencies.xml:8, Assets/IronSource/Editor/ISTapJoyAdapterDependencies.xml:8, Assets/IronSource/Editor/ISUnityAdsAdapterDependencies.xml:8 url "https://android-sdk.is.com/" // Assets/IronSource/Editor/IronSourceSDKDependencies.xml:9, Assets/IronSource/Editor/ISAdColonyAdapterDependencies.xml:16, Assets/IronSource/Editor/ISAdMobAdapterDependencies.xml:16, Assets/IronSource/Editor/ISAppLovinAdapterDependencies.xml:8, Assets/IronSource/Editor/ISChartboostAdapterDependencies.xml:8, Assets/IronSource/Editor/ISFacebookAdapterDependencies.xml:16, Assets/IronSource/Editor/ISFyberAdapterDependencies.xml:16, Assets/IronSource/Editor/ISMintegralAdapterDependencies.xml:48, Assets/IronSource/Editor/ISPangleAdapterDependencies.xml:8, Assets/IronSource/Editor/ISTapJoyAdapterDependencies.xml:8, Assets/IronSource/Editor/ISUnityAdsAdapterDependencies.xml:8, Assets/IronSource/Editor/ISVungleAdapterDependencies.xml:16, Assets/IronSourceAdQuality/Editor/IronSourceAdQualityDependencies.xml:9, Assets/IronSourceAdQuality/Editor/IronSourceAdQualityDependencies.xml:17
} }
maven { maven {
url "https://maven.google.com/" // Assets/IronSource/Editor/IronSourceSDKDependencies.xml:17, Assets/IronSource/Editor/IronSourceSDKDependencies.xml:25, Assets/IronSource/Editor/ISAdColonyAdapterDependencies.xml:8, Assets/IronSource/Editor/ISAdMobAdapterDependencies.xml:8, Assets/IronSource/Editor/ISAppLovinAdapterDependencies.xml:15, Assets/IronSource/Editor/ISChartboostAdapterDependencies.xml:15, Assets/IronSource/Editor/ISFacebookAdapterDependencies.xml:8, Assets/IronSource/Editor/ISLiftoffAdapterDependencies.xml:8, Assets/IronSource/Editor/ISUnityAdsAdapterDependencies.xml:15 url "https://maven.google.com/" // Assets/IronSource/Editor/IronSourceSDKDependencies.xml:17, Assets/IronSource/Editor/IronSourceSDKDependencies.xml:25, Assets/IronSource/Editor/ISAdColonyAdapterDependencies.xml:8, Assets/IronSource/Editor/ISAdMobAdapterDependencies.xml:8, Assets/IronSource/Editor/ISAppLovinAdapterDependencies.xml:15, Assets/IronSource/Editor/ISFacebookAdapterDependencies.xml:8, Assets/IronSource/Editor/ISMintegralAdapterDependencies.xml:40, Assets/IronSource/Editor/ISUnityAdsAdapterDependencies.xml:15
}
maven {
url "https://cboost.jfrog.io/artifactory/chartboost-ads/" // Assets/IronSource/Editor/ISChartboostAdapterDependencies.xml:15
} }
maven { maven {
url "https://repo.maven.apache.org/maven2/" // Assets/IronSource/Editor/ISFyberAdapterDependencies.xml:8 url "https://repo.maven.apache.org/maven2/" // Assets/IronSource/Editor/ISFyberAdapterDependencies.xml:8
} }
maven {
url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea/" // Assets/IronSource/Editor/ISMintegralAdapterDependencies.xml:8, Assets/IronSource/Editor/ISMintegralAdapterDependencies.xml:16, Assets/IronSource/Editor/ISMintegralAdapterDependencies.xml:24, Assets/IronSource/Editor/ISMintegralAdapterDependencies.xml:32
}
maven { maven {
url "https://artifact.bytedance.com/repository/pangle/" // Assets/IronSource/Editor/ISPangleAdapterDependencies.xml:15 url "https://artifact.bytedance.com/repository/pangle/" // Assets/IronSource/Editor/ISPangleAdapterDependencies.xml:15
} }
maven { maven {
url "https://sdk.tapjoy.com/" // Assets/IronSource/Editor/ISTapJoyAdapterDependencies.xml:15 url "https://sdk.tapjoy.com/" // Assets/IronSource/Editor/ISTapJoyAdapterDependencies.xml:15
} }
maven {
url "https://jitpack.io/" // Assets/IronSource/Editor/ISVungleAdapterDependencies.xml:8
}
mavenLocal() mavenLocal()
jcenter() jcenter()
mavenCentral() mavenCentral()
@ -34,42 +43,50 @@ apply plugin: 'com.android.library'
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
// Android Resolver Dependencies Start // Android Resolver Dependencies Start
implementation 'androidx.recyclerview:recyclerview:1.2.1' // Assets/IronSource/Editor/ISMintegralAdapterDependencies.xml:40
implementation 'com.adcolony:sdk:4.8.0' // Assets/IronSource/Editor/ISAdColonyAdapterDependencies.xml:8 implementation 'com.adcolony:sdk:4.8.0' // Assets/IronSource/Editor/ISAdColonyAdapterDependencies.xml:8
implementation 'com.android.installreferrer:installreferrer:2.1' // Assets/ThirdParty/AppsFlyer/Editor/AppsFlyerDependencies.xml:10 implementation 'com.android.installreferrer:installreferrer:2.1' // Assets/ThirdParty/AppsFlyer/Editor/AppsFlyerDependencies.xml:10
implementation 'com.android.support:appcompat-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency implementation 'com.android.support:appcompat-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
implementation 'com.android.support:cardview-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency implementation 'com.android.support:cardview-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
implementation 'com.android.support:customtabs:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency implementation 'com.android.support:customtabs:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
implementation 'com.android.support:support-v4:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency implementation 'com.android.support:support-v4:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
implementation 'com.applovin:applovin-sdk:11.7.1' // Assets/IronSource/Editor/ISAppLovinAdapterDependencies.xml:15 implementation 'com.applovin:applovin-sdk:11.10.1' // Assets/IronSource/Editor/ISAppLovinAdapterDependencies.xml:15
implementation 'com.appsflyer:af-android-sdk:6.4.1' // Assets/ThirdParty/AppsFlyer/Editor/AppsFlyerDependencies.xml:6 implementation 'com.appsflyer:af-android-sdk:6.4.1' // Assets/ThirdParty/AppsFlyer/Editor/AppsFlyerDependencies.xml:6
implementation 'com.appsflyer:unity-wrapper:6.4.1' // Assets/ThirdParty/AppsFlyer/Editor/AppsFlyerDependencies.xml:8 implementation 'com.appsflyer:unity-wrapper:6.4.1' // Assets/ThirdParty/AppsFlyer/Editor/AppsFlyerDependencies.xml:8
implementation 'com.chartboost:chartboost-sdk:9.2.0' // Assets/IronSource/Editor/ISChartboostAdapterDependencies.xml:15 implementation 'com.chartboost:chartboost-sdk:9.3.1' // Assets/IronSource/Editor/ISChartboostAdapterDependencies.xml:15
implementation 'com.facebook.android:audience-network-sdk:6.12.0' // Assets/IronSource/Editor/ISFacebookAdapterDependencies.xml:8 implementation 'com.facebook.android:audience-network-sdk:6.15.0' // Assets/IronSource/Editor/ISFacebookAdapterDependencies.xml:8
implementation 'com.facebook.android:facebook-applinks:[15.1,16)' // Assets/ThirdParty/FacebookSDK/Plugins/Editor/Dependencies.xml:6 implementation 'com.facebook.android:facebook-applinks:[15.1,16)' // Assets/ThirdParty/FacebookSDK/Plugins/Editor/Dependencies.xml:6
implementation 'com.facebook.android:facebook-core:[15.1,16)' // Assets/ThirdParty/FacebookSDK/Plugins/Editor/Dependencies.xml:5 implementation 'com.facebook.android:facebook-core:[15.1,16)' // Assets/ThirdParty/FacebookSDK/Plugins/Editor/Dependencies.xml:5
implementation 'com.facebook.android:facebook-gamingservices:[15.1,16)' // Assets/ThirdParty/FacebookSDK/Plugins/Editor/Dependencies.xml:9 implementation 'com.facebook.android:facebook-gamingservices:[15.1,16)' // Assets/ThirdParty/FacebookSDK/Plugins/Editor/Dependencies.xml:9
implementation 'com.facebook.android:facebook-login:[15.1,16)' // Assets/ThirdParty/FacebookSDK/Plugins/Editor/Dependencies.xml:7 implementation 'com.facebook.android:facebook-login:[15.1,16)' // Assets/ThirdParty/FacebookSDK/Plugins/Editor/Dependencies.xml:7
implementation 'com.facebook.android:facebook-share:[15.1,16)' // Assets/ThirdParty/FacebookSDK/Plugins/Editor/Dependencies.xml:8 implementation 'com.facebook.android:facebook-share:[15.1,16)' // Assets/ThirdParty/FacebookSDK/Plugins/Editor/Dependencies.xml:8
implementation 'com.fyber:marketplace-sdk:8.2.2' // Assets/IronSource/Editor/ISFyberAdapterDependencies.xml:8 implementation 'com.fyber:marketplace-sdk:8.2.3' // Assets/IronSource/Editor/ISFyberAdapterDependencies.xml:8
implementation 'com.google.android.gms:play-services-ads:21.5.0' // Assets/IronSource/Editor/ISAdMobAdapterDependencies.xml:8 implementation 'com.google.android.gms:play-services-ads:22.2.0' // Assets/IronSource/Editor/ISAdMobAdapterDependencies.xml:8
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1' // Assets/IronSource/Editor/IronSourceSDKDependencies.xml:17 implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1' // Assets/IronSource/Editor/IronSourceSDKDependencies.xml:17
implementation 'com.google.android.gms:play-services-basement:18.1.0' // Assets/IronSource/Editor/IronSourceSDKDependencies.xml:25 implementation 'com.google.android.gms:play-services-basement:18.1.0' // Assets/IronSource/Editor/IronSourceSDKDependencies.xml:25
implementation 'com.ironsource.adapters:adcolonyadapter:4.3.14' // Assets/IronSource/Editor/ISAdColonyAdapterDependencies.xml:16 implementation 'com.ironsource.adapters:adcolonyadapter:4.3.14' // Assets/IronSource/Editor/ISAdColonyAdapterDependencies.xml:16
implementation 'com.ironsource.adapters:admobadapter:4.3.35' // Assets/IronSource/Editor/ISAdMobAdapterDependencies.xml:16 implementation 'com.ironsource.adapters:admobadapter:4.3.39' // Assets/IronSource/Editor/ISAdMobAdapterDependencies.xml:16
implementation 'com.ironsource.adapters:applovinadapter:4.3.37' // Assets/IronSource/Editor/ISAppLovinAdapterDependencies.xml:8 implementation 'com.ironsource.adapters:applovinadapter:4.3.39' // Assets/IronSource/Editor/ISAppLovinAdapterDependencies.xml:8
implementation 'com.ironsource.adapters:chartboostadapter:4.3.11' // Assets/IronSource/Editor/ISChartboostAdapterDependencies.xml:8 implementation 'com.ironsource.adapters:chartboostadapter:4.3.12' // Assets/IronSource/Editor/ISChartboostAdapterDependencies.xml:8
implementation 'com.ironsource.adapters:facebookadapter:4.3.39' // Assets/IronSource/Editor/ISFacebookAdapterDependencies.xml:16 implementation 'com.ironsource.adapters:facebookadapter:4.3.44' // Assets/IronSource/Editor/ISFacebookAdapterDependencies.xml:16
implementation 'com.ironsource.adapters:fyberadapter:4.3.24' // Assets/IronSource/Editor/ISFyberAdapterDependencies.xml:16 implementation 'com.ironsource.adapters:fyberadapter:4.3.26' // Assets/IronSource/Editor/ISFyberAdapterDependencies.xml:16
implementation 'com.ironsource.adapters:liftoffadapter:4.3.5' // Assets/IronSource/Editor/ISLiftoffAdapterDependencies.xml:16 implementation 'com.ironsource.adapters:mintegraladapter:4.3.17' // Assets/IronSource/Editor/ISMintegralAdapterDependencies.xml:48
implementation 'com.ironsource.adapters:pangleadapter:4.3.17' // Assets/IronSource/Editor/ISPangleAdapterDependencies.xml:8 implementation 'com.ironsource.adapters:pangleadapter:4.3.20' // Assets/IronSource/Editor/ISPangleAdapterDependencies.xml:8
implementation 'com.ironsource.adapters:tapjoyadapter:4.1.24' // Assets/IronSource/Editor/ISTapJoyAdapterDependencies.xml:8 implementation 'com.ironsource.adapters:tapjoyadapter:4.1.25' // Assets/IronSource/Editor/ISTapJoyAdapterDependencies.xml:8
implementation 'com.ironsource.adapters:unityadsadapter:4.3.27' // Assets/IronSource/Editor/ISUnityAdsAdapterDependencies.xml:8 implementation 'com.ironsource.adapters:unityadsadapter:4.3.31' // Assets/IronSource/Editor/ISUnityAdsAdapterDependencies.xml:8
implementation 'com.ironsource.sdk:mediationsdk:7.3.0.1' // Assets/IronSource/Editor/IronSourceSDKDependencies.xml:9 implementation 'com.ironsource.adapters:vungleadapter:4.3.21' // Assets/IronSource/Editor/ISVungleAdapterDependencies.xml:16
implementation 'com.pangle.global:ads-sdk:5.0.0.8' // Assets/IronSource/Editor/ISPangleAdapterDependencies.xml:15 implementation 'com.ironsource.sdk:mediationsdk:7.3.1.1' // Assets/IronSource/Editor/IronSourceSDKDependencies.xml:9
implementation 'com.ironsource.unity:adqualitysdk:7.13.0' // Assets/IronSourceAdQuality/Editor/IronSourceAdQualityDependencies.xml:17
implementation 'com.ironsource:adqualitysdk:7.13.0' // Assets/IronSourceAdQuality/Editor/IronSourceAdQualityDependencies.xml:9
implementation 'com.mbridge.msdk.oversea:mbbanner:16.4.61' // Assets/IronSource/Editor/ISMintegralAdapterDependencies.xml:24
implementation 'com.mbridge.msdk.oversea:mbbid:16.4.61' // Assets/IronSource/Editor/ISMintegralAdapterDependencies.xml:32
implementation 'com.mbridge.msdk.oversea:newinterstitial:16.4.61' // Assets/IronSource/Editor/ISMintegralAdapterDependencies.xml:8
implementation 'com.mbridge.msdk.oversea:reward:16.4.61' // Assets/IronSource/Editor/ISMintegralAdapterDependencies.xml:16
implementation 'com.pangle.global:ads-sdk:5.2.0.6' // Assets/IronSource/Editor/ISPangleAdapterDependencies.xml:15
implementation 'com.parse.bolts:bolts-android:1.4.0' // Assets/ThirdParty/FacebookSDK/Plugins/Editor/Dependencies.xml:4 implementation 'com.parse.bolts:bolts-android:1.4.0' // Assets/ThirdParty/FacebookSDK/Plugins/Editor/Dependencies.xml:4
implementation 'com.tapjoy:tapjoy-android-sdk:12.11.1' // Assets/IronSource/Editor/ISTapJoyAdapterDependencies.xml:15 implementation 'com.tapjoy:tapjoy-android-sdk:13.0.1' // Assets/IronSource/Editor/ISTapJoyAdapterDependencies.xml:15
implementation 'com.unity3d.ads:unity-ads:4.6.1' // Assets/IronSource/Editor/ISUnityAdsAdapterDependencies.xml:15 implementation 'com.unity3d.ads:unity-ads:4.8.0' // Assets/IronSource/Editor/ISUnityAdsAdapterDependencies.xml:15
implementation 'io.liftoff:liftoffads:1.9.1' // Assets/IronSource/Editor/ISLiftoffAdapterDependencies.xml:8 implementation 'com.vungle:publisher-sdk-android:6.12.1' // Assets/IronSource/Editor/ISVungleAdapterDependencies.xml:8
// Android Resolver Dependencies End // Android Resolver Dependencies End
**DEPS**} **DEPS**}

View File

@ -31,6 +31,7 @@ namespace BF
// SDK init // SDK init
BFLog.Log("unity-script: IronSource.Agent.init"); BFLog.Log("unity-script: IronSource.Agent.init");
// IronSource.Agent.setMetaData("is_test_suite", "enable");
IronSource.Agent.init(appKey); IronSource.Agent.init(appKey);
IronSource.Agent.setManualLoadRewardedVideo(true); IronSource.Agent.setManualLoadRewardedVideo(true);
@ -155,6 +156,8 @@ namespace BF
void SdkInitializationCompletedEvent() void SdkInitializationCompletedEvent()
{ {
BFLog.Log("unity-script: I got SdkInitializationCompletedEvent"); BFLog.Log("unity-script: I got SdkInitializationCompletedEvent");
//Launch test suite
// IronSource.Agent.launchTestSuite();
} }
#endregion #endregion

View File

@ -1,5 +1,5 @@
<dependencies> <dependencies>
<unityversion>4.3.19.0</unityversion> <unityversion>4.3.19.1</unityversion>
<androidPackages> <androidPackages>
<androidPackage spec="com.adcolony:sdk:4.8.0"> <androidPackage spec="com.adcolony:sdk:4.8.0">
<repositories> <repositories>
@ -17,7 +17,7 @@
</androidPackages> </androidPackages>
<!-- <iosPods> <!-- <iosPods>
<iosPod name="IronSourceAdColonyAdapter" version="4.3.16.0"> <iosPod name="IronSourceAdColonyAdapter" version="4.3.16.1">
<sources> <sources>
<source>https://github.com/CocoaPods/Specs</source> <source>https://github.com/CocoaPods/Specs</source>
</sources> </sources>

View File

@ -1,7 +1,7 @@
<dependencies> <dependencies>
<unityversion>4.3.47.0</unityversion> <unityversion>4.3.52.0</unityversion>
<androidPackages> <androidPackages>
<androidPackage spec="com.google.android.gms:play-services-ads:21.5.0"> <androidPackage spec="com.google.android.gms:play-services-ads:22.2.0">
<repositories> <repositories>
<repository>https://maven.google.com/</repository> <repository>https://maven.google.com/</repository>
</repositories> </repositories>
@ -9,7 +9,7 @@
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.ironsource.adapters:admobadapter:4.3.35"> <androidPackage spec="com.ironsource.adapters:admobadapter:4.3.39">
<repositories> <repositories>
<repository>https://android-sdk.is.com/</repository> <repository>https://android-sdk.is.com/</repository>
</repositories> </repositories>
@ -17,7 +17,7 @@
</androidPackages> </androidPackages>
<!-- <iosPods> <!-- <iosPods>
<iosPod name="IronSourceAdMobAdapter" version="4.3.41.0"> <iosPod name="IronSourceAdMobAdapter" version="4.3.45.0">
<sources> <sources>
<source>https://github.com/CocoaPods/Specs</source> <source>https://github.com/CocoaPods/Specs</source>
</sources> </sources>

View File

@ -1,21 +1,21 @@
<dependencies> <dependencies>
<unityversion>4.3.42.0</unityversion> <unityversion>4.3.44.1</unityversion>
<androidPackages> <androidPackages>
<androidPackage spec="com.ironsource.adapters:applovinadapter:4.3.37"> <androidPackage spec="com.ironsource.adapters:applovinadapter:4.3.39">
<repositories> <repositories>
<repository>https://android-sdk.is.com/</repository> <repository>https://android-sdk.is.com/</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.applovin:applovin-sdk:11.7.1"> <androidPackage spec="com.applovin:applovin-sdk:11.10.1">
<repositories> <repositories>
<repository>https://maven.google.com/</repository> <repository>https://maven.google.com/</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> </androidPackages>
<!-- <iosPods> <!-- <iosPods>
<iosPod name="IronSourceAppLovinAdapter" version="4.3.38.0"> <iosPod name="IronSourceAppLovinAdapter" version="4.3.40.1">
<sources> <sources>
<source>https://github.com/CocoaPods/Specs</source> <source>https://github.com/CocoaPods/Specs</source>
</sources> </sources>

View File

@ -1,21 +1,21 @@
<dependencies> <dependencies>
<unityversion>4.3.17.0</unityversion> <unityversion>4.3.19.0</unityversion>
<androidPackages> <androidPackages>
<androidPackage spec="com.ironsource.adapters:chartboostadapter:4.3.11"> <androidPackage spec="com.ironsource.adapters:chartboostadapter:4.3.12">
<repositories> <repositories>
<repository>https://android-sdk.is.com/</repository> <repository>https://android-sdk.is.com/</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.chartboost:chartboost-sdk:9.2.0"> <androidPackage spec="com.chartboost:chartboost-sdk:9.3.1">
<repositories> <repositories>
<repository>https://maven.google.com/</repository> <repository>https://cboost.jfrog.io/artifactory/chartboost-ads/</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> </androidPackages>
<!-- <iosPods> <!-- <iosPods>
<iosPod name="IronSourceChartboostAdapter" version="4.3.13.0"> <iosPod name="IronSourceChartboostAdapter" version="4.3.15.0">
<sources> <sources>
<source>https://github.com/CocoaPods/Specs</source> <source>https://github.com/CocoaPods/Specs</source>
</sources> </sources>

View File

@ -1,7 +1,7 @@
<dependencies> <dependencies>
<unityversion>4.3.52.0</unityversion> <unityversion>4.3.57.0</unityversion>
<androidPackages> <androidPackages>
<androidPackage spec="com.facebook.android:audience-network-sdk:6.12.0"> <androidPackage spec="com.facebook.android:audience-network-sdk:6.15.0">
<repositories> <repositories>
<repository>https://maven.google.com/</repository> <repository>https://maven.google.com/</repository>
</repositories> </repositories>
@ -9,7 +9,7 @@
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.ironsource.adapters:facebookadapter:4.3.39"> <androidPackage spec="com.ironsource.adapters:facebookadapter:4.3.44">
<repositories> <repositories>
<repository>https://android-sdk.is.com/</repository> <repository>https://android-sdk.is.com/</repository>
</repositories> </repositories>
@ -17,7 +17,7 @@
</androidPackages> </androidPackages>
<!-- <iosPods> <!-- <iosPods>
<iosPod name="IronSourceFacebookAdapter" version="4.3.39.0"> <iosPod name="IronSourceFacebookAdapter" version="4.3.39.1">
<sources> <sources>
<source>https://github.com/CocoaPods/Specs</source> <source>https://github.com/CocoaPods/Specs</source>
</sources> </sources>

View File

@ -1,7 +1,7 @@
<dependencies> <dependencies>
<unityversion>4.3.34.0</unityversion> <unityversion>4.3.36.1</unityversion>
<androidPackages> <androidPackages>
<androidPackage spec="com.fyber:marketplace-sdk:8.2.2"> <androidPackage spec="com.fyber:marketplace-sdk:8.2.3">
<repositories> <repositories>
<repository>https://repo.maven.apache.org/maven2/</repository> <repository>https://repo.maven.apache.org/maven2/</repository>
</repositories> </repositories>
@ -9,7 +9,7 @@
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.ironsource.adapters:fyberadapter:4.3.24"> <androidPackage spec="com.ironsource.adapters:fyberadapter:4.3.26">
<repositories> <repositories>
<repository>https://android-sdk.is.com/</repository> <repository>https://android-sdk.is.com/</repository>
</repositories> </repositories>
@ -17,7 +17,7 @@
</androidPackages> </androidPackages>
<!-- <iosPods> <!-- <iosPods>
<iosPod name="IronSourceFyberAdapter" version="4.3.28.0"> <iosPod name="IronSourceFyberAdapter" version="4.3.30.1">
<sources> <sources>
<source>https://github.com/CocoaPods/Specs</source> <source>https://github.com/CocoaPods/Specs</source>
</sources> </sources>

View File

@ -1,7 +1,7 @@
<dependencies> <dependencies>
<unityversion>4.3.16.0</unityversion> <unityversion>4.3.17.0</unityversion>
<androidPackages> <androidPackages>
<androidPackage spec="com.mbridge.msdk.oversea:newinterstitial:16.4.41"> <androidPackage spec="com.mbridge.msdk.oversea:newinterstitial:16.4.61">
<repositories> <repositories>
<repository>https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea/</repository> <repository>https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea/</repository>
</repositories> </repositories>
@ -9,7 +9,7 @@
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.mbridge.msdk.oversea:reward:16.4.41"> <androidPackage spec="com.mbridge.msdk.oversea:reward:16.4.61">
<repositories> <repositories>
<repository>https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea/</repository> <repository>https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea/</repository>
</repositories> </repositories>
@ -17,7 +17,7 @@
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.mbridge.msdk.oversea:mbbanner:16.4.41"> <androidPackage spec="com.mbridge.msdk.oversea:mbbanner:16.4.61">
<repositories> <repositories>
<repository>https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea/</repository> <repository>https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea/</repository>
</repositories> </repositories>
@ -25,7 +25,7 @@
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.mbridge.msdk.oversea:mbbid:16.4.41"> <androidPackage spec="com.mbridge.msdk.oversea:mbbid:16.4.61">
<repositories> <repositories>
<repository>https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea/</repository> <repository>https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea/</repository>
</repositories> </repositories>
@ -41,7 +41,7 @@
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.ironsource.adapters:mintegraladapter:4.3.16"> <androidPackage spec="com.ironsource.adapters:mintegraladapter:4.3.17">
<repositories> <repositories>
<repository>https://android-sdk.is.com/</repository> <repository>https://android-sdk.is.com/</repository>
</repositories> </repositories>
@ -49,7 +49,7 @@
</androidPackages> </androidPackages>
<!-- <iosPods> <!-- <iosPods>
<iosPod name="IronSourceMintegralAdapter" version="4.3.15.0"> <iosPod name="IronSourceMintegralAdapter" version="4.3.16.0">
<sources> <sources>
<source>https://github.com/CocoaPods/Specs</source> <source>https://github.com/CocoaPods/Specs</source>
</sources> </sources>

View File

@ -1,21 +1,21 @@
<dependencies> <dependencies>
<unityversion>4.3.22.0</unityversion> <unityversion>4.3.25.0</unityversion>
<androidPackages> <androidPackages>
<androidPackage spec="com.ironsource.adapters:pangleadapter:4.3.17"> <androidPackage spec="com.ironsource.adapters:pangleadapter:4.3.20">
<repositories> <repositories>
<repository>https://android-sdk.is.com/</repository> <repository>https://android-sdk.is.com/</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.pangle.global:ads-sdk:5.0.0.8"> <androidPackage spec="com.pangle.global:ads-sdk:5.2.0.6">
<repositories> <repositories>
<repository>https://artifact.bytedance.com/repository/pangle/</repository> <repository>https://artifact.bytedance.com/repository/pangle/</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> </androidPackages>
<!-- <iosPods> <!-- <iosPods>
<iosPod name="IronSourcePangleAdapter" version="4.3.19.0"> <iosPod name="IronSourcePangleAdapter" version="4.3.22.0">
<sources> <sources>
<source>https://github.com/CocoaPods/Specs</source> <source>https://github.com/CocoaPods/Specs</source>
</sources> </sources>

View File

@ -1,21 +1,21 @@
<dependencies> <dependencies>
<unityversion>4.1.29.0</unityversion> <unityversion>4.1.30.1</unityversion>
<androidPackages> <androidPackages>
<androidPackage spec="com.ironsource.adapters:tapjoyadapter:4.1.24"> <androidPackage spec="com.ironsource.adapters:tapjoyadapter:4.1.25">
<repositories> <repositories>
<repository>https://android-sdk.is.com/</repository> <repository>https://android-sdk.is.com/</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.tapjoy:tapjoy-android-sdk:12.11.1"> <androidPackage spec="com.tapjoy:tapjoy-android-sdk:13.0.1">
<repositories> <repositories>
<repository>https://sdk.tapjoy.com/</repository> <repository>https://sdk.tapjoy.com/</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> </androidPackages>
<!-- <iosPods> <!-- <iosPods>
<iosPod name="IronSourceTapjoyAdapter" version="4.1.24.0"> <iosPod name="IronSourceTapjoyAdapter" version="4.1.25.1">
<sources> <sources>
<source>https://github.com/CocoaPods/Specs</source> <source>https://github.com/CocoaPods/Specs</source>
</sources> </sources>

View File

@ -1,14 +1,14 @@
<dependencies> <dependencies>
<unityversion>4.3.32.0</unityversion> <unityversion>4.3.36.0</unityversion>
<androidPackages> <androidPackages>
<androidPackage spec="com.ironsource.adapters:unityadsadapter:4.3.27"> <androidPackage spec="com.ironsource.adapters:unityadsadapter:4.3.31">
<repositories> <repositories>
<repository>https://android-sdk.is.com/</repository> <repository>https://android-sdk.is.com/</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.unity3d.ads:unity-ads:4.6.1"> <androidPackage spec="com.unity3d.ads:unity-ads:4.8.0">
<repositories> <repositories>
<repository>https://maven.google.com/</repository> <repository>https://maven.google.com/</repository>
</repositories> </repositories>
@ -16,7 +16,7 @@
</androidPackages> </androidPackages>
<!-- <iosPods> <!-- <iosPods>
<iosPod name="IronSourceUnityAdsAdapter" version="4.3.28.0"> <iosPod name="IronSourceUnityAdsAdapter" version="4.3.31.0">
<sources> <sources>
<source>https://github.com/CocoaPods/Specs</source> <source>https://github.com/CocoaPods/Specs</source>
</sources> </sources>

View File

@ -1,5 +1,5 @@
<dependencies> <dependencies>
<unityversion>4.3.33.0</unityversion> <unityversion>4.3.36.0</unityversion>
<androidPackages> <androidPackages>
<androidPackage spec="com.vungle:publisher-sdk-android:6.12.1"> <androidPackage spec="com.vungle:publisher-sdk-android:6.12.1">
<repositories> <repositories>
@ -9,7 +9,7 @@
</androidPackages> </androidPackages>
<androidPackages> <androidPackages>
<androidPackage spec="com.ironsource.adapters:vungleadapter:4.3.20"> <androidPackage spec="com.ironsource.adapters:vungleadapter:4.3.21">
<repositories> <repositories>
<repository>https://android-sdk.is.com/</repository> <repository>https://android-sdk.is.com/</repository>
</repositories> </repositories>
@ -17,7 +17,7 @@
</androidPackages> </androidPackages>
<!-- <iosPods> <!-- <iosPods>
<iosPod name="IronSourceVungleAdapter" version="4.3.26.0"> <iosPod name="IronSourceVungleAdapter" version="4.3.28.0">
<sources> <sources>
<source>https://github.com/CocoaPods/Specs</source> <source>https://github.com/CocoaPods/Specs</source>
</sources> </sources>

View File

@ -220,7 +220,7 @@ public class IronSourceDependenciesManager : EditorWindow
ProviderInfo info = new ProviderInfo(); ProviderInfo info = new ProviderInfo();
object providerXML; object providerXML;
var lowerCaseItem = item.Key.ToLower(); var lowerCaseItem = item.Key.ToLower(new System.Globalization.CultureInfo("en"));
linksDictionary.TryGetValue(lowerCaseItem, out providerXML); linksDictionary.TryGetValue(lowerCaseItem, out providerXML);

View File

@ -22,7 +22,7 @@ public class IronSourceManifestProcessor : IPreprocessBuild
private const string AD_ID_PERMISSION_ATTR = "com.google.android.gms.permission.AD_ID"; private const string AD_ID_PERMISSION_ATTR = "com.google.android.gms.permission.AD_ID";
private const string MANIFEST_PERMISSION = "uses-permission"; private const string MANIFEST_PERMISSION = "uses-permission";
private const string MANIFEST_META_DATA = "meta-data"; private const string MANIFEST_META_DATA = "meta-data";
private const string IRONSOURCE_MANIFEST_PATH = "IronSource/Plugins/Android/IronSource.plugin/AndroidManifest.xml"; private const string IRONSOURCE_MANIFEST_PATH = "IronSource/Plugins/Android/IronSource.androidlib/AndroidManifest.xml";
private string manifestPath = ""; private string manifestPath = "";
private XNamespace ns = "http://schemas.android.com/apk/res/android"; private XNamespace ns = "http://schemas.android.com/apk/res/android";

View File

@ -1,8 +1,8 @@
<dependencies> <dependencies>
<unityversion>7.3.0.1</unityversion> <unityversion>7.3.1.1</unityversion>
<androidPackages> <androidPackages>
<androidPackage spec="com.ironsource.sdk:mediationsdk:7.3.0.1"> <androidPackage spec="com.ironsource.sdk:mediationsdk:7.3.1.1">
<repositories> <repositories>
<repository>https://android-sdk.is.com/</repository> <repository>https://android-sdk.is.com/</repository>
</repositories> </repositories>
@ -26,7 +26,7 @@
</androidPackages> </androidPackages>
<!-- <iosPods> <!-- <iosPods>
<iosPod name="IronSourceSDK" version="7.3.0.0"> <iosPod name="IronSourceSDK" version="7.3.1.0">
<sources> <sources>
<source>https://github.com/CocoaPods/Specs</source> <source>https://github.com/CocoaPods/Specs</source>
</sources> </sources>

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 78bb03eee4d26fb4da4755f7e6529784
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,28 @@
fileFormatVersion: 2
guid: 718f851be2f4c4ee9b4c748b225a7ea2
folderAsset: yes
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ironsource.unity">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application>
<!-- AdMob -->
<!--As Requiered By Admob please add your App ID-->
<!--<meta-data-->
<!--android:name="com.google.android.gms.ads.APPLICATION_ID"-->
<!--android:value="YOUR_ADMOB_APP_ID"/>-->
</application>
</manifest>

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e46e3d39a8bec48d9ae81d0008842ad4
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a5936d92d17be4fde864e068dd13d202
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: cbe75846a2b4da1459371181319ce8e3 guid: f10a601320ff74e1e96ecfd77be278c5
PluginImporter: PluginImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 2

View File

@ -0,0 +1,2 @@
target=android-9
android.library=true

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f6d91e910c9af49d7a1d0254340e9dca
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,22 @@
using System;
/// <summary>
/// Represents the available formats for displaying advertisements.
/// </summary>
public enum AdFormat
{
/// <summary>
/// Represents a rewarded video ad format.
/// </summary>
RewardedVideo,
/// <summary>
/// Represents an interstitial ad format.
/// </summary>
Interstitial,
/// <summary>
/// Represents a banner ad format.
/// </summary>
Banner
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8124546645b9349f7858c4510ea7de78
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -2,15 +2,20 @@
using UnityEngine; using UnityEngine;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization;
using System; using System;
public class AndroidAgent : IronSourceIAgent public class AndroidAgent : IronSourceIAgent
{ {
private static AndroidJavaObject _androidBridge; static AndroidJavaObject _androidBridge;
private readonly static string AndroidBridge = "com.ironsource.unity.androidbridge.AndroidBridge"; readonly static string AndroidBridge = "com.ironsource.unity.androidbridge.AndroidBridge";
private const string REWARD_AMOUNT = "reward_amount"; const string REWARD_AMOUNT = "reward_amount";
private const string REWARD_NAME = "reward_name"; const string REWARD_NAME = "reward_name";
private const string PLACEMENT_NAME = "placement_name"; const string PLACEMENT_NAME = "placement_name";
const string WATERFALL_CONFIG_FLOOR = "floor";
const string WATERFALL_CONFIG_CEILING = "ceiling";
const string WATERFALL_CONFIG_API = "setWaterfallConfiguration";
public AndroidAgent () public AndroidAgent ()
{ {
@ -34,6 +39,48 @@ public class AndroidAgent : IronSourceIAgent
//******************* Base API *******************// //******************* Base API *******************//
/// <summary>
/// Allows publishers to set configurations for a waterfall of a given ad type.
/// </summary>
/// <param name="waterfallConfiguration">The configuration for the given ad types waterfall. </param>
/// <param name="adFormat">The AdFormat for which to configure the waterfall.</param>
public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat)
{
var ceiling = waterfallConfiguration.Ceiling;
var floor = waterfallConfiguration.Floor;
var dict = new Dictionary<string, string>();
if (ceiling.HasValue)
{
dict.Add(WATERFALL_CONFIG_CEILING, ceiling.Value.ToString(CultureInfo.InvariantCulture));
}
if (floor.HasValue)
{
dict.Add(WATERFALL_CONFIG_FLOOR, floor.Value.ToString(CultureInfo.InvariantCulture));
}
var json = IronSourceJSON.Json.Serialize(dict);
string stringAdFormat;
switch (adFormat)
{
case AdFormat.RewardedVideo:
stringAdFormat = "REWARDED_VIDEO";
break;
case AdFormat.Interstitial:
stringAdFormat = "INTERSTITIAL";
break;
case AdFormat.Banner:
stringAdFormat = "BANNER";
break;
default:
return;
}
getBridge().Call(WATERFALL_CONFIG_API, json, stringAdFormat);
}
public void onApplicationPause (bool pause) public void onApplicationPause (bool pause)
{ {
if (pause) if (pause)

View File

@ -7,7 +7,7 @@ public class IronSource : IronSourceIAgent
{ {
private IronSourceIAgent _platformAgent; private IronSourceIAgent _platformAgent;
private static IronSource _instance; private static IronSource _instance;
public static string UNITY_PLUGIN_VERSION = "7.3.0.1-r"; public static string UNITY_PLUGIN_VERSION = "7.3.1.1-r";
private static bool isUnsupportedPlatform; private static bool isUnsupportedPlatform;
private IronSource() private IronSource()
@ -67,6 +67,16 @@ public class IronSource : IronSourceIAgent
//******************* Base API *******************// //******************* Base API *******************//
/// <summary>
/// Allows publishers to set configurations for a waterfall of a given ad type.
/// </summary>
/// <param name="waterfallConfiguration">The configuration for the given ad types waterfall. </param>
/// <param name="adFormat">The AdFormat for which to configure the waterfall.</param>
public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat)
{
_platformAgent.SetWaterfallConfiguration(waterfallConfiguration, adFormat);
}
public void onApplicationPause(bool pause) public void onApplicationPause(bool pause)
{ {
_platformAgent.onApplicationPause(pause); _platformAgent.onApplicationPause(pause);
@ -256,22 +266,26 @@ public class IronSource : IronSourceIAgent
//******************* Offerwall API *******************// //******************* Offerwall API *******************//
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public void showOfferwall() public void showOfferwall()
{ {
_platformAgent.showOfferwall(); _platformAgent.showOfferwall();
} }
public void showOfferwall(string placementName) [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public void showOfferwall(string placementName)
{ {
_platformAgent.showOfferwall(placementName); _platformAgent.showOfferwall(placementName);
} }
public void getOfferwallCredits() [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public void getOfferwallCredits()
{ {
_platformAgent.getOfferwallCredits(); _platformAgent.getOfferwallCredits();
} }
public bool isOfferwallAvailable() [Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public bool isOfferwallAvailable()
{ {
return _platformAgent.isOfferwallAvailable(); return _platformAgent.isOfferwallAvailable();
} }

View File

@ -83,11 +83,17 @@ public class IronSourceEvents : MonoBehaviour
[Obsolete("This API has been deprecated as of SDK 7.3.0.1", false)] [Obsolete("This API has been deprecated as of SDK 7.3.0.1", false)]
public static event Action<string, IronSourceError> onInterstitialAdShowFailedDemandOnlyEvent; public static event Action<string, IronSourceError> onInterstitialAdShowFailedDemandOnlyEvent;
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public static event Action<bool> onOfferwallAvailableEvent; public static event Action<bool> onOfferwallAvailableEvent;
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public static event Action onOfferwallOpenedEvent; public static event Action onOfferwallOpenedEvent;
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public static event Action<Dictionary<string, object>> onOfferwallAdCreditedEvent; public static event Action<Dictionary<string, object>> onOfferwallAdCreditedEvent;
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public static event Action<IronSourceError> onGetOfferwallCreditsFailedEvent; public static event Action<IronSourceError> onGetOfferwallCreditsFailedEvent;
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public static event Action onOfferwallClosedEvent; public static event Action onOfferwallClosedEvent;
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public static event Action<IronSourceError> onOfferwallShowFailedEvent; public static event Action<IronSourceError> onOfferwallShowFailedEvent;
[Obsolete("This API has been deprecated as of SDK 7.3.0. Please use the alternate API in IronSourceBannerEvents listener instead.", false)] [Obsolete("This API has been deprecated as of SDK 7.3.0. Please use the alternate API in IronSourceBannerEvents listener instead.", false)]
@ -1643,6 +1649,7 @@ public class IronSourceEvents : MonoBehaviour
private static event Action _onOfferwallOpenedEvent; private static event Action _onOfferwallOpenedEvent;
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public static event Action onOfferwallOpenedEvent public static event Action onOfferwallOpenedEvent
{ {
add add
@ -1672,6 +1679,7 @@ public class IronSourceEvents : MonoBehaviour
private static event Action<IronSourceError> _onOfferwallShowFailedEvent; private static event Action<IronSourceError> _onOfferwallShowFailedEvent;
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public static event Action<IronSourceError> onOfferwallShowFailedEvent public static event Action<IronSourceError> onOfferwallShowFailedEvent
{ {
add add
@ -1702,6 +1710,7 @@ public class IronSourceEvents : MonoBehaviour
private static event Action _onOfferwallClosedEvent; private static event Action _onOfferwallClosedEvent;
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public static event Action onOfferwallClosedEvent public static event Action onOfferwallClosedEvent
{ {
add add
@ -1731,6 +1740,7 @@ public class IronSourceEvents : MonoBehaviour
private static event Action<IronSourceError> _onGetOfferwallCreditsFailedEvent; private static event Action<IronSourceError> _onGetOfferwallCreditsFailedEvent;
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public static event Action<IronSourceError> onGetOfferwallCreditsFailedEvent public static event Action<IronSourceError> onGetOfferwallCreditsFailedEvent
{ {
add add
@ -1762,6 +1772,7 @@ public class IronSourceEvents : MonoBehaviour
private static event Action<Dictionary<string, object>> _onOfferwallAdCreditedEvent; private static event Action<Dictionary<string, object>> _onOfferwallAdCreditedEvent;
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public static event Action<Dictionary<string, object>> onOfferwallAdCreditedEvent public static event Action<Dictionary<string, object>> onOfferwallAdCreditedEvent
{ {
add add
@ -1789,6 +1800,7 @@ public class IronSourceEvents : MonoBehaviour
private static event Action<bool> _onOfferwallAvailableEvent; private static event Action<bool> _onOfferwallAvailableEvent;
[Obsolete("This API call is for the ironSource Offerwall, which will soon be deprecated. Please migrate to the Tapjoy Offerwall using the 'Offerwall migration checklist'.", false)]
public static event Action<bool> onOfferwallAvailableEvent public static event Action<bool> onOfferwallAvailableEvent
{ {
add add

View File

@ -4,6 +4,13 @@ public interface IronSourceIAgent
{ {
//******************* Base API *******************// //******************* Base API *******************//
/// <summary>
/// Allows publishers to set configurations for a waterfall of a given ad type.
/// </summary>
/// <param name="waterfallConfiguration">The configuration for the given ad types waterfall. </param>
/// <param name="adFormat">The AdFormat for which to configure the waterfall.</param>
void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat);
void onApplicationPause(bool pause); void onApplicationPause(bool pause);
string getAdvertiserId(); string getAdvertiserId();

View File

@ -11,6 +11,15 @@ public class UnsupportedPlatformAgent : IronSourceIAgent
#region IronSourceAgent implementation #region IronSourceAgent implementation
/// <summary>
/// This function is not supported on the current platform and does nothing.
/// </summary>
/// <param name="waterfallConfiguration">The configuration for the given ad types waterfall. </param>
/// <param name="adFormat">The AdFormat for which to configure the waterfall.</param>
public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat)
{
}
public void start() public void start()
{ {
} }

View File

@ -0,0 +1,92 @@
using System.Collections.Generic;
using System;
/// <summary>
/// Configuration class which allows users to customize or filter a Waterfall.
/// </summary>
public class WaterfallConfiguration
{
readonly double? ceiling;
readonly double? floor;
/// <summary>
/// Gets the ceiling value.
/// </summary>
public double? Ceiling { get { return ceiling; } }
/// <summary>
/// Gets the floor value.
/// </summary>
public double? Floor { get { return floor; } }
/// <summary>
/// Initializes a new instance of the WaterfallConfiguration class.
/// </summary>
/// <param name="ceiling">The ceiling value.</param>
/// <param name="floor">The floor value.</param>
private WaterfallConfiguration(double? ceiling, double? floor)
{
this.ceiling = ceiling;
this.floor = floor;
}
/// <summary>
/// Gets a builder for creating instances of WaterfallConfiguration.
/// </summary>
/// <returns>The WaterfallConfigurationBuilder.</returns>
public static WaterfallConfigurationBuilder Builder()
{
return new WaterfallConfigurationBuilder();
}
/// <summary>
/// Creates an empty instance of WaterfallConfiguration.
/// </summary>
/// <returns>The empty WaterfallConfiguration.</returns>
public static WaterfallConfiguration Empty()
{
return new WaterfallConfiguration(double.NaN, double.NaN);
}
/// <summary>
/// Builder class which to create a WaterfallConfiguration.
/// </summary>
public class WaterfallConfigurationBuilder
{
double? ceiling;
double? floor;
internal WaterfallConfigurationBuilder() {}
/// <summary>
/// Sets the ceiling value.
/// </summary>
/// <param name="ceiling">The ceiling value.</param>
/// <returns>The WaterfallConfigurationBuilder.</returns>
public WaterfallConfigurationBuilder SetCeiling(double ceiling)
{
this.ceiling = ceiling;
return this;
}
/// <summary>
/// Sets the floor value.
/// </summary>
/// <param name="floor">The floor value.</param>
/// <returns>The WaterfallConfigurationBuilder.</returns>
public WaterfallConfigurationBuilder SetFloor(double floor)
{
this.floor = floor;
return this;
}
/// <summary>
/// Builds an instance of WaterfallConfiguration based on the configured values.
/// </summary>
/// <returns>The created WaterfallConfiguration.</returns>
public WaterfallConfiguration Build()
{
return new WaterfallConfiguration(ceiling, floor);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 354652886a99945cba942b569effe7bb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,508 +1,533 @@
#if UNITY_IPHONE || UNITY_IOS #if UNITY_IPHONE || UNITY_IOS
using UnityEngine; using UnityEngine;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Linq;
using System; using System;
using System.Globalization; using System.Globalization;
// public class iOSAgent : IronSourceIAgent // public class iOSAgent : IronSourceIAgent
// { // {
// [DllImport("__Internal")]
// private static extern void CFSetPluginData(string pluginType, string pluginVersion, string pluginFrameworkVersion);
// [DllImport("__Internal")] // struct IOSWaterfallConfiguration
// private static extern string CFGetAdvertiserId(); // {
// public double Floor;
// public double Ceiling;
// }
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFValidateIntegration(); // private static extern void LPPSetWaterfallConfiguration(IOSWaterfallConfiguration configurationParams, AdFormat adFormat);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFShouldTrackNetworkState(bool track); // private static extern void CFSetPluginData(string pluginType, string pluginVersion, string pluginFrameworkVersion);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern bool CFSetDynamicUserId(string dynamicUserId); // private static extern string CFGetAdvertiserId();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFSetAdaptersDebug(bool enabled); // private static extern void CFValidateIntegration();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFSetMetaData(string key, string value); // private static extern void CFShouldTrackNetworkState(bool track);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFSetMetaDataWithValues(string key, params string[] values); // private static extern bool CFSetDynamicUserId(string dynamicUserId);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern string CFGetConversionValue(); // private static extern void CFSetAdaptersDebug(bool enabled);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFSetManualLoadRewardedVideo(bool isOn); // private static extern void CFSetMetaData(string key, string value);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFSetNetworkData(string networkKey, string networkData); // private static extern void CFSetMetaDataWithValues(string key, params string[] values);
// delegate void ISUnityPauseGame(bool pause); // [DllImport("__Internal")]
// [DllImport("__Internal")] // private static extern string CFGetConversionValue();
// private static extern void RegisterPauseGameFunction(bool pasue);
// [DllImport("__Internal")]
// private static extern void CFSetManualLoadRewardedVideo(bool isOn);
// //******************* SDK Init *******************// // [DllImport("__Internal")]
// private static extern void CFSetNetworkData(string networkKey, string networkData);
// [DllImport("__Internal")] // delegate void ISUnityPauseGame(bool pause);
// private static extern void CFSetUserId(string userId); // [DllImport("__Internal")]
// private static extern void RegisterPauseGameFunction(bool pasue);
// [DllImport("__Internal")]
// private static extern void CFInit(string appKey);
// [DllImport("__Internal")] // //******************* SDK Init *******************//
// private static extern void CFInitWithAdUnits(string appKey, params string[] adUnits);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFInitISDemandOnly(string appKey, params string[] adUnits); // private static extern void CFSetUserId(string userId);
// //******************* RewardedVideo API *******************// // [DllImport("__Internal")]
// private static extern void CFInit(string appKey);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFLoadRewardedVideo(); // private static extern void CFInitWithAdUnits(string appKey, params string[] adUnits);
// [DllImport("__Internal")]
// private static extern void CFInitISDemandOnly(string appKey, params string[] adUnits);
// [DllImport("__Internal")] // //******************* RewardedVideo API *******************//
// private static extern void CFShowRewardedVideo();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFShowRewardedVideoWithPlacementName(string placementName); // private static extern void CFLoadRewardedVideo();
// [DllImport("__Internal")]
// private static extern bool CFIsRewardedVideoAvailable();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern bool CFIsRewardedVideoPlacementCapped(string placementName); // private static extern void CFShowRewardedVideo();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern string CFGetPlacementInfo(string placementName); // private static extern void CFShowRewardedVideoWithPlacementName(string placementName);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFSetRewardedVideoServerParameters(string jsonString); // private static extern bool CFIsRewardedVideoAvailable();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFClearRewardedVideoServerParameters(); // private static extern bool CFIsRewardedVideoPlacementCapped(string placementName);
// //******************* RewardedVideo DemandOnly API *******************// // [DllImport("__Internal")]
// private static extern string CFGetPlacementInfo(string placementName);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFShowISDemandOnlyRewardedVideo(string instanceId); // private static extern void CFSetRewardedVideoServerParameters(string jsonString);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFLoadISDemandOnlyRewardedVideo(string instanceId); // private static extern void CFClearRewardedVideoServerParameters();
// [DllImport("__Internal")] // //******************* RewardedVideo DemandOnly API *******************//
// private static extern bool CFIsDemandOnlyRewardedVideoAvailable(string instanceId);
// //******************* Interstitial API *******************// // [DllImport("__Internal")]
// private static extern void CFShowISDemandOnlyRewardedVideo(string instanceId);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFLoadInterstitial(); // private static extern void CFLoadISDemandOnlyRewardedVideo(string instanceId);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFShowInterstitial(); // private static extern bool CFIsDemandOnlyRewardedVideoAvailable(string instanceId);
// [DllImport("__Internal")] // //******************* Interstitial API *******************//
// private static extern void CFShowInterstitialWithPlacementName(string placementName);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern bool CFIsInterstitialReady(); // private static extern void CFLoadInterstitial();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern bool CFIsInterstitialPlacementCapped(string placementName); // private static extern void CFShowInterstitial();
// //******************* Interstitial DemandOnly API *******************// // [DllImport("__Internal")]
// private static extern void CFShowInterstitialWithPlacementName(string placementName);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFLoadISDemandOnlyInterstitial(string instanceId); // private static extern bool CFIsInterstitialReady();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFShowISDemandOnlyInterstitial(string instanceId); // private static extern bool CFIsInterstitialPlacementCapped(string placementName);
// [DllImport("__Internal")] // //******************* Interstitial DemandOnly API *******************//
// private static extern bool CFIsDemandOnlyInterstitialReady(string instanceId);
// [DllImport("__Internal")]
// private static extern void CFLoadISDemandOnlyInterstitial(string instanceId);
// //******************* Offerwall API *******************// // [DllImport("__Internal")]
// private static extern void CFShowISDemandOnlyInterstitial(string instanceId);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFShowOfferwall(); // private static extern bool CFIsDemandOnlyInterstitialReady(string instanceId);
// [DllImport("__Internal")]
// private static extern void CFShowOfferwallWithPlacementName(string placementName);
// [DllImport("__Internal")] // //******************* Offerwall API *******************//
// private static extern void CFGetOfferwallCredits();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern bool CFIsOfferwallAvailable(); // private static extern void CFShowOfferwall();
// //******************* Banner API *******************// // [DllImport("__Internal")]
// private static extern void CFShowOfferwallWithPlacementName(string placementName);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFLoadBanner(string description, int width, int height, int position, string placementName, bool isAdaptive); // private static extern void CFGetOfferwallCredits();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFDestroyBanner(); // private static extern bool CFIsOfferwallAvailable();
// [DllImport("__Internal")] // //******************* Banner API *******************//
// private static extern void CFDisplayBanner();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFHideBanner(); // private static extern void CFLoadBanner(string description, int width, int height, int position, string placementName, bool isAdaptive);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern bool CFIsBannerPlacementCapped(string placementName); // private static extern void CFDestroyBanner();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFSetSegment(string json); // private static extern void CFDisplayBanner();
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFSetConsent(bool consent); // private static extern void CFHideBanner();
// //******************* ConsentView API *******************// // [DllImport("__Internal")]
// private static extern bool CFIsBannerPlacementCapped(string placementName);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFLoadConsentViewWithType(string consentViewType); // private static extern void CFSetSegment(string json);
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFShowConsentViewWithType(string consentViewType); // private static extern void CFSetConsent(bool consent);
// //******************* ILRD API *******************// // //******************* ConsentView API *******************//
// [DllImport("__Internal")] // [DllImport("__Internal")]
// private static extern void CFSetAdRevenueData(string dataSource, string impressionData); // private static extern void CFLoadConsentViewWithType(string consentViewType);
// //******************* TestSuite API *******************// // [DllImport("__Internal")]
// private static extern void CFShowConsentViewWithType(string consentViewType);
// [DllImport("__Internal")] // //******************* ILRD API *******************//
// private static extern void CFLaunchTestSuite();
// public iOSAgent() // [DllImport("__Internal")]
// { // private static extern void CFSetAdRevenueData(string dataSource, string impressionData);
// }
// #region IronSourceIAgent implementation // //******************* TestSuite API *******************//
// //******************* Base API *******************// // [DllImport("__Internal")]
// private static extern void CFLaunchTestSuite();
// public void onApplicationPause(bool pause) // public iOSAgent()
// { // {
// }
// } // #region IronSourceIAgent implementation
// public string getAdvertiserId() // //******************* Base API *******************//
// {
// return CFGetAdvertiserId();
// }
// public void validateIntegration() // /// <summary>
// { // /// Allows publishers to set configurations for a waterfall of a given ad type.
// CFValidateIntegration(); // /// </summary>
// } // /// <param name="adFormat">The AdFormat for which to configure the waterfall.</param>
// /// <param name="waterfallConfiguration">The configuration for the given ad types waterfall. </param>
// public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat)
// {
// var config = new IOSWaterfallConfiguration
// {
// Floor = waterfallConfiguration.Floor ?? 0.0,
// Ceiling = waterfallConfiguration.Ceiling ?? 0.0
// };
// public void shouldTrackNetworkState(bool track) // LPPSetWaterfallConfiguration(config, adFormat);
// { // }
// CFShouldTrackNetworkState(track);
// }
// public bool setDynamicUserId(string dynamicUserId) // public void onApplicationPause(bool pause)
// { // {
// return CFSetDynamicUserId(dynamicUserId);
// }
// public void setAdaptersDebug(bool enabled) // }
// {
// CFSetAdaptersDebug(enabled);
// }
// public void setMetaData(string key, params string[] values) // public string getAdvertiserId()
// { // {
// CFSetMetaDataWithValues(key, values); // return CFGetAdvertiserId();
// } // }
// public void setMetaData(string key, string value) // public void validateIntegration()
// { // {
// CFSetMetaData(key, value); // CFValidateIntegration();
// } // }
// public int? getConversionValue() // public void shouldTrackNetworkState(bool track)
// { // {
// CultureInfo invCulture = CultureInfo.InvariantCulture; // CFShouldTrackNetworkState(track);
// int parsedInt; // }
// if (int.TryParse(string.Format(invCulture, "{0}", CFGetConversionValue()), NumberStyles.Any, invCulture, out parsedInt))
// { // public bool setDynamicUserId(string dynamicUserId)
// return parsedInt; // {
// } // return CFSetDynamicUserId(dynamicUserId);
// }
// return null;
// } // public void setAdaptersDebug(bool enabled)
// {
// public void setManualLoadRewardedVideo(bool isOn) // CFSetAdaptersDebug(enabled);
// { // }
// CFSetManualLoadRewardedVideo(isOn);
// } // public void setMetaData(string key, params string[] values)
// {
// public void setNetworkData(string networkKey, string networkData) // CFSetMetaDataWithValues(key, values);
// { // }
// CFSetNetworkData(networkKey, networkData);
// } // public void setMetaData(string key, string value)
// {
// [AOT.MonoPInvokeCallback(typeof(ISUnityPauseGame))] // CFSetMetaData(key, value);
// public void SetPauseGame(bool pause) // }
// {
// RegisterPauseGameFunction(pause); // public int? getConversionValue()
// if (pause) // {
// { // CultureInfo invCulture = CultureInfo.InvariantCulture;
// setMetaData("IS_PAUSE_GAME_FLAG", "true"); // int parsedInt;
// } // if (int.TryParse(string.Format(invCulture, "{0}", CFGetConversionValue()), NumberStyles.Any, invCulture, out parsedInt))
// else // {
// { // return parsedInt;
// setMetaData("IS_PAUSE_GAME_FLAG", "false"); // }
// }
// } // return null;
// }
// //******************* SDK Init *******************//
// public void setManualLoadRewardedVideo(bool isOn)
// public void setUserId(string userId) // {
// { // CFSetManualLoadRewardedVideo(isOn);
// CFSetUserId(userId); // }
// }
// public void setNetworkData(string networkKey, string networkData)
// public void init(string appKey) // {
// { // CFSetNetworkData(networkKey, networkData);
// CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion()); // }
// Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion());
// CFInit(appKey); // [AOT.MonoPInvokeCallback(typeof(ISUnityPauseGame))]
// } // public void SetPauseGame(bool pause)
// {
// public void init(string appKey, params string[] adUnits) // RegisterPauseGameFunction(pause);
// { // if (pause)
// CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion()); // {
// Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion()); // setMetaData("IS_PAUSE_GAME_FLAG", "true");
// CFInitWithAdUnits(appKey, adUnits); // }
// } // else
// {
// public void initISDemandOnly(string appKey, params string[] adUnits) // setMetaData("IS_PAUSE_GAME_FLAG", "false");
// { // }
// CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion()); // }
// Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion());
// CFInitISDemandOnly(appKey, adUnits); // //******************* SDK Init *******************//
// }
// public void setUserId(string userId)
// //******************* RewardedVideo API *******************// // {
// CFSetUserId(userId);
// public void loadRewardedVideo() // }
// {
// CFLoadRewardedVideo(); // public void init(string appKey)
// } // {
// CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion());
// public void showRewardedVideo() // Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion());
// { // CFInit(appKey);
// CFShowRewardedVideo(); // }
// }
// public void init(string appKey, params string[] adUnits)
// public void showRewardedVideo(string placementName) // {
// { // CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion());
// CFShowRewardedVideoWithPlacementName(placementName); // Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion());
// } // CFInitWithAdUnits(appKey, adUnits);
// }
// public bool isRewardedVideoAvailable()
// { // public void initISDemandOnly(string appKey, params string[] adUnits)
// return CFIsRewardedVideoAvailable(); // {
// } // CFSetPluginData("Unity", IronSource.pluginVersion(), IronSource.unityVersion());
// Debug.Log("IntegrationHelper pluginVersion: " + IronSource.pluginVersion());
// public bool isRewardedVideoPlacementCapped(string placementName) // CFInitISDemandOnly(appKey, adUnits);
// { // }
// return CFIsRewardedVideoPlacementCapped(placementName);
// } // //******************* RewardedVideo API *******************//
// public IronSourcePlacement getPlacementInfo(string placementName) // public void loadRewardedVideo()
// { // {
// IronSourcePlacement sp = null; // CFLoadRewardedVideo();
// }
// string spString = CFGetPlacementInfo(placementName);
// if (spString != null) // public void showRewardedVideo()
// { // {
// Dictionary<string, object> spDic = IronSourceJSON.Json.Deserialize(spString) as Dictionary<string, object>; // CFShowRewardedVideo();
// string pName = spDic["placement_name"].ToString(); // }
// string rewardName = spDic["reward_name"].ToString();
// int rewardAmount = Convert.ToInt32(spDic["reward_amount"].ToString()); // public void showRewardedVideo(string placementName)
// sp = new IronSourcePlacement(pName, rewardName, rewardAmount); // {
// } // CFShowRewardedVideoWithPlacementName(placementName);
// }
// return sp;
// } // public bool isRewardedVideoAvailable()
// {
// public void setRewardedVideoServerParams(Dictionary<string, string> parameters) // return CFIsRewardedVideoAvailable();
// { // }
// string json = IronSourceJSON.Json.Serialize(parameters);
// CFSetRewardedVideoServerParameters(json); // public bool isRewardedVideoPlacementCapped(string placementName)
// } // {
// return CFIsRewardedVideoPlacementCapped(placementName);
// public void clearRewardedVideoServerParams() // }
// {
// CFClearRewardedVideoServerParameters(); // public IronSourcePlacement getPlacementInfo(string placementName)
// } // {
// IronSourcePlacement sp = null;
// //******************* RewardedVideo DemandOnly API *******************//
// string spString = CFGetPlacementInfo(placementName);
// public void showISDemandOnlyRewardedVideo(string instanceId) // if (spString != null)
// { // {
// CFShowISDemandOnlyRewardedVideo(instanceId); // Dictionary<string, object> spDic = IronSourceJSON.Json.Deserialize(spString) as Dictionary<string, object>;
// } // string pName = spDic["placement_name"].ToString();
// string rewardName = spDic["reward_name"].ToString();
// public void loadISDemandOnlyRewardedVideo(string instanceId) // int rewardAmount = Convert.ToInt32(spDic["reward_amount"].ToString());
// { // sp = new IronSourcePlacement(pName, rewardName, rewardAmount);
// CFLoadISDemandOnlyRewardedVideo(instanceId); // }
// }
// return sp;
// public bool isISDemandOnlyRewardedVideoAvailable(string instanceId) // }
// {
// return CFIsDemandOnlyRewardedVideoAvailable(instanceId); // public void setRewardedVideoServerParams(Dictionary<string, string> parameters)
// } // {
// string json = IronSourceJSON.Json.Serialize(parameters);
// //******************* Interstitial API *******************// // CFSetRewardedVideoServerParameters(json);
// }
// public void loadInterstitial()
// { // public void clearRewardedVideoServerParams()
// CFLoadInterstitial(); // {
// } // CFClearRewardedVideoServerParameters();
// }
// public void showInterstitial()
// { // //******************* RewardedVideo DemandOnly API *******************//
// CFShowInterstitial();
// } // public void showISDemandOnlyRewardedVideo(string instanceId)
// {
// public void showInterstitial(string placementName) // CFShowISDemandOnlyRewardedVideo(instanceId);
// { // }
// CFShowInterstitialWithPlacementName(placementName);
// } // public void loadISDemandOnlyRewardedVideo(string instanceId)
// {
// public bool isInterstitialReady() // CFLoadISDemandOnlyRewardedVideo(instanceId);
// { // }
// return CFIsInterstitialReady();
// } // public bool isISDemandOnlyRewardedVideoAvailable(string instanceId)
// {
// public bool isInterstitialPlacementCapped(string placementName) // return CFIsDemandOnlyRewardedVideoAvailable(instanceId);
// { // }
// return CFIsInterstitialPlacementCapped(placementName);
// } // //******************* Interstitial API *******************//
// //******************* Interstitial DemandOnly API *******************// // public void loadInterstitial()
// {
// public void loadISDemandOnlyInterstitial(string instanceId) // CFLoadInterstitial();
// { // }
// CFLoadISDemandOnlyInterstitial(instanceId);
// } // public void showInterstitial()
// {
// public void showISDemandOnlyInterstitial(string instanceId) // CFShowInterstitial();
// { // }
// CFShowISDemandOnlyInterstitial(instanceId);
// } // public void showInterstitial(string placementName)
// {
// public bool isISDemandOnlyInterstitialReady(string instanceId) // CFShowInterstitialWithPlacementName(placementName);
// { // }
// return CFIsDemandOnlyInterstitialReady(instanceId);
// } // public bool isInterstitialReady()
// {
// //******************* Offerwall API *******************// // return CFIsInterstitialReady();
// }
// public void showOfferwall()
// { // public bool isInterstitialPlacementCapped(string placementName)
// CFShowOfferwall(); // {
// } // return CFIsInterstitialPlacementCapped(placementName);
// }
// public void showOfferwall(string placementName)
// { // //******************* Interstitial DemandOnly API *******************//
// CFShowOfferwallWithPlacementName(placementName);
// } // public void loadISDemandOnlyInterstitial(string instanceId)
// {
// public void getOfferwallCredits() // CFLoadISDemandOnlyInterstitial(instanceId);
// { // }
// CFGetOfferwallCredits();
// } // public void showISDemandOnlyInterstitial(string instanceId)
// {
// public bool isOfferwallAvailable() // CFShowISDemandOnlyInterstitial(instanceId);
// { // }
// return CFIsOfferwallAvailable();
// } // public bool isISDemandOnlyInterstitialReady(string instanceId)
// {
// //******************* Banner API *******************// // return CFIsDemandOnlyInterstitialReady(instanceId);
// }
// public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position)
// { // //******************* Offerwall API *******************//
// loadBanner(size, position, "");
// } // public void showOfferwall()
// {
// public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position, string placementName) // CFShowOfferwall();
// { // }
// CFLoadBanner(size.Description, (int)size.Width, (int)size.Height, (int)position, placementName, (bool)size.IsAdaptiveEnabled());
// } // public void showOfferwall(string placementName)
// {
// public void destroyBanner() // CFShowOfferwallWithPlacementName(placementName);
// { // }
// CFDestroyBanner();
// } // public void getOfferwallCredits()
// {
// public void displayBanner() // CFGetOfferwallCredits();
// { // }
// CFDisplayBanner();
// } // public bool isOfferwallAvailable()
// {
// public void hideBanner() // return CFIsOfferwallAvailable();
// { // }
// CFHideBanner();
// } // //******************* Banner API *******************//
// public bool isBannerPlacementCapped(string placementName) // public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position)
// { // {
// return CFIsBannerPlacementCapped(placementName); // loadBanner(size, position, "");
// } // }
// public void setSegment(IronSourceSegment segment) // public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position, string placementName)
// { // {
// Dictionary<string, string> dict = segment.getSegmentAsDict(); // CFLoadBanner(size.Description, (int)size.Width, (int)size.Height, (int)position, placementName, (bool)size.IsAdaptiveEnabled());
// string json = IronSourceJSON.Json.Serialize(dict); // }
// CFSetSegment(json);
// } // public void destroyBanner()
// {
// public void setConsent(bool consent) // CFDestroyBanner();
// { // }
// CFSetConsent(consent);
// } // public void displayBanner()
// {
// public void loadConsentViewWithType(string consentViewType) // CFDisplayBanner();
// { // }
// CFLoadConsentViewWithType(consentViewType);
// } // public void hideBanner()
// {
// public void showConsentViewWithType(string consentViewType) // CFHideBanner();
// { // }
// CFShowConsentViewWithType(consentViewType);
// } // public bool isBannerPlacementCapped(string placementName)
// {
// //******************* ILRD API *******************// // return CFIsBannerPlacementCapped(placementName);
// }
// public void setAdRevenueData(string dataSource, Dictionary<string, string> impressionData)
// { // public void setSegment(IronSourceSegment segment)
// string json = IronSourceJSON.Json.Serialize(impressionData); // {
// CFSetAdRevenueData(dataSource, json); // Dictionary<string, string> dict = segment.getSegmentAsDict();
// } // string json = IronSourceJSON.Json.Serialize(dict);
// CFSetSegment(json);
// //******************* TestSuite API *******************// // }
// public void launchTestSuite() // public void setConsent(bool consent)
// { // {
// Debug.Log("iOSAgent: launching TestSuite"); // CFSetConsent(consent);
// CFLaunchTestSuite(); // }
// }
// public void loadConsentViewWithType(string consentViewType)
// #endregion // {
// CFLoadConsentViewWithType(consentViewType);
// }
// public void showConsentViewWithType(string consentViewType)
// {
// CFShowConsentViewWithType(consentViewType);
// }
// //******************* ILRD API *******************//
// public void setAdRevenueData(string dataSource, Dictionary<string, string> impressionData)
// {
// string json = IronSourceJSON.Json.Serialize(impressionData);
// CFSetAdRevenueData(dataSource, json);
// }
// //******************* TestSuite API *******************//
// public void launchTestSuite()
// {
// Debug.Log("iOSAgent: launching TestSuite");
// CFLaunchTestSuite();
// }
// #endregion
// } // }
#endif #endif

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dependencies> <dependencies>
<androidPackages> <androidPackages>
<androidPackage spec="com.applovin:applovin-sdk:11.4.4" /> <androidPackage spec="com.applovin:applovin-sdk:11.10.1" />
</androidPackages> </androidPackages>
<iosPods> <iosPods>
<iosPod name="AppLovinSDK" version="11.4.3" /> <iosPod name="AppLovinSDK" version="11.10.1" />
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -16,6 +16,7 @@ typedef void (*ALUnityBackgroundCallback)(const char* args);
- (void)createBannerWithAdUnitIdentifier:(NSString *)adUnitIdentifier atPosition:(NSString *)bannerPosition; - (void)createBannerWithAdUnitIdentifier:(NSString *)adUnitIdentifier atPosition:(NSString *)bannerPosition;
- (void)createBannerWithAdUnitIdentifier:(NSString *)adUnitIdentifier x:(CGFloat)xOffset y:(CGFloat)yOffset; - (void)createBannerWithAdUnitIdentifier:(NSString *)adUnitIdentifier x:(CGFloat)xOffset y:(CGFloat)yOffset;
- (void)loadBannerWithAdUnitIdentifier:(NSString *)adUnitIdentifier;
- (void)setBannerBackgroundColorForAdUnitIdentifier:(NSString *)adUnitIdentifier hexColorCode:(NSString *)hexColorCode; - (void)setBannerBackgroundColorForAdUnitIdentifier:(NSString *)adUnitIdentifier hexColorCode:(NSString *)hexColorCode;
- (void)setBannerPlacement:(nullable NSString *)placement forAdUnitIdentifier:(NSString *)adUnitIdentifier; - (void)setBannerPlacement:(nullable NSString *)placement forAdUnitIdentifier:(NSString *)adUnitIdentifier;
- (void)startBannerAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifier; - (void)startBannerAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifier;
@ -34,6 +35,7 @@ typedef void (*ALUnityBackgroundCallback)(const char* args);
- (void)createMRecWithAdUnitIdentifier:(NSString *)adUnitIdentifier atPosition:(NSString *)mrecPosition; - (void)createMRecWithAdUnitIdentifier:(NSString *)adUnitIdentifier atPosition:(NSString *)mrecPosition;
- (void)createMRecWithAdUnitIdentifier:(NSString *)adUnitIdentifier x:(CGFloat)xOffset y:(CGFloat)yOffset; - (void)createMRecWithAdUnitIdentifier:(NSString *)adUnitIdentifier x:(CGFloat)xOffset y:(CGFloat)yOffset;
- (void)loadMRecWithAdUnitIdentifier:(NSString *)adUnitIdentifier;
- (void)setMRecPlacement:(nullable NSString *)placement forAdUnitIdentifier:(NSString *)adUnitIdentifier; - (void)setMRecPlacement:(nullable NSString *)placement forAdUnitIdentifier:(NSString *)adUnitIdentifier;
- (void)startMRecAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifier; - (void)startMRecAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifier;
- (void)stopMRecAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifer; - (void)stopMRecAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifer;
@ -61,6 +63,12 @@ typedef void (*ALUnityBackgroundCallback)(const char* args);
- (void)setInterstitialExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable NSString *)value; - (void)setInterstitialExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable NSString *)value;
- (void)setInterstitialLocalExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable id)value; - (void)setInterstitialLocalExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable id)value;
- (void)loadAppOpenAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier;
- (BOOL)isAppOpenAdReadyWithAdUnitIdentifier:(NSString *)adUnitIdentifier;
- (void)showAppOpenAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier placement:(nullable NSString *)placement customData:(nullable NSString *)customData;
- (void)setAppOpenAdExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable NSString *)value;
- (void)setAppOpenAdLocalExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable id)value;
- (void)loadRewardedAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier; - (void)loadRewardedAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier;
- (BOOL)isRewardedAdReadyWithAdUnitIdentifier:(NSString *)adUnitIdentifier; - (BOOL)isRewardedAdReadyWithAdUnitIdentifier:(NSString *)adUnitIdentifier;
- (void)showRewardedAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier placement:(nullable NSString *)placement customData:(nullable NSString *)customData; - (void)showRewardedAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier placement:(nullable NSString *)placement customData:(nullable NSString *)customData;
@ -85,8 +93,11 @@ typedef void (*ALUnityBackgroundCallback)(const char* args);
// User Service // User Service
- (void)didDismissUserConsentDialog; - (void)didDismissUserConsentDialog;
// Consent Flow
- (void)startConsentFlow;
// Utils // Utils
+ (NSString *)serializeParameters:(NSDictionary<NSString *, NSString *> *)dict; + (NSString *)serializeParameters:(NSDictionary<NSString *, id> *)dict;
/** /**
* Creates an instance of @c MAUnityAdManager if needed and returns the singleton instance. * Creates an instance of @c MAUnityAdManager if needed and returns the singleton instance.

View File

@ -3,7 +3,6 @@ guid: 4209563f82b8a4f7dabf03705ab761c6
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.h - al_max_export_path-MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.h
- al_max_export_path-MaxSdk\AppLovin\Plugins\iOS\MAUnityAdManager.h
PluginImporter: PluginImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 2
@ -16,7 +15,7 @@ PluginImporter:
validateReferences: 1 validateReferences: 1
platformData: platformData:
- first: - first:
: Any '': Any
second: second:
enabled: 0 enabled: 0
settings: settings:

View File

@ -5,7 +5,7 @@
#import "MAUnityAdManager.h" #import "MAUnityAdManager.h"
#define VERSION @"5.4.5" #define VERSION @"5.10.1"
#define KEY_WINDOW [UIApplication sharedApplication].keyWindow #define KEY_WINDOW [UIApplication sharedApplication].keyWindow
#define DEVICE_SPECIFIC_ADVIEW_AD_FORMAT ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) ? MAAdFormat.leader : MAAdFormat.banner #define DEVICE_SPECIFIC_ADVIEW_AD_FORMAT ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) ? MAAdFormat.leader : MAAdFormat.banner
@ -42,13 +42,14 @@ extern "C" {
} }
#endif #endif
@interface MAUnityAdManager()<MAAdDelegate, MAAdViewAdDelegate, MARewardedAdDelegate, MAAdRevenueDelegate, ALVariableServiceDelegate> @interface MAUnityAdManager()<MAAdDelegate, MAAdViewAdDelegate, MARewardedAdDelegate, MAAdRevenueDelegate, MAAdReviewDelegate, ALVariableServiceDelegate>
// Parent Fields // Parent Fields
@property (nonatomic, weak) ALSdk *sdk; @property (nonatomic, weak) ALSdk *sdk;
// Fullscreen Ad Fields // Fullscreen Ad Fields
@property (nonatomic, strong) NSMutableDictionary<NSString *, MAInterstitialAd *> *interstitials; @property (nonatomic, strong) NSMutableDictionary<NSString *, MAInterstitialAd *> *interstitials;
@property (nonatomic, strong) NSMutableDictionary<NSString *, MAAppOpenAd *> *appOpenAds;
@property (nonatomic, strong) NSMutableDictionary<NSString *, MARewardedAd *> *rewardedAds; @property (nonatomic, strong) NSMutableDictionary<NSString *, MARewardedAd *> *rewardedAds;
@property (nonatomic, strong) NSMutableDictionary<NSString *, MARewardedInterstitialAd *> *rewardedInterstitialAds; @property (nonatomic, strong) NSMutableDictionary<NSString *, MARewardedInterstitialAd *> *rewardedInterstitialAds;
@ -67,6 +68,7 @@ extern "C" {
@property (nonatomic, strong) NSMutableDictionary<NSString *, NSString *> *adViewCustomDataToSetAfterCreate; @property (nonatomic, strong) NSMutableDictionary<NSString *, NSString *> *adViewCustomDataToSetAfterCreate;
@property (nonatomic, strong) NSMutableArray<NSString *> *adUnitIdentifiersToShowAfterCreate; @property (nonatomic, strong) NSMutableArray<NSString *> *adUnitIdentifiersToShowAfterCreate;
@property (nonatomic, strong) NSMutableSet<NSString *> *disabledAdaptiveBannerAdUnitIdentifiers; @property (nonatomic, strong) NSMutableSet<NSString *> *disabledAdaptiveBannerAdUnitIdentifiers;
@property (nonatomic, strong) NSMutableSet<NSString *> *disabledAutoRefreshAdViewAdUnitIdentifiers;
@property (nonatomic, strong) UIView *safeAreaBackground; @property (nonatomic, strong) UIView *safeAreaBackground;
@property (nonatomic, strong, nullable) UIColor *publisherBannerBackgroundColor; @property (nonatomic, strong, nullable) UIColor *publisherBannerBackgroundColor;
@ -107,6 +109,7 @@ static ALUnityBackgroundCallback backgroundCallback;
if ( self ) if ( self )
{ {
self.interstitials = [NSMutableDictionary dictionaryWithCapacity: 2]; self.interstitials = [NSMutableDictionary dictionaryWithCapacity: 2];
self.appOpenAds = [NSMutableDictionary dictionaryWithCapacity: 2];
self.rewardedAds = [NSMutableDictionary dictionaryWithCapacity: 2]; self.rewardedAds = [NSMutableDictionary dictionaryWithCapacity: 2];
self.rewardedInterstitialAds = [NSMutableDictionary dictionaryWithCapacity: 2]; self.rewardedInterstitialAds = [NSMutableDictionary dictionaryWithCapacity: 2];
self.adViews = [NSMutableDictionary dictionaryWithCapacity: 2]; self.adViews = [NSMutableDictionary dictionaryWithCapacity: 2];
@ -123,6 +126,7 @@ static ALUnityBackgroundCallback backgroundCallback;
self.adViewCustomDataToSetAfterCreate = [NSMutableDictionary dictionaryWithCapacity: 1]; self.adViewCustomDataToSetAfterCreate = [NSMutableDictionary dictionaryWithCapacity: 1];
self.adUnitIdentifiersToShowAfterCreate = [NSMutableArray arrayWithCapacity: 2]; self.adUnitIdentifiersToShowAfterCreate = [NSMutableArray arrayWithCapacity: 2];
self.disabledAdaptiveBannerAdUnitIdentifiers = [NSMutableSet setWithCapacity: 2]; self.disabledAdaptiveBannerAdUnitIdentifiers = [NSMutableSet setWithCapacity: 2];
self.disabledAutoRefreshAdViewAdUnitIdentifiers = [NSMutableSet setWithCapacity: 2];
self.adInfoDict = [NSMutableDictionary dictionary]; self.adInfoDict = [NSMutableDictionary dictionary];
self.adInfoDictLock = [[NSObject alloc] init]; self.adInfoDictLock = [[NSObject alloc] init];
@ -172,7 +176,15 @@ static ALUnityBackgroundCallback backgroundCallback;
backgroundCallback = unityBackgroundCallback; backgroundCallback = unityBackgroundCallback;
NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary]; NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];
NSString *sdkKey = infoDict[@"AppLovinSdkKey"]; NSString *sdkKey = infoDict[@"AppLovinSdkKey"];
self.sdk = [ALSdk sharedWithKey: sdkKey settings: [self generateSDKSettingsForAdUnitIdentifiers: serializedAdUnitIdentifiers metaData: serializedMetaData]]; if ( [sdkKey al_isValidString] )
{
self.sdk = [ALSdk sharedWithKey: sdkKey settings: [self generateSDKSettingsForAdUnitIdentifiers: serializedAdUnitIdentifiers metaData: serializedMetaData]];
}
else
{
self.sdk = [ALSdk sharedWithSettings:[self generateSDKSettingsForAdUnitIdentifiers:serializedAdUnitIdentifiers metaData:serializedMetaData]];
}
self.sdk.variableService.delegate = self; self.sdk.variableService.delegate = self;
[self.sdk setPluginVersion: [@"Max-Unity-" stringByAppendingString: VERSION]]; [self.sdk setPluginVersion: [@"Max-Unity-" stringByAppendingString: VERSION]];
self.sdk.mediationProvider = @"max"; self.sdk.mediationProvider = @"max";
@ -187,7 +199,8 @@ static ALUnityBackgroundCallback backgroundCallback;
@"consentDialogState" : consentDialogStateStr, @"consentDialogState" : consentDialogStateStr,
@"countryCode" : configuration.countryCode, @"countryCode" : configuration.countryCode,
@"appTrackingStatus" : appTrackingStatus, @"appTrackingStatus" : appTrackingStatus,
@"isSuccessfullyInitialized" : ([self.sdk isInitialized] ? @"true" : @"false")}]; @"isSuccessfullyInitialized" : @([self.sdk isInitialized]),
@"isTestModeEnabled" : @([configuration isTestModeEnabled])}];
}]; }];
return self.sdk; return self.sdk;
@ -205,6 +218,11 @@ static ALUnityBackgroundCallback backgroundCallback;
[self createAdViewWithAdUnitIdentifier: adUnitIdentifier adFormat: [self adViewAdFormatForAdUnitIdentifier: adUnitIdentifier] atPosition: DEFAULT_AD_VIEW_POSITION withOffset: CGPointMake(xOffset, yOffset)]; [self createAdViewWithAdUnitIdentifier: adUnitIdentifier adFormat: [self adViewAdFormatForAdUnitIdentifier: adUnitIdentifier] atPosition: DEFAULT_AD_VIEW_POSITION withOffset: CGPointMake(xOffset, yOffset)];
} }
- (void)loadBannerWithAdUnitIdentifier:(NSString *)adUnitIdentifier
{
[self loadAdViewWithAdUnitIdentifier: adUnitIdentifier adFormat: [self adViewAdFormatForAdUnitIdentifier: adUnitIdentifier]];
}
- (void)setBannerBackgroundColorForAdUnitIdentifier:(NSString *)adUnitIdentifier hexColorCode:(NSString *)hexColorCode - (void)setBannerBackgroundColorForAdUnitIdentifier:(NSString *)adUnitIdentifier hexColorCode:(NSString *)hexColorCode
{ {
[self setAdViewBackgroundColorForAdUnitIdentifier: adUnitIdentifier adFormat: [self adViewAdFormatForAdUnitIdentifier: adUnitIdentifier] hexColorCode: hexColorCode]; [self setAdViewBackgroundColorForAdUnitIdentifier: adUnitIdentifier adFormat: [self adViewAdFormatForAdUnitIdentifier: adUnitIdentifier] hexColorCode: hexColorCode];
@ -292,6 +310,11 @@ static ALUnityBackgroundCallback backgroundCallback;
[self createAdViewWithAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec atPosition: DEFAULT_AD_VIEW_POSITION withOffset: CGPointMake(xOffset, yOffset)]; [self createAdViewWithAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec atPosition: DEFAULT_AD_VIEW_POSITION withOffset: CGPointMake(xOffset, yOffset)];
} }
- (void)loadMRecWithAdUnitIdentifier:(NSString *)adUnitIdentifier
{
[self loadAdViewWithAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec];
}
- (void)setMRecPlacement:(nullable NSString *)placement forAdUnitIdentifier:(NSString *)adUnitIdentifier - (void)setMRecPlacement:(nullable NSString *)placement forAdUnitIdentifier:(NSString *)adUnitIdentifier
{ {
[self setAdViewPlacement: placement forAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec]; [self setAdViewPlacement: placement forAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec];
@ -302,9 +325,9 @@ static ALUnityBackgroundCallback backgroundCallback;
[self startAdViewAutoRefreshForAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec]; [self startAdViewAutoRefreshForAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec];
} }
- (void)stopMRecAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifer - (void)stopMRecAutoRefreshForAdUnitIdentifier:(NSString *)adUnitIdentifier
{ {
[self stopAdViewAutoRefreshForAdUnitIdentifier: adUnitIdentifer adFormat: MAAdFormat.mrec]; [self stopAdViewAutoRefreshForAdUnitIdentifier: adUnitIdentifier adFormat: MAAdFormat.mrec];
} }
- (void)updateMRecPosition:(NSString *)mrecPosition forAdUnitIdentifier:(NSString *)adUnitIdentifier - (void)updateMRecPosition:(NSString *)mrecPosition forAdUnitIdentifier:(NSString *)adUnitIdentifier
@ -427,6 +450,38 @@ static ALUnityBackgroundCallback backgroundCallback;
[interstitial setLocalExtraParameterForKey: key value: value]; [interstitial setLocalExtraParameterForKey: key value: value];
} }
#pragma mark - App Open Ads
- (void)loadAppOpenAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier
{
MAAppOpenAd *appOpenAd = [self retrieveAppOpenAdForAdUnitIdentifier: adUnitIdentifier];
[appOpenAd loadAd];
}
- (BOOL)isAppOpenAdReadyWithAdUnitIdentifier:(NSString *)adUnitIdentifier
{
MAAppOpenAd *appOpenAd = [self retrieveAppOpenAdForAdUnitIdentifier: adUnitIdentifier];
return [appOpenAd isReady];
}
- (void)showAppOpenAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier placement:(nullable NSString *)placement customData:(nullable NSString *)customData
{
MAAppOpenAd *appOpenAd = [self retrieveAppOpenAdForAdUnitIdentifier: adUnitIdentifier];
[appOpenAd showAdForPlacement: placement customData: customData];
}
- (void)setAppOpenAdExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable NSString *)value
{
MAAppOpenAd *appOpenAd = [self retrieveAppOpenAdForAdUnitIdentifier: adUnitIdentifier];
[appOpenAd setExtraParameterForKey: key value: value];
}
- (void)setAppOpenAdLocalExtraParameterForAdUnitIdentifier:(NSString *)adUnitIdentifier key:(NSString *)key value:(nullable id)value
{
MAAppOpenAd *appOpenAd = [self retrieveAppOpenAdForAdUnitIdentifier: adUnitIdentifier];
[appOpenAd setLocalExtraParameterForKey: key value: value];
}
#pragma mark - Rewarded #pragma mark - Rewarded
- (void)loadRewardedAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier - (void)loadRewardedAdWithAdUnitIdentifier:(NSString *)adUnitIdentifier
@ -568,6 +623,7 @@ static ALUnityBackgroundCallback backgroundCallback;
} }
networkResponseDict[@"credentials"] = response.credentials; networkResponseDict[@"credentials"] = response.credentials;
networkResponseDict[@"isBidding"] = @([response isBidding]);
MAError *error = response.error; MAError *error = response.error;
if ( error ) if ( error )
@ -636,6 +692,10 @@ static ALUnityBackgroundCallback backgroundCallback;
{ {
name = @"OnInterstitialLoadedEvent"; name = @"OnInterstitialLoadedEvent";
} }
else if ( MAAdFormat.appOpen == adFormat )
{
name = @"OnAppOpenAdLoadedEvent";
}
else if ( MAAdFormat.rewarded == adFormat ) else if ( MAAdFormat.rewarded == adFormat )
{ {
name = @"OnRewardedAdLoadedEvent"; name = @"OnRewardedAdLoadedEvent";
@ -688,6 +748,10 @@ static ALUnityBackgroundCallback backgroundCallback;
{ {
name = @"OnInterstitialLoadFailedEvent"; name = @"OnInterstitialLoadFailedEvent";
} }
else if ( self.appOpenAds[adUnitIdentifier] )
{
name = @"OnAppOpenAdLoadFailedEvent";
}
else if ( self.rewardedAds[adUnitIdentifier] ) else if ( self.rewardedAds[adUnitIdentifier] )
{ {
name = @"OnRewardedAdLoadFailedEvent"; name = @"OnRewardedAdLoadFailedEvent";
@ -735,6 +799,10 @@ static ALUnityBackgroundCallback backgroundCallback;
{ {
name = @"OnInterstitialClickedEvent"; name = @"OnInterstitialClickedEvent";
} }
else if ( MAAdFormat.appOpen == adFormat )
{
name = @"OnAppOpenAdClickedEvent";
}
else if ( MAAdFormat.rewarded == adFormat ) else if ( MAAdFormat.rewarded == adFormat )
{ {
name = @"OnRewardedAdClickedEvent"; name = @"OnRewardedAdClickedEvent";
@ -768,6 +836,10 @@ static ALUnityBackgroundCallback backgroundCallback;
{ {
name = @"OnInterstitialDisplayedEvent"; name = @"OnInterstitialDisplayedEvent";
} }
else if ( MAAdFormat.appOpen == adFormat )
{
name = @"OnAppOpenAdDisplayedEvent";
}
else if ( MAAdFormat.rewarded == adFormat ) else if ( MAAdFormat.rewarded == adFormat )
{ {
name = @"OnRewardedAdDisplayedEvent"; name = @"OnRewardedAdDisplayedEvent";
@ -792,6 +864,10 @@ static ALUnityBackgroundCallback backgroundCallback;
{ {
name = @"OnInterstitialAdFailedToDisplayEvent"; name = @"OnInterstitialAdFailedToDisplayEvent";
} }
else if ( MAAdFormat.appOpen == adFormat )
{
name = @"OnAppOpenAdFailedToDisplayEvent";
}
else if ( MAAdFormat.rewarded == adFormat ) else if ( MAAdFormat.rewarded == adFormat )
{ {
name = @"OnRewardedAdFailedToDisplayEvent"; name = @"OnRewardedAdFailedToDisplayEvent";
@ -825,6 +901,10 @@ static ALUnityBackgroundCallback backgroundCallback;
{ {
name = @"OnInterstitialHiddenEvent"; name = @"OnInterstitialHiddenEvent";
} }
else if ( MAAdFormat.appOpen == adFormat )
{
name = @"OnAppOpenAdHiddenEvent";
}
else if ( MAAdFormat.rewarded == adFormat ) else if ( MAAdFormat.rewarded == adFormat )
{ {
name = @"OnRewardedAdHiddenEvent"; name = @"OnRewardedAdHiddenEvent";
@ -952,6 +1032,10 @@ static ALUnityBackgroundCallback backgroundCallback;
{ {
name = @"OnInterstitialAdRevenuePaidEvent"; name = @"OnInterstitialAdRevenuePaidEvent";
} }
else if ( MAAdFormat.appOpen == adFormat )
{
name = @"OnAppOpenAdRevenuePaidEvent";
}
else if ( MAAdFormat.rewarded == adFormat ) else if ( MAAdFormat.rewarded == adFormat )
{ {
name = @"OnRewardedAdRevenuePaidEvent"; name = @"OnRewardedAdRevenuePaidEvent";
@ -970,6 +1054,41 @@ static ALUnityBackgroundCallback backgroundCallback;
[MAUnityAdManager forwardUnityEventWithArgs: args forwardInBackground: [adFormat isFullscreenAd]]; [MAUnityAdManager forwardUnityEventWithArgs: args forwardInBackground: [adFormat isFullscreenAd]];
} }
- (void)didGenerateCreativeIdentifier:(NSString *)creativeIdentifier forAd:(MAAd *)ad
{
NSString *name;
MAAdFormat *adFormat = ad.format;
if ( MAAdFormat.banner == adFormat || MAAdFormat.leader == adFormat )
{
name = @"OnBannerAdReviewCreativeIdGeneratedEvent";
}
else if ( MAAdFormat.mrec == adFormat )
{
name = @"OnMRecAdReviewCreativeIdGeneratedEvent";
}
else if ( MAAdFormat.interstitial == adFormat )
{
name = @"OnInterstitialAdReviewCreativeIdGeneratedEvent";
}
else if ( MAAdFormat.rewarded == adFormat )
{
name = @"OnRewardedAdReviewCreativeIdGeneratedEvent";
}
else if ( MAAdFormat.rewardedInterstitial == adFormat )
{
name = @"OnRewardedInterstitialAdReviewCreativeIdGeneratedEvent";
}
else
{
[self logInvalidAdFormat: adFormat];
return;
}
NSMutableDictionary<NSString *, id> *args = [self defaultAdEventParametersForName: name withAd: ad];
args[@"adReviewCreativeId"] = creativeIdentifier;
[MAUnityAdManager forwardUnityEventWithArgs: args];
}
- (NSMutableDictionary<NSString *, id> *)defaultAdEventParametersForName:(NSString *)name withAd:(MAAd *)ad - (NSMutableDictionary<NSString *, id> *)defaultAdEventParametersForName:(NSString *)name withAd:(MAAd *)ad
{ {
NSMutableDictionary<NSString *, id> *args = [[self adInfoForAd: ad] mutableCopy]; NSMutableDictionary<NSString *, id> *args = [[self adInfoForAd: ad] mutableCopy];
@ -985,6 +1104,11 @@ static ALUnityBackgroundCallback backgroundCallback;
max_unity_dispatch_on_main_thread(^{ max_unity_dispatch_on_main_thread(^{
[self log: @"Creating %@ with ad unit identifier \"%@\" and position: \"%@\"", adFormat, adUnitIdentifier, adViewPosition]; [self log: @"Creating %@ with ad unit identifier \"%@\" and position: \"%@\"", adFormat, adUnitIdentifier, adViewPosition];
if ( self.adViews[adUnitIdentifier] )
{
[self log: @"Trying to create a %@ that was already created. This will cause the current ad to be hidden.", adFormat.label];
}
// Retrieve ad view from the map // Retrieve ad view from the map
MAAdView *adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat atPosition: adViewPosition withOffset: offset]; MAAdView *adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat atPosition: adViewPosition withOffset: offset];
adView.hidden = YES; adView.hidden = YES;
@ -1040,6 +1164,12 @@ static ALUnityBackgroundCallback backgroundCallback;
[adView loadAd]; [adView loadAd];
// Disable auto-refresh if publisher sets it before creating the ad view.
if ( [self.disabledAutoRefreshAdViewAdUnitIdentifiers containsObject: adUnitIdentifier] )
{
[adView stopAutoRefresh];
}
// The publisher may have requested to show the banner before it was created. Now that the banner is created, show it. // The publisher may have requested to show the banner before it was created. Now that the banner is created, show it.
if ( [self.adUnitIdentifiersToShowAfterCreate containsObject: adUnitIdentifier] ) if ( [self.adUnitIdentifiersToShowAfterCreate containsObject: adUnitIdentifier] )
{ {
@ -1049,6 +1179,32 @@ static ALUnityBackgroundCallback backgroundCallback;
}); });
} }
- (void)loadAdViewWithAdUnitIdentifier:(NSString *)adUnitIdentifier adFormat:(MAAdFormat *)adFormat
{
max_unity_dispatch_on_main_thread(^{
MAAdView *adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat];
if ( !adView )
{
[self log: @"%@ does not exist for ad unit identifier %@.", adFormat.label, adUnitIdentifier];
return;
}
if ( ![self.disabledAutoRefreshAdViewAdUnitIdentifiers containsObject: adUnitIdentifier] )
{
if ( [adView isHidden] )
{
[self log: @"Auto-refresh will resume when the %@ ad is shown. You should only call LoadBanner() or LoadMRec() if you explicitly pause auto-refresh and want to manually load an ad.", adFormat.label];
return;
}
[self log: @"You must stop auto-refresh if you want to manually load %@ ads.", adFormat.label];
return;
}
[adView loadAd];
});
}
- (void)setAdViewBackgroundColorForAdUnitIdentifier:(NSString *)adUnitIdentifier adFormat:(MAAdFormat *)adFormat hexColorCode:(NSString *)hexColorCode - (void)setAdViewBackgroundColorForAdUnitIdentifier:(NSString *)adUnitIdentifier adFormat:(MAAdFormat *)adFormat hexColorCode:(NSString *)hexColorCode
{ {
max_unity_dispatch_on_main_thread(^{ max_unity_dispatch_on_main_thread(^{
@ -1082,6 +1238,8 @@ static ALUnityBackgroundCallback backgroundCallback;
max_unity_dispatch_on_main_thread(^{ max_unity_dispatch_on_main_thread(^{
[self log: @"Starting %@ auto refresh for ad unit identifier \"%@\"", adFormat.label, adUnitIdentifier]; [self log: @"Starting %@ auto refresh for ad unit identifier \"%@\"", adFormat.label, adUnitIdentifier];
[self.disabledAutoRefreshAdViewAdUnitIdentifiers removeObject: adUnitIdentifier];
MAAdView *adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat]; MAAdView *adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat];
if ( !adView ) if ( !adView )
{ {
@ -1098,6 +1256,8 @@ static ALUnityBackgroundCallback backgroundCallback;
max_unity_dispatch_on_main_thread(^{ max_unity_dispatch_on_main_thread(^{
[self log: @"Stopping %@ auto refresh for ad unit identifier \"%@\"", adFormat.label, adUnitIdentifier]; [self log: @"Stopping %@ auto refresh for ad unit identifier \"%@\"", adFormat.label, adUnitIdentifier];
[self.disabledAutoRefreshAdViewAdUnitIdentifiers addObject: adUnitIdentifier];
MAAdView *adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat]; MAAdView *adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat];
if ( !adView ) if ( !adView )
{ {
@ -1272,7 +1432,10 @@ static ALUnityBackgroundCallback backgroundCallback;
self.safeAreaBackground.hidden = NO; self.safeAreaBackground.hidden = NO;
view.hidden = NO; view.hidden = NO;
[view startAutoRefresh]; if ( ![self.disabledAutoRefreshAdViewAdUnitIdentifiers containsObject: adUnitIdentifier] )
{
[view startAutoRefresh];
}
}); });
} }
@ -1317,6 +1480,7 @@ static ALUnityBackgroundCallback backgroundCallback;
MAAdView *view = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat]; MAAdView *view = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat];
view.delegate = nil; view.delegate = nil;
view.revenueDelegate = nil; view.revenueDelegate = nil;
view.adReviewDelegate = nil;
[view removeFromSuperview]; [view removeFromSuperview];
@ -1355,6 +1519,7 @@ static ALUnityBackgroundCallback backgroundCallback;
result = [[MAInterstitialAd alloc] initWithAdUnitIdentifier: adUnitIdentifier sdk: self.sdk]; result = [[MAInterstitialAd alloc] initWithAdUnitIdentifier: adUnitIdentifier sdk: self.sdk];
result.delegate = self; result.delegate = self;
result.revenueDelegate = self; result.revenueDelegate = self;
result.adReviewDelegate = self;
self.interstitials[adUnitIdentifier] = result; self.interstitials[adUnitIdentifier] = result;
} }
@ -1362,6 +1527,21 @@ static ALUnityBackgroundCallback backgroundCallback;
return result; return result;
} }
- (MAAppOpenAd *)retrieveAppOpenAdForAdUnitIdentifier:(NSString *)adUnitIdentifier
{
MAAppOpenAd *result = self.appOpenAds[adUnitIdentifier];
if ( !result )
{
result = [[MAAppOpenAd alloc] initWithAdUnitIdentifier: adUnitIdentifier sdk: self.sdk];
result.delegate = self;
result.revenueDelegate = self;
self.appOpenAds[adUnitIdentifier] = result;
}
return result;
}
- (MARewardedAd *)retrieveRewardedAdForAdUnitIdentifier:(NSString *)adUnitIdentifier - (MARewardedAd *)retrieveRewardedAdForAdUnitIdentifier:(NSString *)adUnitIdentifier
{ {
MARewardedAd *result = self.rewardedAds[adUnitIdentifier]; MARewardedAd *result = self.rewardedAds[adUnitIdentifier];
@ -1370,6 +1550,7 @@ static ALUnityBackgroundCallback backgroundCallback;
result = [MARewardedAd sharedWithAdUnitIdentifier: adUnitIdentifier sdk: self.sdk]; result = [MARewardedAd sharedWithAdUnitIdentifier: adUnitIdentifier sdk: self.sdk];
result.delegate = self; result.delegate = self;
result.revenueDelegate = self; result.revenueDelegate = self;
result.adReviewDelegate = self;
self.rewardedAds[adUnitIdentifier] = result; self.rewardedAds[adUnitIdentifier] = result;
} }
@ -1385,6 +1566,7 @@ static ALUnityBackgroundCallback backgroundCallback;
result = [[MARewardedInterstitialAd alloc] initWithAdUnitIdentifier: adUnitIdentifier sdk: self.sdk]; result = [[MARewardedInterstitialAd alloc] initWithAdUnitIdentifier: adUnitIdentifier sdk: self.sdk];
result.delegate = self; result.delegate = self;
result.revenueDelegate = self; result.revenueDelegate = self;
result.adReviewDelegate = self;
self.rewardedInterstitialAds[adUnitIdentifier] = result; self.rewardedInterstitialAds[adUnitIdentifier] = result;
} }
@ -1408,6 +1590,7 @@ static ALUnityBackgroundCallback backgroundCallback;
result.translatesAutoresizingMaskIntoConstraints = NO; result.translatesAutoresizingMaskIntoConstraints = NO;
result.delegate = self; result.delegate = self;
result.revenueDelegate = self; result.revenueDelegate = self;
result.adReviewDelegate = self;
self.adViews[adUnitIdentifier] = result; self.adViews[adUnitIdentifier] = result;
self.adViewPositions[adUnitIdentifier] = adViewPosition; self.adViewPositions[adUnitIdentifier] = adViewPosition;
@ -1415,6 +1598,9 @@ static ALUnityBackgroundCallback backgroundCallback;
UIViewController *rootViewController = [self unityViewController]; UIViewController *rootViewController = [self unityViewController];
[rootViewController.view addSubview: result]; [rootViewController.view addSubview: result];
// Allow pubs to pause auto-refresh immediately, by default.
[result setExtraParameterForKey: @"allow_pause_auto_refresh_immediately" value: @"true"];
} }
return result; return result;
@ -1829,6 +2015,25 @@ static ALUnityBackgroundCallback backgroundCallback;
[MAUnityAdManager forwardUnityEventWithArgs: @{@"name" : @"OnSdkConsentDialogDismissedEvent"}]; [MAUnityAdManager forwardUnityEventWithArgs: @{@"name" : @"OnSdkConsentDialogDismissedEvent"}];
} }
#pragma mark - Consent Flow
- (void)startConsentFlow
{
[self.sdk.cfService scfWithCompletionHander:^(ALCFError * _Nullable error) {
NSMutableDictionary<NSString *, id> *args = [NSMutableDictionary dictionaryWithCapacity: 3];
args[@"name"] = @"OnSdkConsentFlowCompletedEvent";
if ( error )
{
args[@"code"] = @(error.code);
args[@"message"] = error.message;
}
[MAUnityAdManager forwardUnityEventWithArgs: args];
}];
}
#pragma mark - Variable Service (Deprecated) #pragma mark - Variable Service (Deprecated)
- (void)loadVariables - (void)loadVariables

View File

@ -3,7 +3,6 @@ guid: 2973e70bd2fa74984b35aea07ae9db52
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m - al_max_export_path-MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m
- al_max_export_path-MaxSdk\AppLovin\Plugins\iOS\MAUnityAdManager.m
PluginImporter: PluginImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 2
@ -16,7 +15,7 @@ PluginImporter:
validateReferences: 1 validateReferences: 1
platformData: platformData:
- first: - first:
: Any '': Any
second: second:
enabled: 0 enabled: 0
settings: settings:

View File

@ -37,11 +37,20 @@ extern "C"
static NSNumber *_creativeDebuggerEnabledToSet; static NSNumber *_creativeDebuggerEnabledToSet;
static NSNumber *_exceptionHandlerEnabledToSet; static NSNumber *_exceptionHandlerEnabledToSet;
static NSNumber *_locationCollectionEnabledToSet; static NSNumber *_locationCollectionEnabledToSet;
static NSNumber *_targetingYearOfBirth;
static NSString *_targetingGender;
static NSNumber *_targetingMaximumAdContentRating;
static NSString *_targetingEmail;
static NSString *_targetingPhoneNumber;
static NSArray<NSString *> *_targetingKeywords;
static NSArray<NSString *> *_targetingInterests;
static NSMutableDictionary<NSString *, NSString *> *_extraParametersToSet = [NSMutableDictionary dictionary]; static NSMutableDictionary<NSString *, NSString *> *_extraParametersToSet = [NSMutableDictionary dictionary];
static NSObject *_extraParametersToSetLock = [[NSObject alloc] init]; static NSObject *_extraParametersToSetLock = [[NSObject alloc] init];
// Helper method to create C string copy // Helper method to create C string copy
static const char * cStringCopy(NSString *string); static const char * cStringCopy(NSString *string);
// Helper method to log errors
void logUninitializedAccessError(char *callingMethod);
bool isPluginInitialized() bool isPluginInitialized()
{ {
@ -67,6 +76,42 @@ extern "C"
return array; return array;
} }
ALGender getAppLovinGender(NSString *genderString)
{
if ( [@"F" al_isEqualToStringIgnoringCase: genderString] )
{
return ALGenderFemale;
}
else if ( [@"M" al_isEqualToStringIgnoringCase: genderString] )
{
return ALGenderMale;
}
else if ( [@"O" al_isEqualToStringIgnoringCase: genderString] )
{
return ALGenderOther;
}
return ALGenderUnknown;
}
ALAdContentRating getAppLovinAdContentRating(int maximumAdContentRating)
{
if ( maximumAdContentRating == 1 )
{
return ALAdContentRatingAllAudiences;
}
else if ( maximumAdContentRating == 2 )
{
return ALAdContentRatingEveryoneOverTwelve;
}
else if ( maximumAdContentRating == 3 )
{
return ALAdContentRatingMatureAudiences;
}
return ALAdContentRatingNone;
}
void setPendingExtraParametersIfNeeded(ALSdkSettings *settings) void setPendingExtraParametersIfNeeded(ALSdkSettings *settings)
{ {
NSDictionary *extraParameters; NSDictionary *extraParameters;
@ -129,7 +174,7 @@ extern "C"
if ( _verboseLoggingToSet ) if ( _verboseLoggingToSet )
{ {
_sdk.settings.isVerboseLogging = _verboseLoggingToSet.boolValue; _sdk.settings.verboseLoggingEnabled = _verboseLoggingToSet.boolValue;
_verboseLoggingToSet = nil; _verboseLoggingToSet = nil;
} }
@ -151,6 +196,48 @@ extern "C"
_locationCollectionEnabledToSet = nil; _locationCollectionEnabledToSet = nil;
} }
if ( _targetingYearOfBirth )
{
_sdk.targetingData.yearOfBirth = _targetingYearOfBirth.intValue <= 0 ? nil : _targetingYearOfBirth;
_targetingYearOfBirth = nil;
}
if ( _targetingGender )
{
_sdk.targetingData.gender = getAppLovinGender(_targetingGender);
_targetingGender = nil;
}
if ( _targetingMaximumAdContentRating )
{
_sdk.targetingData.maximumAdContentRating = getAppLovinAdContentRating(_targetingMaximumAdContentRating.intValue);
_targetingMaximumAdContentRating = nil;
}
if ( _targetingEmail )
{
_sdk.targetingData.email = _targetingEmail;
_targetingEmail = nil;
}
if ( _targetingPhoneNumber )
{
_sdk.targetingData.phoneNumber = _targetingPhoneNumber;
_targetingPhoneNumber = nil;
}
if ( _targetingKeywords )
{
_sdk.targetingData.keywords = _targetingKeywords;
_targetingKeywords = nil;
}
if ( _targetingInterests )
{
_sdk.targetingData.interests = _targetingInterests;
_targetingInterests = nil;
}
setPendingExtraParametersIfNeeded( _sdk.settings ); setPendingExtraParametersIfNeeded( _sdk.settings );
} }
@ -195,6 +282,17 @@ extern "C"
[_sdk showMediationDebugger]; [_sdk showMediationDebugger];
} }
void _MaxShowCreativeDebugger()
{
if ( !_sdk )
{
NSLog(@"[%@] Failed to show creative debugger - please ensure the AppLovin MAX Unity Plugin has been initialized by calling 'MaxSdk.InitializeSdk();'!", TAG);
return;
}
[_sdk showCreativeDebugger];
}
void _MaxShowConsentDialog() void _MaxShowConsentDialog()
{ {
NSLog(@"[%@] Failed to show consent dialog - Unavailable on iOS, please use the consent flow: https://dash.applovin.com/documentation/mediation/unity/getting-started/consent-flow", TAG); NSLog(@"[%@] Failed to show consent dialog - Unavailable on iOS, please use the consent flow: https://dash.applovin.com/documentation/mediation/unity/getting-started/consent-flow", TAG);
@ -236,82 +334,98 @@ extern "C"
void _MaxSetTargetingDataYearOfBirth(const int yearOfBirth) void _MaxSetTargetingDataYearOfBirth(const int yearOfBirth)
{ {
if ( !isPluginInitialized() ) return; if ( !_sdk )
{
_targetingYearOfBirth = @(yearOfBirth);
return;
}
_sdk.targetingData.yearOfBirth = yearOfBirth <= 0 ? nil : @(yearOfBirth); _sdk.targetingData.yearOfBirth = yearOfBirth <= 0 ? nil : @(yearOfBirth);
} }
void _MaxSetTargetingDataGender(const char *gender) void _MaxSetTargetingDataGender(char *gender)
{ {
if ( !isPluginInitialized() ) return; if ( !_sdk )
{
_targetingGender = NSSTRING(gender);
return;
}
NSString *genderString = NSSTRING(gender); NSString *genderString = NSSTRING(gender);
ALGender alGender = ALGenderUnknown; _sdk.targetingData.gender = getAppLovinGender(genderString);
if ( [genderString isEqualToString: @"F"] )
{
alGender = ALGenderFemale;
}
else if ( [genderString isEqualToString: @"M"] )
{
alGender = ALGenderMale;
}
else if ( [genderString isEqualToString: @"O"] )
{
alGender = ALGenderOther;
}
_sdk.targetingData.gender = alGender;
} }
void _MaxSetTargetingDataMaximumAdContentRating(const int maximumAdContentRating) void _MaxSetTargetingDataMaximumAdContentRating(const int maximumAdContentRating)
{ {
if ( !isPluginInitialized() ) return; if ( !_sdk )
ALAdContentRating rating = ALAdContentRatingNone;
if ( maximumAdContentRating == 1 )
{ {
rating = ALAdContentRatingAllAudiences; _targetingMaximumAdContentRating = @(maximumAdContentRating);
} return;
else if ( maximumAdContentRating == 2 )
{
rating = ALAdContentRatingEveryoneOverTwelve;
}
else if ( maximumAdContentRating == 3 )
{
rating = ALAdContentRatingMatureAudiences;
} }
_sdk.targetingData.maximumAdContentRating = rating; _sdk.targetingData.maximumAdContentRating = getAppLovinAdContentRating(maximumAdContentRating);
} }
void _MaxSetTargetingDataEmail(const char *email) void _MaxSetTargetingDataEmail(char *email)
{ {
if ( !isPluginInitialized() ) return; if ( !_sdk )
{
_targetingEmail = NSSTRING(email);
return;
}
_sdk.targetingData.email = NSSTRING(email); _sdk.targetingData.email = NSSTRING(email);
} }
void _MaxSetTargetingDataPhoneNumber(const char *phoneNumber) void _MaxSetTargetingDataPhoneNumber(char *phoneNumber)
{ {
if ( !isPluginInitialized() ) return; if ( !_sdk )
{
_targetingPhoneNumber = NSSTRING(phoneNumber);
return;
}
_sdk.targetingData.phoneNumber = NSSTRING(phoneNumber); _sdk.targetingData.phoneNumber = NSSTRING(phoneNumber);
} }
void _MaxSetTargetingDataKeywords(char **keywords, int size) void _MaxSetTargetingDataKeywords(char **keywords, int size)
{ {
if ( !isPluginInitialized() ) return; NSArray<NSString *> *keywordsArray = keywords ? toStringArray(keywords, size) : nil;
_sdk.targetingData.keywords = toStringArray(keywords, size); if ( !_sdk )
{
_targetingKeywords = keywordsArray;
return;
}
_sdk.targetingData.keywords = keywordsArray;
} }
void _MaxSetTargetingDataInterests(char **interests, int size) void _MaxSetTargetingDataInterests(char **interests, int size)
{ {
if ( !isPluginInitialized() ) return; NSArray<NSString *> *interestsArray = interests ? toStringArray(interests, size) : nil;
_sdk.targetingData.interests = toStringArray(interests, size); if ( !_sdk )
{
_targetingInterests = interestsArray;
return;
}
_sdk.targetingData.interests = interestsArray;
} }
void _MaxClearAllTargetingData() void _MaxClearAllTargetingData()
{ {
if ( !isPluginInitialized() ) return; if ( !_sdk )
{
_targetingYearOfBirth = nil;
_targetingGender = nil;
_targetingMaximumAdContentRating = nil;
_targetingEmail = nil;
_targetingPhoneNumber = nil;
_targetingKeywords = nil;
_targetingInterests = nil;
return;
}
[_sdk.targetingData clearAll]; [_sdk.targetingData clearAll];
} }
@ -319,7 +433,7 @@ extern "C"
{ {
if ( !_sdk ) if ( !_sdk )
{ {
NSLog(@"[%@] Failed to get SDK configuration - please ensure the AppLovin MAX Unity Plugin has been initialized by calling 'MaxSdk.InitializeSdk();'!", TAG); logUninitializedAccessError("_MaxGetSdkConfiguration");
return cStringCopy(@""); return cStringCopy(@"");
} }
@ -329,7 +443,8 @@ extern "C"
return cStringCopy([MAUnityAdManager serializeParameters: @{@"consentDialogState" : consentDialogStateStr, return cStringCopy([MAUnityAdManager serializeParameters: @{@"consentDialogState" : consentDialogStateStr,
@"countryCode" : _sdk.configuration.countryCode, @"countryCode" : _sdk.configuration.countryCode,
@"appTrackingStatus" : appTrackingStatus, @"appTrackingStatus" : appTrackingStatus,
@"isSuccessfullyInitialized" : ([_sdk isInitialized] ? @"true" : @"false")}]); @"isSuccessfullyInitialized" : @([_sdk isInitialized]),
@"isTestModeEnabled" : @([_sdk.configuration isTestModeEnabled])}]);
} }
void _MaxSetHasUserConsent(bool hasUserConsent) void _MaxSetHasUserConsent(bool hasUserConsent)
@ -391,6 +506,13 @@ extern "C"
[_adManager createBannerWithAdUnitIdentifier: NSSTRING(adUnitIdentifier) x: x y: y]; [_adManager createBannerWithAdUnitIdentifier: NSSTRING(adUnitIdentifier) x: x y: y];
} }
void _MaxLoadBanner(const char *adUnitIdentifier)
{
if (!isPluginInitialized()) return;
[_adManager loadBannerWithAdUnitIdentifier: NSSTRING(adUnitIdentifier)];
}
void _MaxSetBannerBackgroundColor(const char *adUnitIdentifier, const char *hexColorCode) void _MaxSetBannerBackgroundColor(const char *adUnitIdentifier, const char *hexColorCode)
{ {
if (!isPluginInitialized()) return; if (!isPluginInitialized()) return;
@ -493,6 +615,13 @@ extern "C"
[_adManager createMRecWithAdUnitIdentifier: NSSTRING(adUnitIdentifier) x: x y: y]; [_adManager createMRecWithAdUnitIdentifier: NSSTRING(adUnitIdentifier) x: x y: y];
} }
void _MaxLoadMRec(const char *adUnitIdentifier)
{
if (!isPluginInitialized()) return;
[_adManager loadMRecWithAdUnitIdentifier: NSSTRING(adUnitIdentifier)];
}
void _MaxSetMRecPlacement(const char *adUnitIdentifier, const char *placement) void _MaxSetMRecPlacement(const char *adUnitIdentifier, const char *placement)
{ {
[_adManager setMRecPlacement: NSSTRING(placement) forAdUnitIdentifier: NSSTRING(adUnitIdentifier)]; [_adManager setMRecPlacement: NSSTRING(placement) forAdUnitIdentifier: NSSTRING(adUnitIdentifier)];
@ -649,6 +778,41 @@ extern "C"
[_adManager showInterstitialWithAdUnitIdentifier: NSSTRING(adUnitIdentifier) placement: NSSTRING(placement) customData: NSSTRING(customData)]; [_adManager showInterstitialWithAdUnitIdentifier: NSSTRING(adUnitIdentifier) placement: NSSTRING(placement) customData: NSSTRING(customData)];
} }
void _MaxLoadAppOpenAd(const char *adUnitIdentifier)
{
if (!isPluginInitialized()) return;
[_adManager loadAppOpenAdWithAdUnitIdentifier: NSSTRING(adUnitIdentifier)];
}
void _MaxSetAppOpenAdExtraParameter(const char *adUnitIdentifier, const char *key, const char *value)
{
[_adManager setAppOpenAdExtraParameterForAdUnitIdentifier: NSSTRING(adUnitIdentifier)
key: NSSTRING(key)
value: NSSTRING(value)];
}
void _MaxSetAppOpenAdLocalExtraParameter(const char *adUnitIdentifier, const char *key, MAUnityRef value)
{
[_adManager setAppOpenAdLocalExtraParameterForAdUnitIdentifier: NSSTRING(adUnitIdentifier)
key: NSSTRING(key)
value: (__bridge id)value];
}
bool _MaxIsAppOpenAdReady(const char *adUnitIdentifier)
{
if (!isPluginInitialized()) return false;
return [_adManager isAppOpenAdReadyWithAdUnitIdentifier: NSSTRING(adUnitIdentifier)];
}
void _MaxShowAppOpenAd(const char *adUnitIdentifier, const char *placement, const char *customData)
{
if (!isPluginInitialized()) return;
[_adManager showAppOpenAdWithAdUnitIdentifier: NSSTRING(adUnitIdentifier) placement: NSSTRING(placement) customData: NSSTRING(customData)];
}
void _MaxLoadRewardedAd(const char *adUnitIdentifier) void _MaxLoadRewardedAd(const char *adUnitIdentifier)
{ {
if (!isPluginInitialized()) return; if (!isPluginInitialized()) return;
@ -789,7 +953,7 @@ extern "C"
{ {
if ( _sdk ) if ( _sdk )
{ {
_sdk.settings.isVerboseLogging = enabled; _sdk.settings.verboseLoggingEnabled = enabled;
_verboseLoggingToSet = nil; _verboseLoggingToSet = nil;
} }
else else
@ -802,7 +966,7 @@ extern "C"
{ {
if ( _sdk ) if ( _sdk )
{ {
return _sdk.settings.isVerboseLogging; return [_sdk.settings isVerboseLoggingEnabled];
} }
else if ( _verboseLoggingToSet ) else if ( _verboseLoggingToSet )
{ {
@ -890,11 +1054,38 @@ extern "C"
} }
} }
const char * _MaxGetCFType()
{
if ( !_sdk )
{
NSLog(@"[%@] Failed to get available mediated networks - please ensure the AppLovin MAX Unity Plugin has been initialized by calling 'MaxSdk.InitializeSdk();'!", TAG);
return cStringCopy(@(ALCFTypeUnknown).stringValue);
}
return cStringCopy(@(_sdk.cfService.cfType).stringValue);
}
void _MaxStartConsentFlow()
{
if (!isPluginInitialized())
{
logUninitializedAccessError("_MaxStartConsentFlow");
return;
}
[_adManager startConsentFlow];
}
float _MaxGetAdaptiveBannerHeight(const float width) float _MaxGetAdaptiveBannerHeight(const float width)
{ {
return [MAUnityAdManager adaptiveBannerHeightForWidth: width]; return [MAUnityAdManager adaptiveBannerHeightForWidth: width];
} }
void logUninitializedAccessError(char *callingMethod)
{
NSLog(@"[%@] Failed to execute: %s - please ensure the AppLovin MAX Unity Plugin has been initialized by calling 'MaxSdk.InitializeSdk();'!", TAG, callingMethod);
}
[[deprecated("This API has been deprecated. Please use our SDK's initialization callback to retrieve variables instead.")]] [[deprecated("This API has been deprecated. Please use our SDK's initialization callback to retrieve variables instead.")]]
void _MaxLoadVariables() void _MaxLoadVariables()
{ {

View File

@ -3,7 +3,6 @@ guid: 7e373ed7168b243e6b706e991ab5a643
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/AppLovin/Plugins/iOS/MAUnityPlugin.mm - al_max_export_path-MaxSdk/AppLovin/Plugins/iOS/MAUnityPlugin.mm
- al_max_export_path-MaxSdk\AppLovin\Plugins\iOS\MAUnityPlugin.mm
PluginImporter: PluginImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 2
@ -16,7 +15,7 @@ PluginImporter:
validateReferences: 1 validateReferences: 1
platformData: platformData:
- first: - first:
: Any '': Any
second: second:
enabled: 0 enabled: 0
settings: settings:

View File

@ -3,7 +3,6 @@ guid: dcf2020c4018447c9b91170c0f62d799
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation - al_max_export_path-MaxSdk/Mediation
- al_max_export_path-MaxSdk\Mediation
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dependencies> <dependencies>
<!-- <androidPackages> <!-- <androidPackages>
<androidPackage spec="com.applovin.mediation:adcolony-adapter:4.8.0.2"/> <androidPackage spec="com.applovin.mediation:adcolony-adapter:4.8.0.4"/>
</androidPackages> --> </androidPackages> -->
<iosPods> <iosPods>
<iosPod name="AppLovinMediationAdColonyAdapter" version="4.9.0.0.2"/> <iosPod name="AppLovinMediationAdColonyAdapter" version="4.9.0.0.4"/>
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -3,7 +3,6 @@ guid: a351b114cfc11494ba8c131833b1bf74
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/AdColony/Editor/Dependencies.xml - al_max_export_path-MaxSdk/Mediation/AdColony/Editor/Dependencies.xml
- al_max_export_path-MaxSdk\Mediation\AdColony\Editor\Dependencies.xml
TextScriptImporter: TextScriptImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3,7 +3,6 @@ guid: ef8467ffb0e4447b79a8804884a7520a
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/ByteDance/Editor - al_max_export_path-MaxSdk/Mediation/ByteDance/Editor
- al_max_export_path-MaxSdk\Mediation\ByteDance\Editor
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dependencies> <dependencies>
<!-- <androidPackages> <!-- <androidPackages>
<androidPackage spec="com.applovin.mediation:bytedance-adapter:4.5.0.6.0"> <androidPackage spec="com.applovin.mediation:bytedance-adapter:5.4.1.0.0">
<repositories> <repositories>
<repository>https://artifact.bytedance.com/repository/pangle</repository> <repository>https://artifact.bytedance.com/repository/pangle</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> --> </androidPackages> -->
<iosPods> <iosPods>
<iosPod name="AppLovinMediationByteDanceAdapter" version="4.6.1.3.0" /> <iosPod name="AppLovinMediationByteDanceAdapter" version="5.4.1.0.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -3,7 +3,6 @@ guid: 0828555cb1ce94702a4af6f3dce3d735
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml - al_max_export_path-MaxSdk/Mediation/ByteDance/Editor/Dependencies.xml
- al_max_export_path-MaxSdk\Mediation\ByteDance\Editor\Dependencies.xml
TextScriptImporter: TextScriptImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3,7 +3,6 @@ guid: a90f13141c35746f5a2996c8ad068fe9
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Chartboost/Editor - al_max_export_path-MaxSdk/Mediation/Chartboost/Editor
- al_max_export_path-MaxSdk\Mediation\Chartboost\Editor
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,10 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dependencies> <dependencies>
<!-- <androidPackages> <!-- <androidPackages>
<androidPackage spec="com.applovin.mediation:chartboost-adapter:8.4.3.1" /> <androidPackage spec="com.applovin.mediation:chartboost-adapter:9.4.1.0">
<repositories>
<repository>https://cboost.jfrog.io/artifactory/chartboost-ads/</repository>
</repositories>
</androidPackage>
<androidPackage spec="com.google.android.gms:play-services-base:16.1.0" /> <androidPackage spec="com.google.android.gms:play-services-base:16.1.0" />
</androidPackages> --> </androidPackages> -->
<iosPods> <iosPods>
<iosPod name="AppLovinMediationChartboostAdapter" version="9.0.0.0" /> <iosPod name="AppLovinMediationChartboostAdapter" version="9.4.0.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -3,7 +3,6 @@ guid: 93b0a4618bd884871af0981a7867bb2f
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Chartboost/Editor/Dependencies.xml - al_max_export_path-MaxSdk/Mediation/Chartboost/Editor/Dependencies.xml
- al_max_export_path-MaxSdk\Mediation\Chartboost\Editor\Dependencies.xml
TextScriptImporter: TextScriptImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3,7 +3,6 @@ guid: 28880992a399a48b7abe95b66649d711
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Facebook/Editor - al_max_export_path-MaxSdk/Mediation/Facebook/Editor
- al_max_export_path-MaxSdk\Mediation\Facebook\Editor
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -5,9 +5,9 @@
Since FAN SDK depends on older versions of a few support and play service versions Since FAN SDK depends on older versions of a few support and play service versions
`com.applovin.mediation:facebook-adapter:x.y.z.a` resolves to `com.applovin.mediation:facebook-adapter:+` which pulls down the beta versions of FAN SDK. `com.applovin.mediation:facebook-adapter:x.y.z.a` resolves to `com.applovin.mediation:facebook-adapter:+` which pulls down the beta versions of FAN SDK.
Note that forcing the adapter is enough to stop Jar Resolver from pulling the latest FAN SDK. --> Note that forcing the adapter is enough to stop Jar Resolver from pulling the latest FAN SDK. -->
<!-- <androidPackage spec="com.applovin.mediation:facebook-adapter:[6.11.0.5]" /> --> <!-- <androidPackage spec="com.applovin.mediation:facebook-adapter:[6.15.0.0]" /> -->
<!-- </androidPackages> --> <!-- </androidPackages> -->
<iosPods> <iosPods>
<iosPod name="AppLovinMediationFacebookAdapter" version="6.11.2.1" /> <iosPod name="AppLovinMediationFacebookAdapter" version="6.14.0.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -3,7 +3,6 @@ guid: aea9bdf974328420db5ae118ef0d2b87
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Facebook/Editor/Dependencies.xml - al_max_export_path-MaxSdk/Mediation/Facebook/Editor/Dependencies.xml
- al_max_export_path-MaxSdk\Mediation\Facebook\Editor\Dependencies.xml
TextScriptImporter: TextScriptImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3,7 +3,6 @@ guid: e076e4ef7e2874ba69b108cc7a346c2a
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Fyber/Editor - al_max_export_path-MaxSdk/Mediation/Fyber/Editor
- al_max_export_path-MaxSdk\Mediation\Fyber\Editor
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dependencies> <dependencies>
<!-- <androidPackages> <!-- <androidPackages>
<androidPackage spec="com.applovin.mediation:fyber-adapter:8.2.0.0"/> <androidPackage spec="com.applovin.mediation:fyber-adapter:8.2.3.3"/>
</androidPackages> --> </androidPackages> -->
<iosPods> <iosPods>
<iosPod name="AppLovinMediationFyberAdapter" version="8.1.6.0"/> <iosPod name="AppLovinMediationFyberAdapter" version="8.2.4.0"/>
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -3,7 +3,6 @@ guid: 5e123cdc08e804dffb2c40c4fbc83caf
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Fyber/Editor/Dependencies.xml - al_max_export_path-MaxSdk/Mediation/Fyber/Editor/Dependencies.xml
- al_max_export_path-MaxSdk\Mediation\Fyber\Editor\Dependencies.xml
TextScriptImporter: TextScriptImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3,7 +3,6 @@ guid: e8015bd045cea462c8f39c8a05867d08
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Google/Editor - al_max_export_path-MaxSdk/Mediation/Google/Editor
- al_max_export_path-MaxSdk\Mediation\Google\Editor
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -2,9 +2,9 @@
<dependencies> <dependencies>
<!-- <androidPackages> --> <!-- <androidPackages> -->
<!-- Ensure that Resolver doesn't inadvertently pull the latest Play Services Ads' SDK that we haven't certified against. --> <!-- Ensure that Resolver doesn't inadvertently pull the latest Play Services Ads' SDK that we haven't certified against. -->
<!-- <androidPackage spec="com.applovin.mediation:google-adapter:[21.1.0.0]" /> <!-- <androidPackage spec="com.applovin.mediation:google-adapter:[22.3.0.0]" />
</androidPackages> --> </androidPackages> -->
<iosPods> <iosPods>
<iosPod name="AppLovinMediationGoogleAdapter" version="9.8.0.0" /> <iosPod name="AppLovinMediationGoogleAdapter" version="10.10.0.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -3,7 +3,6 @@ guid: 053b810d3594744e38b6fd0fa378fb57
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Google/Editor/Dependencies.xml - al_max_export_path-MaxSdk/Mediation/Google/Editor/Dependencies.xml
- al_max_export_path-MaxSdk\Mediation\Google\Editor\Dependencies.xml
TextScriptImporter: TextScriptImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,38 +0,0 @@
//
// MaxGoogleInitialize.cs
// AppLovin MAX Unity Plugin
//
// Created by Santosh Bagadi on 10/5/20.
// Copyright © 2020 AppLovin. All rights reserved.
//
using System.IO;
using UnityEditor;
using UnityEngine;
namespace AppLovinMax.Mediation.Google.Editor
{
[InitializeOnLoad]
public class MaxGoogleInitialize
{
private static readonly string LegacyMaxMediationGoogleDir = Path.Combine("Assets", "Plugins/Android/MaxMediationGoogle");
static MaxGoogleInitialize()
{
// 安卓不处理
if (true)
{
return;
}
// Check if the MaxMediationGoogle directory exists and append .androidlib to it.
if (Directory.Exists(LegacyMaxMediationGoogleDir))
{
Debug.Log("[AppLovin MAX] Updating Google Android library directory name to make it compatible with Unity 2020+ versions.");
FileUtil.MoveFileOrDirectory(LegacyMaxMediationGoogleDir, LegacyMaxMediationGoogleDir + ".androidlib");
FileUtil.MoveFileOrDirectory(LegacyMaxMediationGoogleDir + ".meta", LegacyMaxMediationGoogleDir + ".androidlib" + ".meta");
AssetDatabase.Refresh();
}
}
}
}

View File

@ -1,15 +0,0 @@
fileFormatVersion: 2
guid: 2376824a26af1414bbc62440698ccc89
labels:
- al_max
- al_max_export_path-MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs
- al_max_export_path-MaxSdk\Mediation\Google\Editor\MaxGoogleInitialize.cs
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,59 +0,0 @@
//
// MaxMediationGoogleUtils.cs
// AppLovin MAX Unity Plugin
//
// Created by Santosh Bagadi on 11/7/19.
// Copyright © 2019 AppLovin. All rights reserved.
//
using System;
using System.IO;
using UnityEditor;
using UnityEngine;
namespace AppLovinMax.Mediation.Google.Editor
{
/// <summary>
/// An Utils class containing shared convenience methods.
/// </summary>
public static class MaxMediationGoogleUtils
{
private const string AppLovinSettingsExportPath = "MaxSdk/Resources/AppLovinSettings.asset";
/// <summary>
/// Loads the AppLovin Settings asset if it is available and returns the value for the given property name.
/// </summary>
/// <param name="property">The name of the property for which to get the value of from <c>AppLovinSettings.asset</c> file.</param>
/// <returns>The string value of the property if found.</returns>
public static string GetAppIdFromAppLovinSettings(string property)
{
var settingsFileName = GetAppLovinSettingsAssetPath();
if (!File.Exists(settingsFileName))
{
Debug.LogError("[AppLovin MAX] The current plugin version is incompatible with the AdMob adapter. Please update the AppLovin MAX plugin to version 2.4.0 or higher.");
return null;
}
var instance = AssetDatabase.LoadAssetAtPath(settingsFileName, Type.GetType("AppLovinSettings, MaxSdk.Scripts.IntegrationManager.Editor"));
if (instance == null)
{
Debug.LogError("[AppLovin MAX] The current plugin version is incompatible with the AdMob adapter. Please update the AppLovin MAX plugin to version 2.4.15 or higher");
return null;
}
var adMobAppIdProperty = instance.GetType().GetProperty(property);
return adMobAppIdProperty == null ? null : adMobAppIdProperty.GetValue(instance, null).ToString();
}
private static string GetAppLovinSettingsAssetPath()
{
// Since the settings asset is generated during compile time, the asset label will contain platform specific path separator. So, use platform specific export path.
var assetLabel = "l:al_max_export_path-" + AppLovinSettingsExportPath.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar);
var guids = AssetDatabase.FindAssets(assetLabel);
var defaultPath = Path.Combine("Assets", AppLovinSettingsExportPath);
return guids.Length > 0 ? AssetDatabase.GUIDToAssetPath(guids[0]) : defaultPath;
}
}
}

View File

@ -1,15 +0,0 @@
fileFormatVersion: 2
guid: 6de4e4d420b14431a7d169724e23361e
labels:
- al_max
- al_max_export_path-MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs
- al_max_export_path-MaxSdk\Mediation\Google\Editor\MaxMediationGoogleUtils.cs
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,48 +0,0 @@
//
// PostProcessor.cs
// AppLovin MAX Unity Plugin
//
// Created by Santosh Bagadi on 6/4/19.
// Copyright © 2019 AppLovin. All rights reserved.
//
#if UNITY_IPHONE || UNITY_IOS
using System.IO;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
using UnityEngine;
namespace AppLovinMax.Mediation.Google.Editor
{
/// <summary>
/// A post processor that will add the AdMob App ID to the <c>info.plist</c> file.
/// </summary>
public class PostProcessor
{
[PostProcessBuild]
public static void OnPostProcessBuild(BuildTarget buildTarget, string buildPath)
{
var appId = MaxMediationGoogleUtils.GetAppIdFromAppLovinSettings("AdMobIosAppId");
// Log error if the App ID is not set.
if (string.IsNullOrEmpty(appId) || !appId.StartsWith("ca-app-pub-"))
{
Debug.LogError("[AppLovin MAX] AdMob App ID is not set. Please enter a valid app ID within the AppLovin Integration Manager window.");
return;
}
var plistPath = Path.Combine(buildPath, "Info.plist");
var plist = new PlistDocument();
plist.ReadFromFile(plistPath);
// Actually set (then write) AdMob app id to Info.plist if valid
plist.root.SetString("GADApplicationIdentifier", appId);
File.WriteAllText(plistPath, plist.WriteToString());
}
}
}
#endif

View File

@ -1,115 +0,0 @@
//
// PreProcessor.cs
// AppLovin MAX Unity Plugin
//
// Created by Santosh Bagadi on 11/7/19.
// Copyright © 2019 AppLovin. All rights reserved.
//
#if UNITY_ANDROID
using System.IO;
using System.Linq;
using System.Xml.Linq;
using UnityEditor;
using UnityEditor.Build;
#if UNITY_2018_1_OR_NEWER
using UnityEditor.Build.Reporting;
#endif
using UnityEngine;
namespace AppLovinMax.Mediation.Google.Editor
{
/// <summary>
/// A pre processor that will add the AdMob App ID to the <c>AndroidManifest.xml</c> file.
/// </summary>
public class PreProcessor :
#if UNITY_2018_1_OR_NEWER
IPreprocessBuildWithReport
#else
IPreprocessBuild
#endif
{
#if UNITY_2018_1_OR_NEWER
public void OnPreprocessBuild(BuildReport report)
#else
public void OnPreprocessBuild(BuildTarget target, string path)
#endif
{
// 安卓先不处理
if (true)
{
return;
}
var appId = MaxMediationGoogleUtils.GetAppIdFromAppLovinSettings("AdMobAndroidAppId");
if (string.IsNullOrEmpty(appId))
{
Debug.LogError("[AppLovin MAX] AdMob App ID is not set. Please enter a valid app ID within the ");
return;
}
var manifestPath = Path.Combine(Application.dataPath, "Plugins/Android/MaxMediationGoogle.androidlib/AndroidManifest.xml");
XDocument manifest;
try
{
manifest = XDocument.Load(manifestPath);
}
#pragma warning disable 0168
catch (IOException exception)
#pragma warning restore 0168
{
Debug.LogError("[AppLovin MAX] Google mediation AndroidManifest.xml is missing. Ensure that MAX Google mediation plugin is imported correctly.");
return;
}
// Get the `manifest` element.
var elementManifest = manifest.Element("manifest");
if (elementManifest == null)
{
Debug.LogError("[AppLovin MAX] Google mediation AndroidManifest.xml is invalid. Ensure that MAX Google mediation plugin is imported correctly.");
return;
}
// Get the `application` element under `manifest`.
var elementApplication = elementManifest.Element("application");
if (elementApplication == null)
{
Debug.LogError("[AppLovin MAX] Google mediation AndroidManifest.xml is invalid. Ensure that MAX Google mediation plugin is imported correctly.");
return;
}
// Get all the `meta-data` elements under `application`.
var adMobMetaData = elementApplication.Descendants().First(element => element.Name.LocalName.Equals("meta-data"));
XNamespace androidNamespace = "http://schemas.android.com/apk/res/android";
if (!adMobMetaData.FirstAttribute.Name.Namespace.Equals(androidNamespace) ||
!adMobMetaData.FirstAttribute.Name.LocalName.Equals("name") ||
!adMobMetaData.FirstAttribute.Value.Equals("com.google.android.gms.ads.APPLICATION_ID"))
{
Debug.LogError("[AppLovin MAX] Google mediation AndroidManifest.xml is invalid. Ensure that MAX Google mediation plugin is imported correctly.");
return;
}
var lastAttribute = adMobMetaData.LastAttribute;
// Log error if the AdMob App ID is not set.
if (!lastAttribute.Name.LocalName.Equals("value"))
{
Debug.LogError("[AppLovin MAX] Google mediation AndroidManifest.xml is invalid. Ensure that MAX Google mediation plugin is imported correctly.");
}
// Set the App ID value.
lastAttribute.Value = appId;
// Save the updated manifest file.
manifest.Save(manifestPath);
}
public int callbackOrder
{
get { return 0; }
}
}
}
#endif

View File

@ -3,7 +3,6 @@ guid: a141703acd55a48c2a3e6e6599f90c64
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/InMobi/Editor - al_max_export_path-MaxSdk/Mediation/InMobi/Editor
- al_max_export_path-MaxSdk\Mediation\InMobi\Editor
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dependencies> <dependencies>
<!-- <androidPackages> <!-- <androidPackages>
<androidPackage spec="com.applovin.mediation:inmobi-adapter:10.0.8.1" /> <androidPackage spec="com.applovin.mediation:inmobi-adapter:10.1.4.3" />
<androidPackage spec="com.squareup.picasso:picasso:2.71828" /> <androidPackage spec="com.squareup.picasso:picasso:2.71828" />
<androidPackage spec="com.android.support:recyclerview-v7:28.+" /> <androidPackage spec="com.android.support:recyclerview-v7:28.+" />
<androidPackage spec="com.android.support:customtabs:28.+" /> <androidPackage spec="com.android.support:customtabs:28.+" />
</androidPackages> --> </androidPackages> -->
<iosPods> <iosPods>
<iosPod name="AppLovinMediationInMobiAdapter" version="10.0.8.1" /> <iosPod name="AppLovinMediationInMobiAdapter" version="10.5.6.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -3,7 +3,6 @@ guid: bc66a0ef4503843ee9b1bf1b1e867367
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/InMobi/Editor/Dependencies.xml - al_max_export_path-MaxSdk/Mediation/InMobi/Editor/Dependencies.xml
- al_max_export_path-MaxSdk\Mediation\InMobi\Editor\Dependencies.xml
TextScriptImporter: TextScriptImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3,7 +3,6 @@ guid: 531d860cac61f47d19e32f526470ae43
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/IronSource/Editor - al_max_export_path-MaxSdk/Mediation/IronSource/Editor
- al_max_export_path-MaxSdk\Mediation\IronSource\Editor
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dependencies> <dependencies>
<!-- <androidPackages> <!-- <androidPackages>
<androidPackage spec="com.applovin.mediation:ironsource-adapter:7.2.3.1.0"> <androidPackage spec="com.applovin.mediation:ironsource-adapter:7.5.0.0.1">
<repositories> <repositories>
<repository>https://android-sdk.is.com/</repository> <repository>https://android-sdk.is.com/</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> --> </androidPackages> -->
<iosPods> <iosPods>
<iosPod name="AppLovinMediationIronSourceAdapter" version="7.2.3.1.0" /> <iosPod name="AppLovinMediationIronSourceAdapter" version="7.5.0.0.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -3,7 +3,6 @@ guid: 19262406303f04f05b14b31b3c734d35
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/IronSource/Editor/Dependencies.xml - al_max_export_path-MaxSdk/Mediation/IronSource/Editor/Dependencies.xml
- al_max_export_path-MaxSdk\Mediation\IronSource\Editor\Dependencies.xml
TextScriptImporter: TextScriptImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3,7 +3,6 @@ guid: db1de4066dc4e4290b3879b34fa87de2
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Mintegral/Editor - al_max_export_path-MaxSdk/Mediation/Mintegral/Editor
- al_max_export_path-MaxSdk\Mediation\Mintegral\Editor
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dependencies> <dependencies>
<!-- <androidPackages> <!-- <androidPackages>
<androidPackage spec="com.applovin.mediation:mintegral-adapter:16.2.11.0"> <androidPackage spec="com.applovin.mediation:mintegral-adapter:16.5.11.0">
<repositories> <repositories>
<repository>https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea</repository> <repository>https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea</repository>
</repositories> </repositories>
@ -9,6 +9,6 @@
<androidPackage spec="androidx.recyclerview:recyclerview:1.2.1" /> <androidPackage spec="androidx.recyclerview:recyclerview:1.2.1" />
</androidPackages> --> </androidPackages> -->
<iosPods> <iosPods>
<iosPod name="AppLovinMediationMintegralAdapter" version="7.1.9.0.0" /> <iosPod name="AppLovinMediationMintegralAdapter" version="7.4.3.0.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -3,7 +3,6 @@ guid: 221b2a20a58a04f2cb4afb0779587206
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml - al_max_export_path-MaxSdk/Mediation/Mintegral/Editor/Dependencies.xml
- al_max_export_path-MaxSdk\Mediation\Mintegral\Editor\Dependencies.xml
TextScriptImporter: TextScriptImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3,7 +3,6 @@ guid: 6b21a711d751f4e1d9c77b5fb984e112
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Tapjoy/Editor - al_max_export_path-MaxSdk/Mediation/Tapjoy/Editor
- al_max_export_path-MaxSdk\Mediation\Tapjoy\Editor
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dependencies> <dependencies>
<!-- <androidPackages> <!-- <androidPackages>
<androidPackage spec="com.applovin.mediation:tapjoy-adapter:12.10.0.2"> <androidPackage spec="com.applovin.mediation:tapjoy-adapter:13.1.2.0">
<repositories> <repositories>
<repository>https://sdk.tapjoy.com/</repository> <repository>https://sdk.tapjoy.com/</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> --> </androidPackages> -->
<iosPods> <iosPods>
<iosPod name="AppLovinMediationTapjoyAdapter" version="12.10.0.1" /> <iosPod name="AppLovinMediationTapjoyAdapter" version="13.1.2.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -3,7 +3,6 @@ guid: c5268a136291a461aad1c0175bccb266
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Tapjoy/Editor/Dependencies.xml - al_max_export_path-MaxSdk/Mediation/Tapjoy/Editor/Dependencies.xml
- al_max_export_path-MaxSdk\Mediation\Tapjoy\Editor\Dependencies.xml
TextScriptImporter: TextScriptImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3,7 +3,6 @@ guid: 30751f2dc322a40e588edfb7c978c9c0
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/UnityAds/Editor - al_max_export_path-MaxSdk/Mediation/UnityAds/Editor
- al_max_export_path-MaxSdk\Mediation\UnityAds\Editor
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dependencies> <dependencies>
<!-- <androidPackages> <!-- <androidPackages>
<androidPackage spec="com.applovin.mediation:unityads-adapter:4.3.0.0" /> <androidPackage spec="com.applovin.mediation:unityads-adapter:4.8.0.0" />
</androidPackages> --> </androidPackages> -->
<iosPods> <iosPods>
<iosPod name="AppLovinMediationUnityAdsAdapter" version="4.3.0.0" /> <iosPod name="AppLovinMediationUnityAdsAdapter" version="4.8.0.1" />
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -3,7 +3,6 @@ guid: 9950f1cb0da1e43efbeca604db142076
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml - al_max_export_path-MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml
- al_max_export_path-MaxSdk\Mediation\UnityAds\Editor\Dependencies.xml
TextScriptImporter: TextScriptImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3,7 +3,6 @@ guid: 77b6ea05736a9458f8ef8762ee9b64bb
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Vungle/Editor - al_max_export_path-MaxSdk/Mediation/Vungle/Editor
- al_max_export_path-MaxSdk\Mediation\Vungle\Editor
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dependencies> <dependencies>
<!-- <androidPackages> <!-- <androidPackages>
<androidPackage spec="com.applovin.mediation:vungle-adapter:6.12.0.0" /> <androidPackage spec="com.applovin.mediation:vungle-adapter:6.12.1.1" />
</androidPackages> --> </androidPackages> -->
<iosPods> <iosPods>
<iosPod name="AppLovinMediationVungleAdapter" version="6.11.0.3" /> <iosPod name="AppLovinMediationVungleAdapter" version="7.0.1.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>

View File

@ -3,7 +3,6 @@ guid: 0d8ad3a6ddc4f44fab2efe607fe14f26
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Mediation/Vungle/Editor/Dependencies.xml - al_max_export_path-MaxSdk/Mediation/Vungle/Editor/Dependencies.xml
- al_max_export_path-MaxSdk\Mediation\Vungle\Editor\Dependencies.xml
TextScriptImporter: TextScriptImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3,7 +3,6 @@ guid: 54c062c0526b148efa2ea2e9489b3aa0
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Prefabs/BannerBottom.prefab - al_max_export_path-MaxSdk/Prefabs/BannerBottom.prefab
- al_max_export_path-MaxSdk\Prefabs\BannerBottom.prefab
PrefabImporter: PrefabImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3,7 +3,6 @@ guid: 6521750c87fd14f709d09a1e38ffde47
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Prefabs/BannerTop.prefab - al_max_export_path-MaxSdk/Prefabs/BannerTop.prefab
- al_max_export_path-MaxSdk\Prefabs\BannerTop.prefab
PrefabImporter: PrefabImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -199,6 +199,7 @@ GameObject:
- component: {fileID: 1672649117655046507} - component: {fileID: 1672649117655046507}
- component: {fileID: 2484422763836779945} - component: {fileID: 2484422763836779945}
- component: {fileID: 1332063313327512547} - component: {fileID: 1332063313327512547}
- component: {fileID: 9160434328933334999}
m_Layer: 5 m_Layer: 5
m_Name: EventSystem m_Name: EventSystem
m_TagString: Untagged m_TagString: Untagged
@ -227,7 +228,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6155160063690407013} m_GameObject: {fileID: 6155160063690407013}
m_Enabled: 1 m_Enabled: 0
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name: m_Name:
@ -254,6 +255,18 @@ MonoBehaviour:
m_InputActionsPerSecond: 10 m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5 m_RepeatDelay: 0.5
m_ForceModuleActive: 0 m_ForceModuleActive: 0
--- !u!114 &9160434328933334999
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6155160063690407013}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e0acf281ba86b4929a6942ecd998395b, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &6462551400748024402 --- !u!1 &6462551400748024402
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -3,7 +3,6 @@ guid: 3fc0c2627ce8a4490b8e319326f8a535
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Prefabs/Interstitial.prefab - al_max_export_path-MaxSdk/Prefabs/Interstitial.prefab
- al_max_export_path-MaxSdk\Prefabs\Interstitial.prefab
PrefabImporter: PrefabImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -355,6 +355,7 @@ GameObject:
- component: {fileID: 3074011789293951898} - component: {fileID: 3074011789293951898}
- component: {fileID: 301935380126337495} - component: {fileID: 301935380126337495}
- component: {fileID: 535359239537776472} - component: {fileID: 535359239537776472}
- component: {fileID: 1463999766055390634}
m_Layer: 5 m_Layer: 5
m_Name: EventSystem m_Name: EventSystem
m_TagString: Untagged m_TagString: Untagged
@ -383,7 +384,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4010021198786516228} m_GameObject: {fileID: 4010021198786516228}
m_Enabled: 1 m_Enabled: 0
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name: m_Name:
@ -410,6 +411,18 @@ MonoBehaviour:
m_InputActionsPerSecond: 10 m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5 m_RepeatDelay: 0.5
m_ForceModuleActive: 0 m_ForceModuleActive: 0
--- !u!114 &1463999766055390634
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4010021198786516228}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e0acf281ba86b4929a6942ecd998395b, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &5668641863723001099 --- !u!1 &5668641863723001099
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -3,7 +3,6 @@ guid: a28c1544d6f094d5eafc8da2343c9119
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Prefabs/Rewarded.prefab - al_max_export_path-MaxSdk/Prefabs/Rewarded.prefab
- al_max_export_path-MaxSdk\Prefabs\Rewarded.prefab
PrefabImporter: PrefabImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -16,6 +16,7 @@ MonoBehaviour:
sdkKey: 9uHgeBwag3NXva9MC23ToO3q11Ve59bF1uwg4qGltdGmCQ7OSByFZ_3b1ZF7krMlkHQo5gXzIokVDsvg1rwbr- sdkKey: 9uHgeBwag3NXva9MC23ToO3q11Ve59bF1uwg4qGltdGmCQ7OSByFZ_3b1ZF7krMlkHQo5gXzIokVDsvg1rwbr-
setAttributionReportEndpoint: 0 setAttributionReportEndpoint: 0
consentFlowEnabled: 0 consentFlowEnabled: 0
consentFlowPlatform: 0
consentFlowPrivacyPolicyUrl: consentFlowPrivacyPolicyUrl:
consentFlowTermsOfServiceUrl: consentFlowTermsOfServiceUrl:
userTrackingUsageDescriptionEn: userTrackingUsageDescriptionEn:
@ -29,4 +30,4 @@ MonoBehaviour:
userTrackingUsageDescriptionZhHant: userTrackingUsageDescriptionZhHant:
adMobAndroidAppId: adMobAndroidAppId:
adMobIosAppId: ca-app-pub-8252390069143459~7358844489 adMobIosAppId: ca-app-pub-8252390069143459~7358844489
snapAppStoreAppId: 0 showInternalSettingsInIntegrationManager: 0

View File

@ -3,11 +3,10 @@ guid: 572fee4574afa4f6dbf2846e0c152fe8
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Resources/Images/alert_icon.png - al_max_export_path-MaxSdk/Resources/Images/alert_icon.png
- al_max_export_path-MaxSdk\Resources\Images\alert_icon.png
TextureImporter: TextureImporter:
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}
serializedVersion: 11 serializedVersion: 10
mipmaps: mipmaps:
mipMapMode: 0 mipMapMode: 0
enableMipMap: 1 enableMipMap: 1
@ -27,7 +26,6 @@ TextureImporter:
isReadable: 0 isReadable: 0
streamingMipmaps: 0 streamingMipmaps: 0
streamingMipmapsPriority: 0 streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0 grayScaleToAlpha: 0
generateCubemap: 6 generateCubemap: 6
cubemapConvolution: 0 cubemapConvolution: 0
@ -36,12 +34,12 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
textureSettings: textureSettings:
serializedVersion: 2 serializedVersion: 2
filterMode: 1 filterMode: -1
aniso: 1 aniso: -1
mipBias: 0 mipBias: -100
wrapU: 0 wrapU: -1
wrapV: 0 wrapV: -1
wrapW: 0 wrapW: -1
nPOTScale: 1 nPOTScale: 1
lightmap: 0 lightmap: 0
compressionQuality: 50 compressionQuality: 50
@ -59,13 +57,9 @@ TextureImporter:
textureType: 0 textureType: 0
textureShape: 1 textureShape: 1
singleChannelComponent: 0 singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0 maxTextureSizeSet: 0
compressionQualitySet: 0 compressionQualitySet: 0
textureFormatSet: 0 textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings: platformSettings:
- serializedVersion: 3 - serializedVersion: 3
buildTarget: DefaultTexturePlatform buildTarget: DefaultTexturePlatform

View File

@ -3,11 +3,10 @@ guid: d24994f48fdd0430692e3d49279cd782
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Resources/Images/uninstall_icon.png - al_max_export_path-MaxSdk/Resources/Images/uninstall_icon.png
- al_max_export_path-MaxSdk\Resources\Images\uninstall_icon.png
TextureImporter: TextureImporter:
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}
serializedVersion: 11 serializedVersion: 10
mipmaps: mipmaps:
mipMapMode: 0 mipMapMode: 0
enableMipMap: 1 enableMipMap: 1
@ -27,7 +26,6 @@ TextureImporter:
isReadable: 0 isReadable: 0
streamingMipmaps: 0 streamingMipmaps: 0
streamingMipmapsPriority: 0 streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0 grayScaleToAlpha: 0
generateCubemap: 6 generateCubemap: 6
cubemapConvolution: 0 cubemapConvolution: 0
@ -36,12 +34,12 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
textureSettings: textureSettings:
serializedVersion: 2 serializedVersion: 2
filterMode: 1 filterMode: -1
aniso: 1 aniso: -1
mipBias: 0 mipBias: -100
wrapU: 0 wrapU: -1
wrapV: 0 wrapV: -1
wrapW: 0 wrapW: -1
nPOTScale: 1 nPOTScale: 1
lightmap: 0 lightmap: 0
compressionQuality: 50 compressionQuality: 50
@ -59,13 +57,9 @@ TextureImporter:
textureType: 0 textureType: 0
textureShape: 1 textureShape: 1
singleChannelComponent: 0 singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0 maxTextureSizeSet: 0
compressionQualitySet: 0 compressionQualitySet: 0
textureFormatSet: 0 textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings: platformSettings:
- serializedVersion: 3 - serializedVersion: 3
buildTarget: DefaultTexturePlatform buildTarget: DefaultTexturePlatform

View File

@ -3,11 +3,10 @@ guid: b504c956e7ed744b6b0e7f014e1cac5a
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Resources/Images/warning_icon.png - al_max_export_path-MaxSdk/Resources/Images/warning_icon.png
- al_max_export_path-MaxSdk\Resources\Images\warning_icon.png
TextureImporter: TextureImporter:
internalIDToNameTable: [] fileIDToRecycleName: {}
externalObjects: {} externalObjects: {}
serializedVersion: 11 serializedVersion: 9
mipmaps: mipmaps:
mipMapMode: 0 mipMapMode: 0
enableMipMap: 1 enableMipMap: 1
@ -27,7 +26,6 @@ TextureImporter:
isReadable: 0 isReadable: 0
streamingMipmaps: 0 streamingMipmaps: 0
streamingMipmapsPriority: 0 streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0 grayScaleToAlpha: 0
generateCubemap: 6 generateCubemap: 6
cubemapConvolution: 0 cubemapConvolution: 0
@ -36,12 +34,12 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
textureSettings: textureSettings:
serializedVersion: 2 serializedVersion: 2
filterMode: 1 filterMode: -1
aniso: 1 aniso: -1
mipBias: 0 mipBias: -100
wrapU: 0 wrapU: -1
wrapV: 0 wrapV: -1
wrapW: 0 wrapW: -1
nPOTScale: 1 nPOTScale: 1
lightmap: 0 lightmap: 0
compressionQuality: 50 compressionQuality: 50
@ -59,15 +57,11 @@ TextureImporter:
textureType: 0 textureType: 0
textureShape: 1 textureShape: 1
singleChannelComponent: 0 singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0 maxTextureSizeSet: 0
compressionQualitySet: 0 compressionQualitySet: 0
textureFormatSet: 0 textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings: platformSettings:
- serializedVersion: 3 - serializedVersion: 2
buildTarget: DefaultTexturePlatform buildTarget: DefaultTexturePlatform
maxTextureSize: 2048 maxTextureSize: 2048
resizeAlgorithm: 0 resizeAlgorithm: 0
@ -78,7 +72,6 @@ TextureImporter:
allowsAlphaSplitting: 0 allowsAlphaSplitting: 0
overridden: 0 overridden: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: [] sprites: []
@ -86,12 +79,10 @@ TextureImporter:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: spriteID:
internalID: 0
vertices: [] vertices: []
indices: indices:
edges: [] edges: []
weights: [] weights: []
secondaryTextures: []
spritePackingTag: spritePackingTag:
pSDRemoveMatte: 0 pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0 pSDShowRemoveMatteOption: 0

View File

@ -3,7 +3,6 @@ guid: b6903b66cb8984df289e6d66f9c52ddc
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Scripts/Editor - al_max_export_path-MaxSdk/Scripts/Editor
- al_max_export_path-MaxSdk\Scripts\Editor
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -17,39 +17,45 @@ namespace AppLovinMax.Scripts.Editor
[InitializeOnLoad] [InitializeOnLoad]
public class MaxInitialize public class MaxInitialize
{ {
private const string AndroidChangelog = "ANDROID_CHANGELOG.md";
private const string IosChangelog = "IOS_CHANGELOG.md";
private static readonly List<string> Networks = new List<string>
{
"AdColony",
"Amazon",
"ByteDance",
"Chartboost",
"Facebook",
"Fyber",
"Google",
"InMobi",
"IronSource",
"Maio",
"Mintegral",
"MyTarget",
"Nend",
"Ogury",
"Smaato",
"Tapjoy",
"TencentGDT",
"UnityAds",
"VerizonAds",
"Vungle",
"Yandex"
};
private static readonly List<string> ObsoleteNetworks = new List<string> private static readonly List<string> ObsoleteNetworks = new List<string>
{ {
"Snap",
"VoodooAds" "VoodooAds"
}; };
#if UNITY_2018_2_OR_NEWER
private static readonly List<string> ObsoleteFileExportPathsToDelete = new List<string>
{
// The `EventSystemChecker` has been renamed to `MaxEventSystemChecker`.
"MaxSdk/Scripts/EventSystemChecker.cs",
"MaxSdk/Scripts/EventSystemChecker.cs.meta",
// Google AdMob adapter pre/post process scripts. The logic has been migrated to the main plugin.
"MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs",
"MaxSdk/Mediation/Google/Editor/MaxGoogleInitialize.cs.meta",
"MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs",
"MaxSdk/Mediation/Google/Editor/MaxMediationGoogleUtils.cs.meta",
"MaxSdk/Mediation/Google/Editor/PostProcessor.cs",
"MaxSdk/Mediation/Google/Editor/PostProcessor.cs.meta",
"MaxSdk/Mediation/Google/Editor/PreProcessor.cs",
"MaxSdk/Mediation/Google/Editor/PreProcessor.cs.meta",
"MaxSdk/Mediation/Google/Editor/MaxSdk.Mediation.Google.Editor.asmdef",
"MaxSdk/Mediation/Google/MaxSdk.Mediation.Google.Editor.asmdef.meta",
"Plugins/Android/MaxMediationGoogle.androidlib",
"Plugins/Android/MaxMediationGoogle.androidlib.meta",
// Google Ad Manager adapter pre/post process scripts. The logic has been migrated to the main plugin
"MaxSdk/Mediation/GoogleAdManager/Editor/MaxGoogleAdManagerInitialize.cs",
"MaxSdk/Mediation/GoogleAdManager/Editor/MaxGoogleAdManagerInitialize.cs.meta",
"MaxSdk/Mediation/GoogleAdManager/Editor/PostProcessor.cs",
"MaxSdk/Mediation/GoogleAdManager/Editor/PostProcessor.cs.meta",
"MaxSdk/Mediation/GoogleAdManager/Editor/MaxSdk.Mediation.GoogleAdManager.Editor.asmdef",
"MaxSdk/Mediation/GoogleAdManager/Editor/MaxSdk.Mediation.GoogleAdManager.Editor.asmdef.meta",
"Plugins/Android/MaxMediationGoogleAdManager.androidlib",
"Plugins/Android/MaxMediationGoogleAdManager.androidlib.meta"
};
#endif
static MaxInitialize() static MaxInitialize()
{ {
#if UNITY_IOS #if UNITY_IOS
@ -77,29 +83,18 @@ namespace AppLovinMax.Scripts.Editor
AppLovinIntegrationManager.AddLabelsToAssetsIfNeeded(pluginParentDir, isPluginOutsideAssetsDir); AppLovinIntegrationManager.AddLabelsToAssetsIfNeeded(pluginParentDir, isPluginOutsideAssetsDir);
// Check if we have legacy adapter CHANGELOGs. #if UNITY_2018_2_OR_NEWER
foreach (var network in Networks) foreach (var obsoleteFileExportPathToDelete in ObsoleteFileExportPathsToDelete)
{ {
var mediationAdapterDir = Path.Combine(pluginParentDir, "MaxSdk/Mediation/" + network); var pathToDelete = MaxSdkUtils.GetAssetPathForExportPath(obsoleteFileExportPathToDelete);
if (CheckExistence(pathToDelete))
// If new directory exists
if (CheckExistence(mediationAdapterDir))
{ {
var androidChangelogFile = Path.Combine(mediationAdapterDir, AndroidChangelog); MaxSdkLogger.UserDebug("Deleting obsolete file '" + pathToDelete + "' that are no longer needed.");
if (CheckExistence(androidChangelogFile)) FileUtil.DeleteFileOrDirectory(pathToDelete);
{ changesMade = true;
FileUtil.DeleteFileOrDirectory(androidChangelogFile);
changesMade = true;
}
var iosChangelogFile = Path.Combine(mediationAdapterDir, IosChangelog);
if (CheckExistence(iosChangelogFile))
{
FileUtil.DeleteFileOrDirectory(iosChangelogFile);
changesMade = true;
}
} }
} }
#endif
// Check if any obsolete networks are installed // Check if any obsolete networks are installed
foreach (var obsoleteNetwork in ObsoleteNetworks) foreach (var obsoleteNetwork in ObsoleteNetworks)

View File

@ -3,7 +3,6 @@ guid: bc0c5693335e0408a95293c0d7b61137
labels: labels:
- al_max - al_max
- al_max_export_path-MaxSdk/Scripts/Editor/MaxInitialization.cs - al_max_export_path-MaxSdk/Scripts/Editor/MaxInitialization.cs
- al_max_export_path-MaxSdk\Scripts\Editor\MaxInitialization.cs
MonoImporter: MonoImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 2

Some files were not shown because too many files have changed in this diff Show More