diff --git a/DemoApp/Assets/MaxSdk/AppLovin.meta b/DemoApp/Assets/MaxSdk/AppLovin.meta
index 5b88f90..d066da7 100644
--- a/DemoApp/Assets/MaxSdk/AppLovin.meta
+++ b/DemoApp/Assets/MaxSdk/AppLovin.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 63e7c274644704656ab218543c2e2194
+guid: 92870011b820e4160a605268ecae0b0f
labels:
- al_max
- al_max_export_path-MaxSdk/AppLovin
diff --git a/DemoApp/Assets/MaxSdk/AppLovin/Editor.meta b/DemoApp/Assets/MaxSdk/AppLovin/Editor.meta
index dceeac1..f429395 100644
--- a/DemoApp/Assets/MaxSdk/AppLovin/Editor.meta
+++ b/DemoApp/Assets/MaxSdk/AppLovin/Editor.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: d6bb097da5f984ddfa714adf1c6dd989
+guid: b77a96890319d4d81a9d526f18044d8d
labels:
- al_max
- al_max_export_path-MaxSdk/AppLovin/Editor
diff --git a/DemoApp/Assets/MaxSdk/AppLovin/Editor/Dependencies.xml b/DemoApp/Assets/MaxSdk/AppLovin/Editor/Dependencies.xml
index b1a4f70..d0ac6bd 100644
--- a/DemoApp/Assets/MaxSdk/AppLovin/Editor/Dependencies.xml
+++ b/DemoApp/Assets/MaxSdk/AppLovin/Editor/Dependencies.xml
@@ -1,9 +1,9 @@
-
+
-
+
diff --git a/DemoApp/Assets/MaxSdk/AppLovin/Plugins.meta b/DemoApp/Assets/MaxSdk/AppLovin/Plugins.meta
index f9370da..011ca25 100644
--- a/DemoApp/Assets/MaxSdk/AppLovin/Plugins.meta
+++ b/DemoApp/Assets/MaxSdk/AppLovin/Plugins.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f9f0de29c5cbf47b39ea29fb2cd6d4f4
+guid: d238c3b55498e4e6cbfab0ddcda38fff
labels:
- al_max
- al_max_export_path-MaxSdk/AppLovin/Plugins
diff --git a/DemoApp/Assets/MaxSdk/AppLovin/Plugins/Android.meta b/DemoApp/Assets/MaxSdk/AppLovin/Plugins/Android.meta
index 773d2a5..f7f5771 100644
--- a/DemoApp/Assets/MaxSdk/AppLovin/Plugins/Android.meta
+++ b/DemoApp/Assets/MaxSdk/AppLovin/Plugins/Android.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: d0fc28505b3d34c8da20b6dbf2f2c070
+guid: 8e0d19c08fb214dcabee2d5f2a7e7ab5
labels:
- al_max
- al_max_export_path-MaxSdk/AppLovin/Plugins/Android
diff --git a/DemoApp/Assets/MaxSdk/AppLovin/Plugins/Android/applovin-max-unity-plugin.aar b/DemoApp/Assets/MaxSdk/AppLovin/Plugins/Android/applovin-max-unity-plugin.aar
index 0636033..0cbc738 100644
Binary files a/DemoApp/Assets/MaxSdk/AppLovin/Plugins/Android/applovin-max-unity-plugin.aar and b/DemoApp/Assets/MaxSdk/AppLovin/Plugins/Android/applovin-max-unity-plugin.aar differ
diff --git a/DemoApp/Assets/MaxSdk/AppLovin/Plugins/iOS.meta b/DemoApp/Assets/MaxSdk/AppLovin/Plugins/iOS.meta
index f40fe52..5054a59 100644
--- a/DemoApp/Assets/MaxSdk/AppLovin/Plugins/iOS.meta
+++ b/DemoApp/Assets/MaxSdk/AppLovin/Plugins/iOS.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 3a5a31acb8d3c45e1910fa13df662523
+guid: 1dbd89cce9fd54bf7834a2d11533e460
labels:
- al_max
- al_max_export_path-MaxSdk/AppLovin/Plugins/iOS
diff --git a/DemoApp/Assets/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m b/DemoApp/Assets/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m
index fa3cdb3..fc0df37 100644
--- a/DemoApp/Assets/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m
+++ b/DemoApp/Assets/MaxSdk/AppLovin/Plugins/iOS/MAUnityAdManager.m
@@ -5,7 +5,7 @@
#import "MAUnityAdManager.h"
-#define VERSION @"6.2.1"
+#define VERSION @"6.3.0"
#define KEY_WINDOW [UIApplication sharedApplication].keyWindow
#define DEVICE_SPECIFIC_ADVIEW_AD_FORMAT ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) ? MAAdFormat.leader : MAAdFormat.banner
@@ -566,6 +566,7 @@ - (NSString *)adInfoForAdUnitIdentifier:(nullable NSString *)adUnitIdentifier
@"revenue" : [@(ad.revenue) stringValue],
@"revenuePrecision" : ad.revenuePrecision,
@"waterfallInfo" : [self createAdWaterfallInfo: ad.waterfall],
+ @"latencyMillis" : [self requestLatencyMillisFromRequestLatency: ad.requestLatency],
@"dspName" : ad.DSPName ?: @""};
}
@@ -584,11 +585,9 @@ - (NSString *)adInfoForAdUnitIdentifier:(nullable NSString *)adUnitIdentifier
{
[networkResponsesArray addObject: [self createNetworkResponseInfo: response]];
}
- waterfallInfoDict[@"networkResponses"] = networkResponsesArray;
- // Convert latency from seconds to milliseconds to match Android.
- long latencyMillis = waterfallInfo.latency * 1000;
- waterfallInfoDict[@"latencyMillis"] = @(latencyMillis).stringValue;
+ waterfallInfoDict[@"networkResponses"] = networkResponsesArray;
+ waterfallInfoDict[@"latencyMillis"] = [self requestLatencyMillisFromRequestLatency: waterfallInfo.latency];
return waterfallInfoDict;
}
@@ -621,13 +620,12 @@ - (NSString *)adInfoForAdUnitIdentifier:(nullable NSString *)adUnitIdentifier
errorObject[@"errorMessage"] = error.message;
errorObject[@"adLoadFailure"] = error.adLoadFailureInfo;
errorObject[@"errorCode"] = @(error.code).stringValue;
+ errorObject[@"latencyMillis"] = [self requestLatencyMillisFromRequestLatency: error.requestLatency];
networkResponseDict[@"error"] = errorObject;
}
- // Convert latency from seconds to milliseconds to match Android.
- long latencySeconds = response.latency * 1000;
- networkResponseDict[@"latencyMillis"] = @(latencySeconds).stringValue;
+ networkResponseDict[@"latencyMillis"] = [self requestLatencyMillisFromRequestLatency: response.latency];
return networkResponseDict;
}
@@ -758,7 +756,8 @@ - (void)didFailToLoadAdForAdUnitIdentifier:(NSString *)adUnitIdentifier withErro
@"errorCode" : [@(error.code) stringValue],
@"errorMessage" : error.message,
@"waterfallInfo" : [self createAdWaterfallInfo: error.waterfall],
- @"adLoadFailureInfo" : error.adLoadFailureInfo ?: @""}];
+ @"adLoadFailureInfo" : error.adLoadFailureInfo ?: @"",
+ @"latencyMillis" : [self requestLatencyMillisFromRequestLatency: error.requestLatency]}];
}
- (void)didClickAd:(MAAd *)ad
@@ -861,6 +860,7 @@ - (void)didFailToDisplayAd:(MAAd *)ad withError:(MAError *)error
args[@"mediatedNetworkErrorCode"] = [@(error.mediatedNetworkErrorCode) stringValue];
args[@"mediatedNetworkErrorMessage"] = error.mediatedNetworkErrorMessage;
args[@"waterfallInfo"] = [self createAdWaterfallInfo: error.waterfall];
+ args[@"latencyMillis"] = [self requestLatencyMillisFromRequestLatency: error.requestLatency];
[MAUnityAdManager forwardUnityEventWithArgs: args];
}
@@ -1952,6 +1952,13 @@ - (MAAdFormat *)adViewAdFormatForAdUnitIdentifier:(NSString *)adUnitIdentifier
}
}
+- (NSString *)requestLatencyMillisFromRequestLatency:(NSTimeInterval)requestLatency
+{
+ // Convert latency from seconds to milliseconds to match Android.
+ long requestLatencyMillis = requestLatency * 1000;
+ return @(requestLatencyMillis).stringValue;
+}
+
#pragma mark - User Service
- (void)didDismissUserConsentDialog
diff --git a/DemoApp/Assets/MaxSdk/Prefabs.meta b/DemoApp/Assets/MaxSdk/Prefabs.meta
index 51caa1e..256c0aa 100644
--- a/DemoApp/Assets/MaxSdk/Prefabs.meta
+++ b/DemoApp/Assets/MaxSdk/Prefabs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: c4529689f234644c5af95a79da5e2e20
+guid: fdcef99a3215540f78fc3a85b6f2b0e4
labels:
- al_max
- al_max_export_path-MaxSdk/Prefabs
diff --git a/DemoApp/Assets/MaxSdk/Resources.meta b/DemoApp/Assets/MaxSdk/Resources.meta
index 6162054..d85582f 100644
--- a/DemoApp/Assets/MaxSdk/Resources.meta
+++ b/DemoApp/Assets/MaxSdk/Resources.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: eda5c940673714b8f9977453be13ee8a
+guid: 9bfd6e05359ab4c6f9543aef0360e611
labels:
- al_max
- al_max_export_path-MaxSdk/Resources
diff --git a/DemoApp/Assets/MaxSdk/Resources/Images.meta b/DemoApp/Assets/MaxSdk/Resources/Images.meta
index 43c3b17..518c4d8 100644
--- a/DemoApp/Assets/MaxSdk/Resources/Images.meta
+++ b/DemoApp/Assets/MaxSdk/Resources/Images.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: a08e3dd33f0d84aba906a4816c4e4999
+guid: 4c976a1a7664a43729f74dec155f70f7
labels:
- al_max
- al_max_export_path-MaxSdk/Resources/Images
diff --git a/DemoApp/Assets/MaxSdk/Scripts.meta b/DemoApp/Assets/MaxSdk/Scripts.meta
index 828bcfa..8fb661a 100644
--- a/DemoApp/Assets/MaxSdk/Scripts.meta
+++ b/DemoApp/Assets/MaxSdk/Scripts.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 48d0aadbbb01e4d9e9c6e8c7b1302dec
+guid: 505f3fd385b0b4ab68835150f4d829ef
labels:
- al_max
- al_max_export_path-MaxSdk/Scripts
diff --git a/DemoApp/Assets/MaxSdk/Scripts/MaxSdk.cs b/DemoApp/Assets/MaxSdk/Scripts/MaxSdk.cs
index 850e31b..dc4ec3f 100644
--- a/DemoApp/Assets/MaxSdk/Scripts/MaxSdk.cs
+++ b/DemoApp/Assets/MaxSdk/Scripts/MaxSdk.cs
@@ -18,7 +18,7 @@ public class MaxSdk :
MaxSdkUnityEditor
#endif
{
- private const string _version = "6.2.1";
+ private const string _version = "6.3.0";
///
/// Returns the current plugin version.
diff --git a/DemoApp/Assets/MaxSdk/Scripts/MaxSdkBase.cs b/DemoApp/Assets/MaxSdk/Scripts/MaxSdkBase.cs
index dfe1228..8bfc442 100644
--- a/DemoApp/Assets/MaxSdk/Scripts/MaxSdkBase.cs
+++ b/DemoApp/Assets/MaxSdk/Scripts/MaxSdkBase.cs
@@ -168,7 +168,6 @@ public static SdkConfiguration Create(IDictionary eventProps)
sdkConfiguration.ConsentFlowUserGeography = ConsentFlowUserGeography.Unknown;
}
-
#pragma warning disable 0618
var consentDialogStateStr = MaxSdkUtils.GetStringFromDictionary(eventProps, "consentDialogState", "");
if ("1".Equals(consentDialogStateStr))
@@ -325,6 +324,7 @@ public class AdInfo
public double Revenue { get; private set; }
public string RevenuePrecision { get; private set; }
public WaterfallInfo WaterfallInfo { get; private set; }
+ public long LatencyMillis { get; private set; }
public string DspName { get; private set; }
public AdInfo(IDictionary adInfoDictionary)
@@ -338,6 +338,7 @@ public AdInfo(IDictionary adInfoDictionary)
Revenue = MaxSdkUtils.GetDoubleFromDictionary(adInfoDictionary, "revenue", -1);
RevenuePrecision = MaxSdkUtils.GetStringFromDictionary(adInfoDictionary, "revenuePrecision");
WaterfallInfo = new WaterfallInfo(MaxSdkUtils.GetDictionaryFromDictionary(adInfoDictionary, "waterfallInfo", new Dictionary()));
+ LatencyMillis = MaxSdkUtils.GetLongFromDictionary(adInfoDictionary, "latencyMillis");
DspName = MaxSdkUtils.GetStringFromDictionary(adInfoDictionary, "dspName");
}
@@ -351,6 +352,7 @@ public override string ToString()
", placement: " + Placement +
", revenue: " + Revenue +
", revenuePrecision: " + RevenuePrecision +
+ ", latency: " + LatencyMillis +
", dspName: " + DspName + "]";
}
}
@@ -469,6 +471,7 @@ public class ErrorInfo
public string MediatedNetworkErrorMessage { get; private set; }
public string AdLoadFailureInfo { get; private set; }
public WaterfallInfo WaterfallInfo { get; private set; }
+ public long LatencyMillis { get; private set; }
public ErrorInfo(IDictionary errorInfoDictionary)
{
@@ -478,6 +481,7 @@ public ErrorInfo(IDictionary errorInfoDictionary)
MediatedNetworkErrorMessage = MaxSdkUtils.GetStringFromDictionary(errorInfoDictionary, "mediatedNetworkErrorMessage", "");
AdLoadFailureInfo = MaxSdkUtils.GetStringFromDictionary(errorInfoDictionary, "adLoadFailureInfo", "");
WaterfallInfo = new WaterfallInfo(MaxSdkUtils.GetDictionaryFromDictionary(errorInfoDictionary, "waterfallInfo", new Dictionary()));
+ LatencyMillis = MaxSdkUtils.GetLongFromDictionary(errorInfoDictionary, "latencyMillis");
}
public override string ToString()
@@ -491,6 +495,7 @@ public override string ToString()
stringbuilder.Append(", mediatedNetworkMessage: ").Append(MediatedNetworkErrorMessage);
}
+ stringbuilder.Append(", latency: ").Append(LatencyMillis);
return stringbuilder.Append(", adLoadFailureInfo: ").Append(AdLoadFailureInfo).Append("]").ToString();
}
}