Pakiet SDK platformy do personalizowania wiadomości wyświetlanych użytkownikom (UMP) od Google to narzędzie do zarządzania ustawieniami prywatności i wyświetlania wiadomości. Więcej informacji znajdziesz w artykule Prywatność i wyświetlanie wiadomości.
Tworzenie typu wiadomości
Utwórz wiadomości dla użytkowników, korzystając z jednego z dostępnych typów wiadomości dla użytkowników na karcie Prywatność i wyświetlanie wiadomości na koncie Ad Manager. Pakiet SDK UMP próbuje wyświetlić wiadomość dotyczącą prywatności utworzoną na podstawie identyfikatora aplikacji Ad Managera ustawionego w Twoim projekcie.
Więcej informacji znajdziesz w artykule Ochrona prywatności i wyświetlanie wiadomości.
Pobieranie informacji o zgodzie użytkownika
Podczas każdego uruchamiania aplikacji należy poprosić o zaktualizowanie informacji o zgodzie użytkownika, używając do tego parametru requestConsentInfoUpdate()
. To żądanie sprawdza te kwestie:
- Czy wymagana jest zgoda użytkownika. Może to być na przykład pierwsza prośba o zgodę lub prośba o odnowienie zgody, której termin wygasł.
- Czy wymagany jest punkt wejścia opcji prywatności. Niektóre komunikaty dotyczące prywatności wymagają, aby aplikacje umożliwiały użytkownikom modyfikowanie opcji prywatności w dowolnym momencie.
@override
void initState() {
super.initState();
// Create a ConsentRequestParameters object.
final params = ConsentRequestParameters();
// Request an update to consent information on every app launch.
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
// Called when consent information is successfully updated.
},
(FormError error) {
// Called when there's an error updating consent information.
},
);
}
Załaduj i wyświetlaj formularz wiadomości o ochronie prywatności
Po otrzymaniu najnowszego stanu zgody wywołaj funkcję loadAndShowConsentFormIfRequired()
, aby załadować formularze wymagane do uzyskania zgody użytkownika. Po załadowaniu formularze są natychmiast widoczne.
@override
void initState() {
super.initState();
// Create a ConsentRequestParameters object.
final params = ConsentRequestParameters();
// Request an update to consent information on every app launch.
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
if (loadAndShowError != null) {
// Consent gathering failed.
}
// Consent has been gathered.
});
},
(FormError error) {
// Handle the error.
},
);
}
Opcje prywatności
Niektóre formularze wiadomości o prywatności są wyświetlane w punkcie wejścia opcji prywatności przygotowanym przez wydawcę, co pozwala użytkownikom w dowolnym momencie zarządzać opcjami prywatności. Więcej informacji o tym, które wiadomości wyświetlają się użytkownikom w miejscu, w którym mogą wybrać opcje prywatności, znajdziesz w artykule Dostępne typy wiadomości dla użytkowników.
Sprawdzanie, czy wymagany jest punkt wejścia opcji prywatności
Po wywołaniu funkcji requestConsentInfoUpdate()
sprawdź, czy w przypadku Twojej aplikacji wymagany jest punkt wejścia z opcjami prywatności (funkcja getPrivacyOptionsRequirementStatus()
). Jeśli jest wymagany, dodaj do aplikacji widoczny element interfejsu, z którego można przejść do formularza z opcjami prywatności. Jeśli punkt wejścia nie jest wymagany, skonfiguruj element interfejsu tak, aby był niewidoczny i nieaktywny.
/// Helper variable to determine if the privacy options entry point is required.
Future<bool> isPrivacyOptionsRequired() async {
return await ConsentInformation.instance
.getPrivacyOptionsRequirementStatus() ==
PrivacyOptionsRequirementStatus.required;
}
Pełna lista stanów wymagań dotyczących opcji prywatności znajduje się na stronie
.PrivacyOptionsRequirementStatus
Wyświetlanie formularza opcji prywatności
Gdy użytkownik wejdzie w interakcję z elementem, wyświetl formularz opcji prywatności:
ConsentForm.showPrivacyOptionsForm((formError) {
if (formError != null) {
debugPrint("${formError.errorCode}: ${formError.message}");
}
});
Wyświetlanie reklam z wymagana zgodą użytkownika
Zanim wyślesz żądanie reklam, użyj funkcji canRequestAds()
, aby sprawdzić, czy masz zgodę użytkownika:
await ConsentInformation.instance.canRequestAds()
Aby sprawdzić, czy możesz wyświetlać reklamy podczas zbierania zgody, sprawdź te informacje:
- Gdy pakiet UMP SDK uzyska zgodę w bieżącej sesji.
- Natychmiast po zakończeniu rozmowy z
requestConsentInfoUpdate()
. Pakiet SDK UMP mógł uzyskać zgodę w poprzedniej sesji aplikacji.
Jeśli podczas zbierania zgody wystąpi błąd, sprawdź, czy możesz poprosić o reklamy. Pakiet SDK UMP korzysta ze stanu zgody z poprzedniej sesji aplikacji.
Zapobieganie zbędnemu przetwarzaniu żądań reklam
Gdy sprawdzasz canRequestAds()
po zebraniu zgody i wywołaniu requestConsentInfoUpdate()
, upewnij się, że Twoja logika zapobiega zbędnym żądaniom reklam, które mogłyby spowodować, że oba te sprawdzania zwrócą wartość true
. Na przykład z wartością logiczną.
Testowanie
Jeśli chcesz przetestować integrację w aplikacji podczas jej tworzenia, wykonaj te czynności, aby zarejestrować urządzenie testowe za pomocą kodu. Zanim opublikujesz aplikację, usuń kod, który ustawia te identyfikatory testowych urządzeń.
- Zadzwoń do firmy
requestConsentInfoUpdate()
. Sprawdź dane wyjściowe dziennika pod kątem komunikatu podobnego do tego, który zawiera identyfikator urządzenia i informacje o dodaniu go jako urządzenia testowego:
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 testowego urządzenia do schowka.
Zmodyfikuj kod, aby wywołać funkcję
ConsentDebugSettings.testIdentifiers
i przekazać listę identyfikatorów testowanych urządzeń.ConsentDebugSettings debugSettings = ConsentDebugSettings( testIdentifiers: ["TEST-DEVICE-HASHED-ID"], ); ConsentRequestParameters params = ConsentRequestParameters(consentDebugSettings: debugSettings); ConsentInformation.instance.requestConsentInfoUpdate(params, () async { // ... };
Wymuszenie lokalizacji geograficznej
Pakiet SDK UMP umożliwia testowanie działania aplikacji tak, jakby urządzenie znajdowało się w różnych regionach, np. w Europejskim Obszarze Gospodarczym lub Wielkiej Brytanii.debugGeography
Pamiętaj, że ustawienia debugowania działają tylko na urządzeniach testowych.
ConsentDebugSettings debugSettings = ConsentDebugSettings(
debugGeography: DebugGeography.debugGeographyEea,
testIdentifiers: ["TEST-DEVICE-HASHED-ID"],
);
ConsentRequestParameters params =
ConsentRequestParameters(consentDebugSettings: debugSettings);
ConsentInformation.instance.requestConsentInfoUpdate(params, () async {
// ...
};
Resetowanie stanu zgody
Podczas testowania aplikacji za pomocą pakietu SDK UMP warto zresetować jego stan, aby zasymulować pierwsze użycie aplikacji przez użytkownika.
W tym celu pakiet SDK udostępnia metodę reset()
.
ConsentInformation.instance.reset();
Przykłady w GitHub
Pełny przykład integracji pakietu UMP SDK omówiony na tej stronie znajdziesz w naszych przykładach Fluttera.