public void EmitSdkInitializedEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 1); var adUnitId = args[0]; var logLevel = MoPub.LogLevel.None; if (args.Length > 1) { try { logLevel = (MoPub.LogLevel)Enum.Parse(typeof(MoPub.LogLevel), args[1]); } catch (ArgumentException) { Debug.LogWarning("Invalid LogLevel received: " + args[1]); } } else { Debug.LogWarning("No LogLevel received"); } MoPubLog.Log("EmitSdkInitializedEvent", MoPubLog.SdkLogEvent.InitFinished, logLevel); var evt = OnSdkInitializedEvent; if (evt != null) { evt(adUnitId); } }
// Banner Listeners public void EmitAdLoadedEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 3); var adUnitId = args[0]; var width = args[1]; var height = args[2]; float parsedHeight; var parseSucceeded = float.TryParse(height, NumberStyles.Float, CultureInfo.InvariantCulture, out parsedHeight); MoPubLog.Log("EmitAdLoadedEvent", MoPubLog.AdLogEvent.LoadSuccess); MoPubLog.Log("EmitAdLoadedEvent", "Size received: {0}x{1}", width, height); MoPubLog.Log("EmitAdLoadedEvent", MoPubLog.AdLogEvent.ShowSuccess); if (!parseSucceeded) { EmitAdFailedEvent(MoPubUtils.EncodeArgs(adUnitId, "Failed to parse AdLoadedEvent due to invalid ad " + "height: (" + height + ")")); return; } var evt = OnAdLoadedEvent; if (evt != null) { evt(adUnitId, parsedHeight); } }
public void EmitRewardedVideoReceivedRewardEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 3); var adUnitId = args[0]; var label = args[1]; var amount = args[2]; float parsedAmount; var parseSucceeded = float.TryParse(amount, NumberStyles.Float, CultureInfo.InvariantCulture, out parsedAmount); MoPubLog.Log("EmitRewardedVideoReceivedRewardEvent", MoPubLog.AdLogEvent.ShouldReward, label, amount); if (!parseSucceeded) { EmitRewardedVideoFailedEvent(MoPubUtils.EncodeArgs(adUnitId, "Failed to parse RewardedVideoReceivedRewardEvent due to invalid rewarded amount: (" + amount + ")." + " Please ensure the reward info is configured properly on your advertising dashboard.")); return; } var evt = OnRewardedVideoReceivedRewardEvent; if (evt != null) { evt(adUnitId, label, parsedAmount); } }
private static void EmitImpressionTrackedEventHandler(string argsJson, bool background = false) { var args = MoPubUtils.DecodeArgs(argsJson, min: 1); var adUnitId = args[0]; var impressionData = new MoPub.ImpressionData(); if (args.Length > 1) { if (background || OnImpressionTrackedEventBg == null) // Only include data on *one* event. { impressionData = MoPub.ImpressionData.FromJson(args[1]); } else if (OnImpressionTrackedEvent != null) // Only log if user is subscribed to *both* events. { Debug.Log("Suppressing impression data from `OnImpressionTrackedEvent` since it was already delivered" + " to `OnImpressionTrackedEventBg`."); } } var evt = background ? OnImpressionTrackedEventBg : OnImpressionTrackedEvent; if (evt != null) { evt(adUnitId, impressionData); } }
public void DecodeArgsWithValueShouldYieldListWithValue() { var res = MoPubUtils.DecodeArgs("[\"a\"]", 0); Assert.That(res, Is.Not.Null); Assert.That(res.Length, Is.EqualTo(1)); Assert.That(res[0], Is.EqualTo("a")); }
public void DecodeArgsWithInvalidShouldErrorAndYieldEmptyList() { var res = MoPubUtils.DecodeArgs("{\"a\"]", 0); LogAssert.Expect(LogType.Error, "Invalid JSON data: {\"a\"]"); Assert.That(res, Is.Not.Null); Assert.That(res.Length, Is.EqualTo(0)); }
public void EmitNativeLoadEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 2); var adUnitId = args[0]; var data = AbstractNativeAd.Data.FromJson(args[1]); MoPubLog.Log("EmitNativeLoadEvent", MoPubLog.AdLogEvent.LoadSuccess); EmitNativeLoadEvent(adUnitId, data); }
public void DecodeArgsWithExpectedValuesShouldYieldListWithDesiredValues() { var res = MoPubUtils.DecodeArgs("[\"a\", \"b\", \"c\"]", 3); Assert.That(res, Is.Not.Null); Assert.That(res.Length, Is.EqualTo(3)); Assert.That(res[0], Is.EqualTo("a")); Assert.That(res[1], Is.EqualTo("b")); Assert.That(res[2], Is.EqualTo("c")); }
public void DecodeArgsWithoutMinimumValuesShouldErrorAndYieldListWithDesiredLength() { var res = MoPubUtils.DecodeArgs("[\"a\", \"b\"]", 3); LogAssert.Expect(LogType.Error, "Missing one or more values: [\"a\", \"b\"] (expected 3)"); Assert.That(res, Is.Not.Null); Assert.That(res.Length, Is.EqualTo(3)); Assert.That(res[0], Is.EqualTo("a")); Assert.That(res[1], Is.EqualTo("b")); Assert.That(res[2], Is.EqualTo("")); }
public void EmitRewardedVideoLeavingApplicationEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 1); var adUnitId = args[0]; var evt = OnRewardedVideoLeavingApplicationEvent; if (evt != null) { evt(adUnitId); } }
public void EmitRewardedVideoClosedEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 1); var adUnitId = args[0]; MoPubLog.Log("EmitRewardedVideoClosedEvent", MoPubLog.AdLogEvent.Dismissed); var evt = OnRewardedVideoClosedEvent; if (evt != null) { evt(adUnitId); } }
public void EmitRewardedVideoFailedToPlayEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 2); var adUnitId = args[0]; var error = args[1]; var evt = OnRewardedVideoFailedToPlayEvent; if (evt != null) { evt(adUnitId, error); } }
public void EmitInterstitialClickedEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 1); var adUnitId = args[0]; MoPubLog.Log("EmitInterstitialClickedEvent", MoPubLog.AdLogEvent.Tapped); var evt = OnInterstitialClickedEvent; if (evt != null) { evt(adUnitId); } }
public void EmitAdCollapsedEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 1); var adUnitId = args[0]; MoPubLog.Log("EmitAdCollapsedEvent", MoPubLog.AdLogEvent.Collapsed); var evt = OnAdCollapsedEvent; if (evt != null) { evt(adUnitId); } }
public void EmitConsentDialogFailedEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 1); var err = args[0]; MoPubLog.Log("EmitConsentDialogFailedEvent", MoPubLog.ConsentLogEvent.LoadFailed, err); var evt = OnConsentDialogFailedEvent; if (evt != null) { evt(err); } }
public void EmitNativeFailEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 2); var adUnitId = args[0]; var error = args[1]; MoPubLog.Log("EmitNativeFailEvent", MoPubLog.AdLogEvent.LoadFailed, adUnitId, error); var evt = OnNativeFailEvent; if (evt != null) { evt(adUnitId, error); } }
public void EmitRewardedVideoReceivedRewardEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 3); var adUnitId = args[0]; var label = args[1]; var amountStr = args[2]; MoPubLog.Log("EmitRewardedVideoReceivedRewardEvent", MoPubLog.AdLogEvent.ShouldReward, label, amountStr); var evt = OnRewardedVideoReceivedRewardEvent; if (evt != null) { evt(adUnitId, label, Single.Parse(amountStr, CultureInfo.InvariantCulture)); } }
public void EmitImpressionTrackedEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 1); var adUnitId = args[0]; var impressionData = args.Length > 1 ? MoPub.ImpressionData.FromJson(args[1]) : new MoPub.ImpressionData(); var evt = OnImpressionTrackedEvent; if (evt != null) { evt(adUnitId, impressionData); } }
public void EmitConsentStatusChangedEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 3); var oldConsent = MoPub.Consent.FromString(args[0]); var newConsent = MoPub.Consent.FromString(args[1]); var canCollectPersonalInfo = args[2].ToLower() == "true"; MoPubLog.Log("EmitConsentStatusChangedEvent", MoPubLog.ConsentLogEvent.Updated, oldConsent, newConsent, canCollectPersonalInfo ? "" : "not", "unknown"); var evt = OnConsentStatusChangedEvent; if (evt != null) { evt(oldConsent, newConsent, canCollectPersonalInfo); } }
// Banner Listeners public void EmitAdLoadedEvent(string argsJson) { var args = MoPubUtils.DecodeArgs(argsJson, min: 3); var adUnitId = args[0]; var width = args[1]; var height = args[2]; MoPubLog.Log("EmitAdLoadedEvent", MoPubLog.AdLogEvent.LoadSuccess); MoPubLog.Log("EmitAdLoadedEvent", "Size received: {0}x{1}", width, height); MoPubLog.Log("EmitAdLoadedEvent", MoPubLog.AdLogEvent.ShowSuccess); var evt = OnAdLoadedEvent; if (evt != null) { evt(adUnitId, Single.Parse(height, CultureInfo.InvariantCulture)); } }