This commit is contained in:
2026-07-14 11:50:00 +08:00
parent 819fe5f360
commit c1b765d27b
25 changed files with 45 additions and 50 deletions
@@ -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:13.6.2" /> <androidPackage spec="com.applovin:applovin-sdk:13.6.3" />
</androidPackages> </androidPackages>
<iosPods> <iosPods>
<iosPod name="AppLovinSDK" version="13.6.2" /> <iosPod name="AppLovinSDK" version="13.6.3" />
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -1987,6 +1987,8 @@ static ALUnityBackgroundCallback backgroundCallback;
- (NSString *)requestLatencyMillisFromRequestLatency:(NSTimeInterval)requestLatency - (NSString *)requestLatencyMillisFromRequestLatency:(NSTimeInterval)requestLatency
{ {
if ( requestLatency == -1 ) return @"-1";
// Convert latency from seconds to milliseconds to match Android. // Convert latency from seconds to milliseconds to match Android.
long requestLatencyMillis = requestLatency * 1000; long requestLatencyMillis = requestLatency * 1000;
return @(requestLatencyMillis).stringValue; return @(requestLatencyMillis).stringValue;
@@ -8,7 +8,7 @@
#import "MAUnityAdManager.h" #import "MAUnityAdManager.h"
#define VERSION @"8.6.2" #define VERSION @"8.6.4"
#define NSSTRING(_X) ( (_X != NULL) ? [NSString stringWithCString: _X encoding: NSStringEncodingConversionAllowLossy].al_stringByTrimmingWhitespace : nil) #define NSSTRING(_X) ( (_X != NULL) ? [NSString stringWithCString: _X encoding: NSStringEncodingConversionAllowLossy].al_stringByTrimmingWhitespace : nil)
@interface NSString (ALUtils) @interface NSString (ALUtils)
@@ -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:bidmachine-adapter:3.6.1.0"> <androidPackage spec="com.applovin.mediation:bidmachine-adapter:3.7.1.0">
<repositories> <repositories>
<repository>https://artifactory.bidmachine.io/bidmachine</repository> <repository>https://artifactory.bidmachine.io/bidmachine</repository>
</repositories> </repositories>
</androidPackage> </androidPackage>
</androidPackages> </androidPackages>
<iosPods> <iosPods>
<iosPod name="AppLovinMediationBidMachineAdapter" version="3.6.1.0.0"/> <iosPod name="AppLovinMediationBidMachineAdapter" version="3.7.1.0.0"/>
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -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:bigoads-adapter:5.8.2.0" /> <androidPackage spec="com.applovin.mediation:bigoads-adapter:5.9.0.0" />
</androidPackages> </androidPackages>
<iosPods> <iosPods>
<iosPod name="AppLovinMediationBigoAdsAdapter" version="5.1.2.0" /> <iosPod name="AppLovinMediationBigoAdsAdapter" version="5.2.1.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -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:7.9.1.3.0"> <androidPackage spec="com.applovin.mediation:bytedance-adapter:8.1.0.3.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="7.9.1.2.0" /> <iosPod name="AppLovinMediationByteDanceAdapter" version="8.1.0.7.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -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:chartboost-adapter:9.11.1.0"> <androidPackage spec="com.applovin.mediation:chartboost-adapter:9.12.1.0">
<repositories> <repositories>
<repository>https://cboost.jfrog.io/artifactory/chartboost-ads/</repository> <repository>https://cboost.jfrog.io/artifactory/chartboost-ads/</repository>
</repositories> </repositories>
@@ -9,6 +9,6 @@
<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.11.0.0" /> <iosPod name="AppLovinMediationChartboostAdapter" version="9.12.0.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -5,7 +5,7 @@
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.0]" /> <androidPackage spec="com.applovin.mediation:facebook-adapter:[6.21.0.0]" />
</androidPackages> </androidPackages>
<iosPods> <iosPods>
<iosPod name="AppLovinMediationFacebookAdapter" version="6.21.1.0" /> <iosPod name="AppLovinMediationFacebookAdapter" version="6.21.1.0" />
@@ -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.4.4.0"/> <androidPackage spec="com.applovin.mediation:fyber-adapter:8.4.5.0"/>
</androidPackages> </androidPackages>
<iosPods> <iosPods>
<iosPod name="AppLovinMediationFyberAdapter" version="8.4.6.0"/> <iosPod name="AppLovinMediationFyberAdapter" version="8.4.7.0"/>
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -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:[25.2.0.0]" /> <androidPackage spec="com.applovin.mediation:google-adapter:[25.3.0.0]" />
</androidPackages> </androidPackages>
<iosPods> <iosPods>
<iosPod name="AppLovinMediationGoogleAdapter" version="13.3.0.0" /> <iosPod name="AppLovinMediationGoogleAdapter" version="13.4.0.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -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-ad-manager-adapter:[25.2.0.0]" /> <androidPackage spec="com.applovin.mediation:google-ad-manager-adapter:[25.3.0.0]" />
</androidPackages> </androidPackages>
<iosPods> <iosPods>
<iosPod name="AppLovinMediationGoogleAdManagerAdapter" version="13.3.0.0" /> <iosPod name="AppLovinMediationGoogleAdManagerAdapter" version="13.4.0.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -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:11.2.0.0" /> <androidPackage spec="com.applovin.mediation:inmobi-adapter:11.3.0.0" />
<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="11.2.0.0" /> <iosPod name="AppLovinMediationInMobiAdapter" version="11.3.0.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -1,10 +1,10 @@
<?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:9.4.0.0.0" /> <androidPackage spec="com.applovin.mediation:ironsource-adapter:9.4.3.0.0" />
</androidPackages> </androidPackages>
<iosPods> <iosPods>
<iosPod name="AppLovinMediationIronSourceAdapter" version="9.4.0.0.0" /> <iosPod name="AppLovinMediationIronSourceAdapter" version="9.4.1.0.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -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:17.1.51.0"> <androidPackage spec="com.applovin.mediation:mintegral-adapter:17.1.61.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="8.1.1.0.0" /> <iosPod name="AppLovinMediationMintegralAdapter" version="8.1.5.0.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -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:moloco-adapter:4.8.0.0" /> <androidPackage spec="com.applovin.mediation:moloco-adapter:4.9.0.0" />
</androidPackages> </androidPackages>
<iosPods> <iosPods>
<iosPod name="AppLovinMediationMolocoAdapter" version="4.6.0.0" /> <iosPod name="AppLovinMediationMolocoAdapter" version="4.6.1.1" />
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -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.17.0.0" /> <androidPackage spec="com.applovin.mediation:unityads-adapter:4.18.1.0" />
</androidPackages> </androidPackages>
<iosPods> <iosPods>
<iosPod name="AppLovinMediationUnityAdsAdapter" version="4.17.0.0" /> <iosPod name="AppLovinMediationUnityAdsAdapter" version="4.18.1.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -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:7.7.3.0" /> <androidPackage spec="com.applovin.mediation:vungle-adapter:7.7.4.0" />
</androidPackages> </androidPackages>
<iosPods> <iosPods>
<iosPod name="AppLovinMediationVungleAdapter" version="7.7.2.0" /> <iosPod name="AppLovinMediationVungleAdapter" version="7.7.4.0" />
</iosPods> </iosPods>
</dependencies> </dependencies>
@@ -13,8 +13,8 @@ MonoBehaviour:
m_Name: AppLovinSettings m_Name: AppLovinSettings
m_EditorClassIdentifier: m_EditorClassIdentifier:
qualityServiceEnabled: 1 qualityServiceEnabled: 1
sdkKey: LHx_tPFslZpTTiIPABmS24T7Ev1QEVOUVOzirpkxLUuTwJTVZGCKAk9L3Tm3FwuM5LxHK3q1EIbAemJB5sNpX2 sdkKey: mmVXU9O_ESeur52h0VwzCGfbI4wB8LxeBfydReplRMm2JmN8eNMVgSuiKy2bmTJ00m4DHSKFxhaH1pnpEME5bB
customGradleVersionUrl: customGradleVersionUrl:
customGradleToolsVersion: customGradleToolsVersion:
adMobAndroidAppId: ca-app-pub-3940256099942544~3347511713 adMobAndroidAppId: ca-app-pub-3940256099942544~3347511713
adMobIosAppId: ca-app-pub-3940256099942544~1458002511 adMobIosAppId: ca-app-pub-4727531460679709~5854016965
@@ -19,6 +19,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
{ {
"AdColony", "AdColony",
"Criteo", "Criteo",
"LinkedIn",
"Nend", "Nend",
"Snap", "Snap",
"Tapjoy", "Tapjoy",
@@ -373,7 +373,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
{ {
if (!webResponse.IsSuccess) if (!webResponse.IsSuccess)
{ {
MaxSdkLogger.E("Failed to load plugin data. Please check your internet connection."); MaxSdkLogger.UserError("Failed to load plugin data. Please check your internet connection.");
return null; return null;
} }
@@ -27,8 +27,6 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
private const string PropertyAndroidX = "android.useAndroidX"; private const string PropertyAndroidX = "android.useAndroidX";
private const string PropertyJetifier = "android.enableJetifier"; private const string PropertyJetifier = "android.enableJetifier";
private const string EnableProperty = "=true"; private const string EnableProperty = "=true";
private const string PropertyDexingArtifactTransform = "android.enableDexingArtifactTransform";
private const string DisableProperty = "=false";
private const string KeyMetaDataAppLovinVerboseLoggingOn = "applovin.sdk.verbose_logging"; private const string KeyMetaDataAppLovinVerboseLoggingOn = "applovin.sdk.verbose_logging";
private const string KeyMetaDataGoogleApplicationId = "com.google.android.gms.ads.APPLICATION_ID"; private const string KeyMetaDataGoogleApplicationId = "com.google.android.gms.ads.APPLICATION_ID";
@@ -82,19 +80,13 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
var lines = File.ReadAllLines(gradlePropertiesPath); var lines = File.ReadAllLines(gradlePropertiesPath);
// Add all properties except AndroidX, Jetifier, and DexingArtifactTransform since they may already exist. We will re-add them below. // Add all properties except AndroidX, Jetifier, and DexingArtifactTransform since they may already exist. We will re-add them below.
gradlePropertiesUpdated.AddRange(lines.Where(line => !line.Contains(PropertyAndroidX) && !line.Contains(PropertyJetifier) && !line.Contains(PropertyDexingArtifactTransform))); gradlePropertiesUpdated.AddRange(lines.Where(line => !line.Contains(PropertyAndroidX) && !line.Contains(PropertyJetifier)));
} }
// Enable AndroidX and Jetifier properties // Enable AndroidX and Jetifier properties
gradlePropertiesUpdated.Add(PropertyAndroidX + EnableProperty); gradlePropertiesUpdated.Add(PropertyAndroidX + EnableProperty);
gradlePropertiesUpdated.Add(PropertyJetifier + EnableProperty); gradlePropertiesUpdated.Add(PropertyJetifier + EnableProperty);
// `DexingArtifactTransform` has been removed in Gradle 8+ which is the default Gradle version for Unity 6.
#if !UNITY_6000_0_OR_NEWER
// Disable dexing using artifact transform (it causes issues for ExoPlayer with Gradle plugin 3.5.0+)
gradlePropertiesUpdated.Add(PropertyDexingArtifactTransform + DisableProperty);
#endif
try try
{ {
File.WriteAllText(gradlePropertiesPath, string.Join("\n", gradlePropertiesUpdated.ToArray()) + "\n"); File.WriteAllText(gradlePropertiesPath, string.Join("\n", gradlePropertiesUpdated.ToArray()) + "\n");
@@ -282,7 +274,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
} }
else else
{ {
MaxSdkLogger.E("Failed to set distribution URL"); MaxSdkLogger.UserError("Failed to set distribution URL");
} }
} }
@@ -292,7 +284,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
// Unity 2022.3+ requires Gradle Plugin version 7.1.2+. // Unity 2022.3+ requires Gradle Plugin version 7.1.2+.
if (MaxSdkUtils.CompareVersions(customGradleToolsVersion, "7.1.2") == MaxSdkUtils.VersionComparisonResult.Lesser) if (MaxSdkUtils.CompareVersions(customGradleToolsVersion, "7.1.2") == MaxSdkUtils.VersionComparisonResult.Lesser)
{ {
MaxSdkLogger.E("Failed to set gradle plugin version. Unity 2022.3+ requires gradle plugin version 7.1.2+"); MaxSdkLogger.UserError("Failed to set gradle plugin version. Unity 2022.3+ requires gradle plugin version 7.1.2+");
return; return;
} }
@@ -303,7 +295,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
} }
else else
{ {
MaxSdkLogger.E("Failed to set gradle library version"); MaxSdkLogger.UserError("Failed to set gradle library version");
} }
var newGradleVersionLine = AppLovinProcessGradleBuildFile.GetFormattedBuildScriptLine(string.Format("id 'com.android.application' version '{0}' apply false", customGradleToolsVersion)); var newGradleVersionLine = AppLovinProcessGradleBuildFile.GetFormattedBuildScriptLine(string.Format("id 'com.android.application' version '{0}' apply false", customGradleToolsVersion));
@@ -316,7 +308,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
} }
else else
{ {
MaxSdkLogger.E("Failed to set gradle plugin version"); MaxSdkLogger.UserError("Failed to set gradle plugin version");
} }
} }
} }
@@ -224,7 +224,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
var pluginData = AppLovinIntegrationManager.LoadPluginDataSync(); var pluginData = AppLovinIntegrationManager.LoadPluginDataSync();
if (pluginData == null) if (pluginData == null)
{ {
MaxSdkLogger.E("Failed to load plugin data. Dynamic libraries will not be embedded."); MaxSdkLogger.UserError("Failed to load plugin data. Dynamic libraries will not be embedded.");
return null; return null;
} }
@@ -57,7 +57,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
} }
catch (Exception exception) catch (Exception exception)
{ {
MaxSdkLogger.E("Unable to load Dependencies file due to exception: " + exception.Message); MaxSdkLogger.UserError("Unable to load Dependencies file due to exception: " + exception.Message);
} }
return null; return null;
@@ -173,7 +173,7 @@ namespace AppLovinMax.Scripts.IntegrationManager.Editor
} }
catch (Exception exception) catch (Exception exception)
{ {
MaxSdkLogger.E("Unable to save Dependencies file due to exception: " + exception.Message); MaxSdkLogger.UserError("Unable to save Dependencies file due to exception: " + exception.Message);
} }
return false; return false;
+1 -1
View File
@@ -14,7 +14,7 @@ public class MaxSdk :
MaxSdkUnityEditor MaxSdkUnityEditor
#endif #endif
{ {
private const string _version = "8.6.2"; private const string _version = "8.6.4";
/// <summary> /// <summary>
/// Returns the current plugin version. /// Returns the current plugin version.