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.
Więcej informacji znajdziesz w artykule Prywatność i wyświetlanie wiadomości.Importowanie pakietu SDK
Zalecane: użyj Swift Package Managera
Aby zaimportować pakiet Swift pakietu SDK UMP, wykonaj te czynności:
W Xcode zainstaluj pakiet Swift pakietu SDK UMP, klikając File > Add Packages… (Plik > Dodaj pakiety…).
W wyświetlonym oknie wyszukaj repozytorium GitHub pakietu Swift pakietu SDK UMP:
https://github.com/googleads/swift-package-manager-google-user-messaging-platform.gitWybierz wersję pakietu Swift SDK UMP, którego chcesz użyć. W przypadku nowych projektów zalecamy użycie opcji Do następnej wersji głównej.
Xcode przetworzy zależności pakietu i pobierze je w tle. Więcej informacji o dodawaniu zależności pakietów znajdziesz w artykule Apple.
Pobieranie ręczne
Innym sposobem importowania pakietu SDK jest zrobienie tego ręcznie.
Następnie przeciągnij platformę do projektu Xcode, upewniając się, że w razie potrzeby zaznaczysz opcję Copy items if needed (Kopiuj elementy w razie potrzeby).

Następnie możesz dołączyć platformę do dowolnego pliku, używając:
Swift
import UserMessagingPlatform
Objective-C
#include <UserMessagingPlatform/UserMessagingPlatform.h>
CocoaPods
Aby używać CocoaPods, otwórz plik Podfile projektu i dodaj ten wiersz do celu aplikacji:
pod 'GoogleUserMessagingPlatform'
Następnie uruchom to polecenie:
pod install --repo-updateJeśli nie masz doświadczenia z CocoaPods, zapoznaj się z artykułem Korzystanie z CocoaPods, aby dowiedzieć się, jak tworzyć i używać plików Podfile.
Dodaj identyfikator aplikacji.
Identyfikator aplikacji znajdziesz w interfejsie AdMob.
Dodaj identyfikator do pliku Info.plist za pomocą tego fragmentu kodu:
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>
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(with:completionHandler:). 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.
Swift
// Requesting an update to consent information should be called on every app launch.
ConsentInformation.shared.requestConsentInfoUpdate(with: parameters) {
requestConsentError in
// ...
}
SwiftUI
// Requesting an update to consent information should be called on every app launch.
ConsentInformation.shared.requestConsentInfoUpdate(with: parameters) {
requestConsentError in
// ...
}
Objective-C
// Requesting an update to consent information should be called on every app launch.
[UMPConsentInformation.sharedInstance
requestConsentInfoUpdateWithParameters:parameters
completionHandler:^(NSError *_Nullable requestConsentError) {
// ...
}];
Wczytywanie i wyświetlanie formularza wiadomości dotyczącej prywatności
Po otrzymaniu najbardziej aktualnego stanu zgody wywołaj metodę
loadAndPresentIfRequired(from:), aby wczytać formularze wymagane do uzyskania zgody użytkownika. Po wczytaniu formularze są natychmiast wyświetlane.
Swift
try await ConsentForm.loadAndPresentIfRequired(from: viewController)
SwiftUI
try await ConsentForm.loadAndPresentIfRequired(from: nil)
Objective-C
[UMPConsentForm
loadAndPresentIfRequiredFromViewController:viewController
completionHandler:^(NSError *_Nullable loadAndPresentError) {
// Consent gathering process is complete.
}];
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(with:completionHandler:) sprawdź
UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus, 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ę.
Swift
var isPrivacyOptionsRequired: Bool {
return ConsentInformation.shared.privacyOptionsRequirementStatus == .required
}
Objective-C
- (BOOL)isPrivacyOptionsRequired {
return UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus ==
UMPPrivacyOptionsRequirementStatusRequired;
}
Pełną listę stanów wymagań dotyczących opcji prywatności znajdziesz w artykule
UMPPrivacyOptionsRequirementStatus.
Wyświetlanie formularza opcji dotyczących prywatności
Gdy użytkownik wejdzie w interakcję z Twoim elementem, wyświetl formularz opcji prywatności:
Swift
try await ConsentForm.presentPrivacyOptionsForm(from: viewController)
SwiftUI
try await ConsentForm.presentPrivacyOptionsForm(from: nil)
Objective-C
[UMPConsentForm presentPrivacyOptionsFormFromViewController:viewController
completionHandler:completionHandler];
Żądanie reklam za zgodą użytkownika
Zanim wyślesz żądanie reklamy, użyj
UMPConsentInformation.sharedInstance.canRequestAds, aby sprawdzić, czy masz zgodę użytkownika:
Swift
ConsentInformation.shared.canRequestAds
Objective-C
UMPConsentInformation.sharedInstance.canRequestAds;
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(with:completionHandler:). 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
UMPConsentInformation.sharedInstance.canRequestAds po uzyskaniu zgody i wywołaniu
requestConsentInfoUpdate(with:completionHandler:), 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(with:completionHandler:). 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:
<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ę
UMPDebugSettings().testDeviceIdentifiersi przekazać listę identyfikatorów urządzeń testowych.Swift
let parameters = RequestParameters() let debugSettings = DebugSettings() debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"] parameters.debugSettings = debugSettings // Include the UMPRequestParameters in your consent request. ConsentInformation.shared.requestConsentInfoUpdate( with: parameters, completionHandler: { error in // ... })Objective-C
UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init]; UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init]; debugSettings.testDeviceIdentifiers = @[ @"TEST-DEVICE-HASHED-ID" ]; parameters.debugSettings = debugSettings; // Include the UMPRequestParameters in your consent request. [UMPConsentInformation.sharedInstance requestConsentInfoUpdateWithParameters:parameters completionHandler:^(NSError *_Nullable error){ // ... }];
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ą geography. Pamiętaj, że ustawienia debugowania działają tylko na urządzeniach testowych.
Swift
let parameters = RequestParameters()
let debugSettings = DebugSettings()
debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"]
debugSettings.geography = .EEA
parameters.debugSettings = debugSettings
// Include the UMPRequestParameters in your consent request.
ConsentInformation.shared.requestConsentInfoUpdate(
with: parameters,
completionHandler: { error in
// ...
})
Objective-C
UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init];
debugSettings.testDeviceIdentifiers = @[ @"TEST-DEVICE-HASHED-ID" ];
debugSettings.geography = UMPDebugGeographyEEA;
parameters.debugSettings = debugSettings;
// Include the UMPRequestParameters in your consent request.
[UMPConsentInformation.sharedInstance
requestConsentInfoUpdateWithParameters:parameters
completionHandler:^(NSError *_Nullable error){
// ...
}];
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.
Swift
ConsentInformation.shared.reset()
Objective-C
[UMPConsentInformation.sharedInstance reset];
Przykłady na GitHubie
Pełny przykład integracji pakietu SDK UMP opisanej na tej stronie znajdziesz w tych artykułach: