پیاده‌سازی آگهی‌های تصویردرتصویر (نسخه بتا)

پلاتفرم را انتخاب کنید: Android iOS Unity

تصویر در تصویر

آگهی‌های تصویردرتصویر (PiP) در پنجره‌ای شناور نمایش داده می‌شوند که در بالای محتوای روی صفحه، مانند مقالات، فیدها یا گیم‌پلی، باقی می‌ماند. این قالب به کاربران اجازه می‌دهد درحالی‌که آگهی همچنان قابل‌مشاهده است، با برنامه‌تان تعامل داشته باشند. برای نمایش آگهی‌هایی که کل صفحه را اشغال نمی‌کنند، این قالب را انتخاب کنید. درباره تبلیغات تصویردرتصویر بیشتر بدانید.

این راهنما درخواست و نمایش آگهی‌های تصویردرتصویر در برنامه شما را بااستفاده از Google Mobile Ads Unity Plugin پوشش می‌دهد.

قبل‌از شروع

قبل‌از ادامه دادن، موارد زیر را انجام دهید:

بار کردن آگهی

برای بار کردن PictureInPictureAd شیء، درخواست آگهی بسازید و متد بار کردن را فراخوانی کنید:

public void LoadPictureInPictureAd()
{
    // Clean up any existing ad before loading a new one.
    if (_pictureInPictureAd != null)
    {
        _pictureInPictureAd.Destroy();
        _pictureInPictureAd = null;
    }

    // Create our request used to load the ad.
    var adRequest = new AdRequest();

    // Send the request to load the ad.
    PictureInPictureAd.Load(_adUnitId, adRequest,
        (PictureInPictureAd ad, LoadAdError error) =>
        {
            if (error != null || ad == null)
            {
                Debug.LogWarning(
                    "Picture-in-picture ad failed to load: " + error);
                return;
            }

            // Capture the PictureInPictureAd reference for later use.
            _pictureInPictureAd = ad;
        });
}

‫_adUnitId را با شناسه واحد آگهی‌تان جایگزین کنید.

نمایش آگهی

برای نمایش آگهی تصویردرتصویر روی صفحه، متد show را فراخوانی کنید. مثال زیر آگهی را در جایگاه پیش‌فرض نمایش می‌دهد:

public void ShowPictureInPictureAd()
{
    // Use the ad reference saved from the Load callback.
    if (_pictureInPictureAd != null)
    {
        _pictureInPictureAd.Show();
    }
    else
    {
        Debug.Log("No ad to show.");
    }
}

تنظیم کردن موقعیت

به‌طور پیش‌فرض، Google Mobile Ads Unity Plugin آگهی تصویردرتصویر را در گوشه پایین سمت راست صفحه‌نمایش نشان می‌دهد، یا اگر قبلاً نشان داده شده باشد، در آخرین موقعیت شناخته‌شده نشان می‌دهد. برای سفارشی‌سازی کردن محل نمایش آگهی، موقعیتی را هنگام نمایش آگهی مشخص کنید. مثال زیر موقعیت را در بالای محتوا در گوشه بالا سمت چپ صفحه‌نمایش تنظیم می‌کند:

public void ShowPictureInPictureAdTopLeft()
{
    // Use the ad reference saved from the Load callback.
    if (_pictureInPictureAd != null)
    {
        _pictureInPictureAd.Show(PictureInPictureAdPosition.TopLeft);
    }
    else
    {
        Debug.Log("No ad to show.");
    }
}

برای دیدن همه موقعیت‌های شغلی دردسترس، به PictureInPictureAdPosition مراجعه کنید.

گوش دادن به رویدادهای آگهی

برای مدیریت رویدادهای چرخه حیات آگهی تصویردرتصویر، قبل‌از نمایش آگهی، برای رویدادهای آگهی ثبت‌نام کنید. این رویدادها تعاملات آگهی، مانند کلیک‌ها و ظهورها را گزارش می‌کنند. این رویدادها همچنین رویدادهای خاص تصویردرتصویر را گزارش می‌کنند، مانند زمانی که آگهی نمایش داده می‌شود یا پنهان می‌شود:

private void RegisterEventHandlers(PictureInPictureAd ad)
{
    // Raised when the ad is estimated to have earned money.
    ad.OnAdPaid += (AdValue adValue) =>
    {
        Debug.Log($"Picture-in-picture ad paid: {adValue.Value} {adValue.CurrencyCode}");
    };
    // Raised when an impression is recorded for an ad.
    ad.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Picture-in-picture ad recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    ad.OnAdClicked += () =>
    {
        Debug.Log("Picture-in-picture ad recorded a click.");
    };
    // Raised when the picture-in-picture ad is displayed on the screen.
    ad.OnAdShown += () =>
    {
        Debug.Log("Picture-in-picture ad shown.");
    };
    // Raised when the picture-in-picture ad is hidden from the screen.
    ad.OnAdHidden += () =>
    {
        Debug.Log("Picture-in-picture ad hidden.");
    };
    // Raised when an ad opened full screen content.
    ad.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Picture-in-picture ad opened full screen content.");
    };
    // Raised when the ad closed full screen content.
    ad.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Picture-in-picture ad closed full screen content.");
    };
    // Raised when the ad failed to open full screen content.
    ad.OnAdFullScreenContentFailed += (AdError error) =>
    {
        Debug.LogWarning(
            "Picture-in-picture ad failed to open full screen " +
            "content: " + error);
    };
}

پنهان کردن آگهی

برای برداشتن آگهی شناور از صفحه، روش پنهان کردن را فراخوانی کنید. این روش رویداد پنهان آگهی را فراخوانی می‌کند:

public void HidePictureInPictureAd()
{
    // Use the ad reference saved from the Load callback.
    if (_pictureInPictureAd != null)
    {
        _pictureInPictureAd.Hide();
    }
    else
    {
        Debug.Log("No ad to hide.");
    }
}

پاکسازی منابع آگهی

برای جلوگیری از نشت حافظه، وقتی برنامه‌تان استفاده از آگهی را تمام کرد، ارجاع به شیء آگهی را رها کنید. برای مثال، وقتی برنامه شما دیگر آگهی را نمایش نمی‌دهد یا با آن تعامل ندارد:

public void DestroyPictureInPictureAd()
{
    // Use the ad reference saved from the Load callback.
    if (_pictureInPictureAd != null)
    {
        _pictureInPictureAd.Destroy();
        _pictureInPictureAd = null;
    }
}