شروع کنید

تحت خط‌مشی رضایت کاربر اتحادیه اروپا Google، شما باید اطلاعات مشخصی را برای کاربران خود در منطقه اقتصادی اروپا (EEA) همراه با بریتانیا انجام دهید و رضایت آنها را برای استفاده از کوکی‌ها یا سایر فضای ذخیره‌سازی محلی، در صورت نیاز قانونی، و استفاده از داده‌های شخصی کسب کنید ( مانند AdID) برای ارائه تبلیغات. این سیاست منعکس کننده الزامات دستورالعمل حریم خصوصی الکترونیک اتحادیه اروپا و مقررات عمومی حفاظت از داده ها (GDPR) است.

برای حمایت از ناشران در انجام وظایف خود تحت این خط‌مشی، Google پلتفرم پیام‌رسانی کاربر (UMP) SDK را ارائه می‌دهد. UMP SDK برای پشتیبانی از آخرین استانداردهای IAB به روز شده است. همه این پیکربندی‌ها اکنون می‌توانند به راحتی در حریم خصوصی و پیام‌رسانی AdMob مدیریت شوند.

پیش نیازها

انواع پیام کاربر

انواع پیام های کاربررا برای لیست کامل پیام های پشتیبانی شده ببینید. برای دستورالعمل‌های خاص در مورد اجرای هر نوع پیام، نوار پیمایش سمت چپ را ببینید.

تعیین کنید که آیا یک پیام باید نمایش داده شود

قبل از بارگیری فرم، باید در هر راه اندازی برنامه با استفاده از Update() درخواست به روز رسانی اطلاعات رضایت کاربر را بدهید. این می‌تواند تعیین کند که آیا کاربر شما نیاز به ارائه رضایت دارد یا خیر، اگر قبلاً این کار را انجام نداده باشد یا اینکه رضایت او منقضی شده باشد.

از اطلاعات ذخیره شده در شی ConsentInformationهنگام ارائه فرم در صورت لزوم استفاده کنید.

در اینجا مثالی از نحوه بررسی وضعیت در شروع برنامه آورده شده است:

using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Ump;
using GoogleMobileAds.Ump.Api;

public class UmpManager : MonoBehaviour
{
    void Start()
    {
        // Set tag for under age of consent.
        // Here false means users are not under age.
        ConsentRequestParameters request = new ConsentRequestParameters
        {
            TagForUnderAgeOfConsent = false,
        };

        // Check the current consent information status.
        ConsentInformation.Update(request, OnConsentInfoUpdated);
    }

    void OnConsentInfoUpdated(FormError error)
    {
        if (error != null)
        {
            // Handle the error.
            UnityEngine.Debug.LogError(error);
            return;
        }

        // If the error is null, the consent information state was updated.
        // You are now ready to check if a form is available.
    }
}

در صورت موجود بودن فرم را بارگیری کنید

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

برای بررسی در دسترس بودن یک فرم، ازthe IsConsentFormAvailable() method on the ConsentInformation instance که قبلا ایجاد کردید استفاده کنید.

سپس، یک متد wrapper برای بارگیری فرم اضافه کنید:

void OnConsentInfoUpdated(FormError error)
{
    if (error != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(error);
        return;
    }

    // If the error is null, the consent information state was updated.
    // You are now ready to check if a form is available.
    if (ConsentInformation.IsConsentFormAvailable())
    {
        LoadConsentForm();
    }
}

void LoadConsentForm()
{
    // Loads a consent form.
}

برای بارگیری فرم، از the static Load() method on the ConsentForm classاستفاده کنید.

private ConsentForm _consentForm;

void LoadConsentForm()
{
    // Loads a consent form.
    ConsentForm.Load(OnLoadConsentForm);
}

void OnLoadConsentForm(ConsentForm consentForm, FormError error)
{
    if (error != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(error);
        return;
    }

    // The consent form was loaded.
    // Save the consent form for future requests.
    _consentForm = consentForm;

    // You are now ready to show the form.
}

در صورت نیاز فرم را ارائه دهید

پس از تعیین در دسترس بودن فرم و بارگیری آن، از روشShow() در نمونهConsentForm برای ارائه فرم استفاده کنید.

از شیConsentInformation قبلی استفاده کنید تاconsent status بررسی کنید و روشLoadForm() خود را به روز کنید:

void LoadForm()
{
    // Loads a consent form.
    ConsentForm.Load(OnLoadConsentForm);
}

void OnLoadConsentForm(ConsentForm consentForm, FormError error)
{
    if (error != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(error);
        return;
    }

    // The consent form was loaded.
    // Save the consent form for future requests.
    _consentForm = consentForm;

    // You are now ready to show the form.
    if(ConsentInformation.ConsentStatus == ConsentStatus.Required)
    {
        _consentForm.Show(OnShowForm);
    }
}

void OnShowForm(FormError error)
{
    if (error != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(error);
        return;
    }

    // Handle dismissal by reloading form.
    LoadForm();
}

اگر پس از انتخاب کاربر یا رد کردن فرم، نیاز به انجام هر کاری دارید، آن منطق را در کنترل کننده تکمیل یا پاسخ تماس برای فرم خود قرار دهید.

آزمایش کردن

جغرافی اجباری

UMP SDK راهی برای آزمایش رفتار برنامه شما ارائه می دهد که گویی دستگاه با استفاده از the DebugGeography field on ConsentDebugSettingsدر منطقه اقتصادی اروپا یا بریتانیا قرار دارد.

برای استفاده از قابلیت اشکال‌زدایی، باید شناسه هش شده دستگاه آزمایشی خود را در تنظیمات اشکال‌زدایی برنامه خود ارائه دهید. اگر بدون تنظیم این مقدارUpdate() را فراخوانی کنید، برنامه شما هنگام اجرا هش شناسه مورد نیاز را ثبت می‌کند.

void Start()
{
    var debugSettings = new ConsentDebugSettings
    {
        // Geography appears as in EEA for debug devices.
        DebugGeography = DebugGeography.EEA,
        TestDeviceHashedIds = new List<string>
        {
            "TEST-DEVICE-HASHED-ID"
        }
    };

    // Set tag for under age of consent.
    // Here false means users are not under age.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
        ConsentDebugSettings = debugSettings,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

با DebugGeography enum، می‌توانید موقعیت جغرافیایی را به یکی از این گزینه‌ها وادار کنید:

DebugGeography شرح
DISABLED اشکال‌زدایی جغرافیایی غیرفعال است.
EEA جغرافیا مانند EEA برای دستگاه های اشکال زدایی ظاهر می شود.
Not_EEA به نظر می رسد جغرافیا برای دستگاه های اشکال زدایی در EEA نیست.

توجه داشته باشید که تنظیمات اشکال زدایی فقط در دستگاه های آزمایشی کار می کند. شبیه سازها نیازی به اضافه شدن به لیست شناسه دستگاه شما ندارند، زیرا آنها قبلاً آزمایش را به طور پیش فرض فعال کرده اند.

در آزمایش برنامه خود با UMP SDK، ممکن است بازنشانی وضعیت SDK برای شما مفید باشد تا بتوانید اولین تجربه نصب کاربر را شبیه سازی کنید. SDK روش Reset() را برای انجام این کار ارائه می دهد.

ConsentInformation.Reset();

همچنین اگر تصمیم دارید UMP SDK را به طور کامل از پروژه خود حذف کنید، باید با Reset() تماس بگیرید.