Pakiet SDK User Messaging Platform (UMP) od Google to narzędzie do ochrony prywatności i przesyłania wiadomości, ułatwiają zarządzanie wyborami dotyczącymi prywatności. Więcej informacji: Prywatność i informacje wiadomości.
Tworzenie typu wiadomości
Utwórz wiadomości dla użytkowników za pomocą jednej z tych metod: Dostępne typy wiadomości dla użytkowników w sekcji Prywatność na karcie „Wiadomości” Ad Manager koncie. Pakiet UMP SDK próbuje wyświetlić wiadomość dotycząca ochrony prywatności utworzona na podstawie Ad Manager identyfikatora aplikacji ustawione w projekcie.
Więcej informacji: Prywatność i wyświetlanie wiadomości
Dodaj identyfikator aplikacji
Identyfikator aplikacji znajdziesz w Interfejs Ad Managera. Dodaj dokument tożsamości do z następującym fragmentem kodu:
Prośba o informacje dotyczące zgody
Informacje o zgodzie użytkownika należy wysyłać w każdej aplikacji
za pomocą funkcji Update()
. To żądanie sprawdza
następujące:
- Określ, czy wymagana jest zgoda. Zgoda jest np. wymagana w przypadku za pierwszym razem lub wygasła poprzednia decyzja.
- Określ, czy wymagany jest punkt wejścia opcji prywatności. Niektóre wiadomości dotyczące ochrony prywatności będzie wymagać, aby aplikacje zezwalały użytkownikom na modyfikowanie ich opcji prywatności w dowolnym momencie.
Oto przykład, jak sprawdzić stan przy uruchomieniu aplikacji:
void Start()
{
// Create a ConsentRequestParameters object.
ConsentRequestParameters request = new ConsentRequestParameters();
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
void OnConsentInfoUpdated(FormError consentError)
{
if (consentError != null)
{
// Handle the error.
UnityEngine.Debug.LogError(consentError);
return;
}
// If the error is null, the consent information state was updated.
// You are now ready to check if a form is available.
}
W razie potrzeby wczytaj i wyświetl formularz wiadomości dotyczącej ochrony prywatności
Po uzyskaniu najbardziej aktualnego stanu zgody zadzwoń pod numer
LoadAndShowConsentFormIfRequired()
aby wczytać wszystkie formularze wymagane do
uzyskiwania zgody użytkowników. Po wczytaniu formularze pojawią się od razu.
void Start()
{
// Create a ConsentRequestParameters object.
ConsentRequestParameters request = new ConsentRequestParameters();
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
void OnConsentInfoUpdated(FormError consentError)
{
if (consentError != null)
{
// Handle the error.
UnityEngine.Debug.LogError(consentError);
return;
}
// If the error is null, the consent information state was updated.
// You are now ready to check if a form is available.
ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
{
if (formError != null)
{
// Consent gathering failed.
UnityEngine.Debug.LogError(consentError);
return;
}
// Consent has been gathered.
});
}
Jeśli musisz wykonać jakieś działania po dokonaniu wyboru lub odrzuceniu go przez użytkownika
umieść tę logikę w elemencie Action<FormError>
callback
dla swojego formularza.
Opcje prywatności
Niektóre formularze wiadomości dotyczących ochrony prywatności są przedstawiane z prywatności renderowanej przez wydawcę. pozwala użytkownikom zarządzać ich opcjami prywatności w każdej chwili. Aby dowiedzieć się, jaki komunikat widzą użytkownicy, korzystając z opcji prywatności punktu wejścia, patrz Dostępne typy wiadomości dla użytkowników.
Aby wdrożyć punkt wejścia opcji prywatności, wykonaj te czynności:
- Zaznacz
PrivacyOptionsRequirementStatus
. - Jeśli punkt wejścia opcji prywatności to dodaj widoczny i interaktywny element interfejsu aplikacji.
- Aktywuj formularz opcji prywatności za pomocą:
ShowPrivacyOptionsForm()
Oto przykładowy kod, który ilustruje te kroki:
[SerializeField, Tooltip("Button to show the privacy options form.")]
private Button _privacyButton;
private void Start()
{
// Enable the privacy settings button.
if (_privacyButton != null)
{
_privacyButton.onClick.AddListener(UpdatePrivacyButton);
// Disable the privacy settings button by default.
_privacyButton.interactable = false;
}
}
/// <summary>
/// Shows the privacy options form to the user.
/// </summary>
public void ShowPrivacyOptionsForm()
{
Debug.Log("Showing privacy options form.");
ConsentForm.ShowPrivacyOptionsForm((FormError showError) =>
{
if (showError != null)
{
Debug.LogError("Error showing privacy options form with error: " + showError.Message);
}
// Enable the privacy settings button.
if (_privacyButton != null)
{
_privacyButton.interactable =
ConsentInformation.PrivacyOptionsRequirementStatus ==
PrivacyOptionsRequirementStatus.Required;
}
});
}
Wyślij żądanie
Zanim wyślesz prośbę o reklamy w aplikacji, sprawdź, czy masz jej zgodę od użytkownika za pomocą funkcji . Dostępne są 2 które sprawdzić podczas uzyskiwania zgody użytkowników:
- Po uzyskaniu zgody użytkownika w bieżącej sesji.
- Zaraz po nawiązaniu połączenia z firmą
Update()
. Możliwe, że w poprzedniej sesji użytkownik wyraził zgodę. Jako opóźnienie zgodnie ze sprawdzoną metodą, nie czekaj na zakończenie połączenia, ponieważ będzie można ładowanie reklam od razu po uruchomieniu aplikacji.
Jeśli w trakcie procesu uzyskiwania zgody użytkowników wystąpi błąd, żądania reklam. Pakiet UMP SDK używa stanu zgody z poprzedniej wersji .
void Start()
{
// Create a ConsentRequestParameters object.
ConsentRequestParameters request = new ConsentRequestParameters();
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
void OnConsentInfoUpdated(FormError consentError)
{
if (consentError != null)
{
// Handle the error.
UnityEngine.Debug.LogError(consentError);
return;
}
// If the error is null, the consent information state was updated.
// You are now ready to check if a form is available.
ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
{
if (formError != null)
{
// Consent gathering failed.
UnityEngine.Debug.LogError(consentError);
return;
}
// Consent has been gathered.
if (ConsentInformation.CanRequestAds())
{
MobileAds.Initialize((InitializationStatus initstatus) =>
{
// TODO: Request an ad.
});
}
});
}
Testowanie
Jeśli chcesz przetestować integrację w aplikacji w trakcie jej programowania, te kroki, by automatycznie zarejestrować urządzenie testowe. Pamiętaj, aby usunąć który będzie ustawiać te identyfikatory urządzeń testowych przed opublikowaniem aplikacji.
- Zadzwoń pod numer
Update()
. Sprawdź, czy w danych wyjściowych dziennika znajduje się komunikat podobny do poniższego przykładu, który pokazuje identyfikator Twojego urządzenia i jak dodać je jako urządzenie testowe:
Android
Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.
iOS
<UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
Skopiuj identyfikator urządzenia testowego do schowka.
Zmodyfikuj swój kod, aby połączenia
DebugGeography.TestDeviceHashedIds
i przekaż listę identyfikatorów urządzeń testowych.void Start() { var debugSettings = new ConsentDebugSettings { TestDeviceHashedIds = new List<string> { "TEST-DEVICE-HASHED-ID" } }; // Create a ConsentRequestParameters object. ConsentRequestParameters request = new ConsentRequestParameters { ConsentDebugSettings = debugSettings, }; // Check the current consent information status. ConsentInformation.Update(request, OnConsentInfoUpdated); }
Wymuś użycie lokalizacji geograficznej
Pakiet UMP SDK umożliwia przetestowanie działania aplikacji w taki sposób, jakby urządzenie
przebywających w Europejskim Obszarze Gospodarczym lub Wielkiej Brytanii za pomocą usługi the DebugGeography
field on ConsentDebugSettings
. Pamiętaj, że
ustawienia debugowania działają tylko na urządzeniach testowych.
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"
}
};
// Create a ConsentRequestParameters object.
ConsentRequestParameters request = new ConsentRequestParameters
{
ConsentDebugSettings = debugSettings,
};
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
Zresetuj stan zgody użytkownika
Podczas testowania aplikacji za pomocą pakietu SDK UMP pomocne może być zresetowanie pliku
pakietu SDK, co pozwala symulować pierwszą instalację u użytkownika.
Pakiet SDK udostępnia metodę Reset()
do tego celu.
ConsentInformation.Reset();