Pakiet SDK platformy do personalizowania wiadomości wyświetlanych użytkownikom od Google to narzędzie do ochrony prywatności i wyświetlania wiadomości, które pomaga zarządzać ustawieniami prywatności. Więcej informacji znajdziesz w artykule Prywatność i wyświetlanie wiadomości.
Tworzenie typu wiadomości
Twórz wiadomości dla użytkowników, korzystając z jednego z dostępnych typów wiadomości na karcie Prywatność i wyświetlanie wiadomości na koncie AdMob. Pakiet SDK UMP próbuje wyświetlić wiadomość dotyczącą prywatności utworzoną na podstawie identyfikatora aplikacji AdMob ustawionego w projekcie.
Więcej informacji znajdziesz w artykule Prywatność i wyświetlanie wiadomości.
Uzyskiwanie informacji o zgodzie użytkownika
Przy każdym uruchomieniu aplikacji należy prosić o aktualizację informacji o stanie zgody użytkownika za pomocą funkcji requestConsentInfoUpdate()
. To żądanie sprawdza te kwestie:
- Czy wymagana jest zgoda. Na przykład zgoda jest wymagana po raz pierwszy lub poprzednia decyzja o zgodzie wygasła.
- Czy wymagany jest punkt wejścia opcji prywatności. Niektóre wiadomości 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.
},
);
}
Wczytywanie i wyświetlanie formularza komunikatu dotyczącego prywatności
Po uzyskaniu najbardziej aktualnego stanu zgody wywołaj funkcję
loadAndShowConsentFormIfRequired()
, aby wczytać formularze wymagane do
uzyskania zgody użytkownika. Po wczytaniu formularze są od razu wyświetlane.
@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 dotyczących prywatności są wyświetlane w punkcie wejścia opcji prywatności renderowanym przez wydawcę, co umożliwia użytkownikom zarządzanie opcjami prywatności w dowolnym momencie. Więcej informacji o tym, która wiadomość wyświetla się użytkownikom w punkcie wejścia do opcji prywatności, znajdziesz w sekcji 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ź getPrivacyOptionsRequirementStatus()
, aby określić, czy w Twojej aplikacji wymagany jest punkt wejścia opcji prywatności. Jeśli jest on wymagany, dodaj do aplikacji widoczny i interaktywny element interfejsu, który wyświetla formularz opcji prywatności. Jeśli punkt wejścia do ustawień prywatności nie jest wymagany, skonfiguruj element interfejsu tak, aby był niewidoczny i nie można było z nim wchodzić w interakcję.
/// Helper variable to determine if the privacy options entry point is required.
Future<bool> isPrivacyOptionsRequired() async {
return await ConsentInformation.instance
.getPrivacyOptionsRequirementStatus() ==
PrivacyOptionsRequirementStatus.required;
}
Pełną listę stanów wymagań dotyczących opcji prywatności znajdziesz w sekcji
.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}");
}
});
Wysyłanie próśb o reklamy po uzyskaniu zgody użytkownika
Zanim wyślesz żądanie reklamy, użyj funkcji canRequestAds()
, aby sprawdzić, czy masz zgodę użytkownika:
await ConsentInformation.instance.canRequestAds()
Oto miejsca, w których możesz sprawdzić, czy możesz wysyłać prośby o reklamy podczas uzyskiwania zgody użytkowników:
- Po uzyskaniu zgody przez pakiet UMP SDK w bieżącej sesji.
- Natychmiast po wywołaniu funkcji
requestConsentInfoUpdate()
. Pakiet SDK UMP mógł uzyskać zgodę w poprzedniej sesji aplikacji.
Jeśli podczas procesu uzyskiwania zgody wystąpi błąd, sprawdź, czy możesz wysyłać żądania reklam. Pakiet SDK UMP korzysta ze stanu zgody z poprzedniej sesji aplikacji.
Zapobieganie zbędnym żądaniom reklam
Podczas sprawdzania canRequestAds()
po uzyskaniu zgody i po wywołaniu requestConsentInfoUpdate()
upewnij się, że logika zapobiega zbędnym żądaniom reklam, które mogą spowodować, że oba sprawdzenia zwrócą wartość true
. Na przykład w przypadku zmiennej logicznej.
Testowanie
Jeśli chcesz przetestować integrację w aplikacji podczas jej tworzenia, wykonaj te czynności, aby programowo zarejestrować urządzenie testowe. Zanim opublikujesz aplikację, usuń kod, który ustawia identyfikatory tych urządzeń testowych.
- Zadzwoń do firmy
requestConsentInfoUpdate()
. Sprawdź w danych wyjściowych dziennika komunikat podobny do tego poniżej, który zawiera identyfikator urządzenia i informacje o tym, 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 kod, aby wywoływać funkcję
ConsentDebugSettings.testIdentifiers
i przekazywać do niej listę identyfikatorów urządzeń testowych.ConsentDebugSettings debugSettings = ConsentDebugSettings( testIdentifiers: ["TEST-DEVICE-HASHED-ID"], ); ConsentRequestParameters params = ConsentRequestParameters(consentDebugSettings: debugSettings); ConsentInformation.instance.requestConsentInfoUpdate(params, () async { // ... };
Wymuszanie 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, za pomocą 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 z pakietem SDK UMP możesz zresetować stan pakietu SDK, aby symulować pierwsze wrażenia użytkownika po zainstalowaniu aplikacji.
Pakiet SDK udostępnia do tego celu metodę reset()
.
ConsentInformation.instance.reset();
Przykłady w GitHubie
Pełny przykład integracji pakietu UMP SDK, o którym mowa na tej stronie, znajdziesz w naszych przykładach w Flutterze.