コード例 #1
0
    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);
        }
    }
コード例 #2
0
    // 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);
        }
    }
コード例 #3
0
    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);
        }
    }
コード例 #4
0
    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);
        }
    }
コード例 #5
0
        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"));
        }
コード例 #6
0
        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));
        }
コード例 #7
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);
    }
コード例 #8
0
        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"));
        }
コード例 #9
0
        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(""));
        }
コード例 #10
0
    public void EmitRewardedVideoLeavingApplicationEvent(string argsJson)
    {
        var args     = MoPubUtils.DecodeArgs(argsJson, min: 1);
        var adUnitId = args[0];

        var evt = OnRewardedVideoLeavingApplicationEvent;

        if (evt != null)
        {
            evt(adUnitId);
        }
    }
コード例 #11
0
    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);
        }
    }
コード例 #12
0
    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);
        }
    }
コード例 #13
0
    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);
        }
    }
コード例 #14
0
    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);
        }
    }
コード例 #15
0
    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);
        }
    }
コード例 #16
0
    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);
        }
    }
コード例 #17
0
    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));
        }
    }
コード例 #18
0
    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);
        }
    }
コード例 #19
0
    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);
        }
    }
コード例 #20
0
    // 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));
        }
    }