Pakiet SDK platformy do personalizowania wiadomości wyświetlanych użytkownikom (UMP) to narzędzie do zarządzania prywatnością i wiadomościami, które pomaga zarządzać ustawieniami prywatnoś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 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.
Uzyskiwanie informacji o zgodzie użytkownika
Przy każdym uruchomieniu aplikacji należy poprosić o aktualizację informacji o zgodzie użytkownika, używając metody requestConsentInfoUpdate(). To żądanie sprawdza:
- Czy zgoda jest wymagana? 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.
/**
* Requests consent information update on app launch.
*/
export function requestConsent(onComplete?: () => void) {
requestConsentInfoUpdate({}, (error) => {
if (error) {
console.warn('Consent info update error:', error.message);
} else {
console.log('Consent info update complete.');
}
// Load and show consent form if required.
loadAndPresentConsentForm(onComplete);
});
}
Wczytywanie i wyświetlanie formularza wiadomości dotyczącej prywatności
Po otrzymaniu najbardziej aktualnego stanu zgody wywołaj metodę loadAndShowConsentFormIfRequired(), aby wczytać formularze wymagane do uzyskania zgody użytkownika. Po wczytaniu formularze są natychmiast wyświetlane.
/**
* Loads and presents the privacy message form if required to collect user consent.
*/
export function loadAndPresentConsentForm(onComplete?: () => void) {
loadAndShowConsentFormIfRequired((formError) => {
if (formError) {
console.warn('Consent form error:', formError.message);
} else {
console.log('Consent gathering complete.');
}
// Execute logic that depends on consent state (for example, initialize the SDK).
onComplete?.();
});
}
Opcje prywatności
Niektóre formularze wiadomości dotyczących prywatności są wyświetlane z punktu wejścia opcji prywatności renderowanego przez wydawcę, co umożliwia użytkownikom zarządzanie opcjami prywatności w dowolnym momencie. Aby dowiedzieć się więcej o tym, która wiadomość wyświetla się użytkownikom w punkcie wejścia do opcji związanych z prywatnością, przeczytaj artykuł Dostępne typy wiadomości dla użytkowników.
Sprawdzanie, czy punkt wejścia opcji prywatności jest wymagany
Po wywołaniu requestConsentInfoUpdate() sprawdź getPrivacyOptionsRequirementStatus(), aby określić, czy w aplikacji jest wymagany 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 nie był widoczny i nie można było z nim wejść w interakcję.
/**
* Helper to determine if the privacy options entry point is required.
*/
export function isPrivacyOptionsRequired(): boolean {
return (
getPrivacyOptionsRequirementStatus() ===
PrivacyOptionsRequirementStatus.REQUIRED
);
}
Pełną listę stanów wymagań dotyczących opcji prywatności znajdziesz w artykule
.PrivacyOptionsRequirementStatus
Wyświetlanie formularza opcji dotyczących prywatności
Gdy użytkownik wejdzie w interakcję z Twoim elementem, wyświetl formularz opcji prywatności:
/**
* Renders a privacy options button if required by user consent policy.
*/
export function PrivacyOptionsButton({
onDismissed,
}: {
onDismissed?: (error?: FormError) => void;
}) {
const isRequired =
getPrivacyOptionsRequirementStatus() ===
PrivacyOptionsRequirementStatus.REQUIRED;
if (!isRequired) {
return null;
}
const handleShowPrivacyOptions = () => {
showPrivacyOptionsForm((error) => {
if (error) {
console.error('Failed to show privacy options form:', error.message);
} else {
console.log('Privacy options form dismissed.');
}
// Execute custom logic after form is dismissed.
onDismissed?.(error);
});
};
return <Button title="Privacy Settings" onPress={handleShowPrivacyOptions} />;
}
Żądanie reklam za zgodą użytkownika
Zanim wyślesz żądanie reklamy, użyj
, aby sprawdzić, czy masz zgodę użytkownika:canRequestAds()
/**
* Checks whether user consent allows requesting ads and initializes the SDK.
*/
let isMobileAdsInitialized = false;
export function initializeMobileAdsSdkIfConsentGiven() {
if (canRequestAds()) {
if (!isMobileAdsInitialized) {
isMobileAdsInitialized = true;
initialize({}, (status) => {
console.log('Google Mobile Ads SDK initialized:', status);
});
}
}
}
Poniżej znajdziesz miejsca, w których możesz sprawdzić, czy możesz wysyłać żądania reklam podczas zbierania zgody:
- Po uzyskaniu zgody przez pakiet SDK UMP w bieżącej sesji.
- Natychmiast po wywołaniu metody
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 używa stanu zgody z poprzedniej sesji aplikacji.
Zapobieganie zbędnym żądaniom reklam
Gdy sprawdzasz
po uzyskaniu zgody i wywołaniu canRequestAds()requestConsentInfoUpdate(), upewnij się, że Twoja logika zapobiega zbędnym żądaniom reklamy, które mogą spowodować, że oba sprawdzenia zwrócą true. Na przykład za pomocą zmiennej logicznej.
Testowanie
Jeśli chcesz przetestować integrację w aplikacji podczas jej tworzenia, wykonaj te czynności, aby zarejestrować urządzenie testowe w kodzie. Przed opublikowaniem aplikacji usuń kod, który ustawia te identyfikatory urządzeń testowych.
- Zadzwoń do firmy
requestConsentInfoUpdate(). Sprawdź, czy w danych wyjściowych dziennika znajduje się komunikat podobny do tego w przykładzie 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łać metodę
consentDebugSettings.testDeviceIdentifiersi przekazać listę identyfikatorów urządzeń testowych.
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 (EOG), Wielkiej Brytanii i Szwajcarii, za pomocą DebugGeography. Pamiętaj, że ustawienia debugowania działają tylko na urządzeniach testowych.
Resetowanie stanu zgody użytkownika
Podczas testowania aplikacji za pomocą pakietu SDK UMP warto zresetować stan pakietu SDK, aby zasymulować pierwszą instalację aplikacji przez użytkownika.
Pakiet SDK udostępnia w tym celu metodę reset().
/**
* Resets consent state for testing purposes.
*/
export function resetConsentState() {
reset();
}