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.
Zaimportuj pakiet SDK
CocoaPods (preferowany)
Najłatwiejszym sposobem zaimportowania pakietu SDK do projektu iOS jest użycie CocoaPods. Otwórz plik Podfile projektu i dodaj ten wiersz do celu aplikacji:
pod 'GoogleUserMessagingPlatform'
Następnie uruchom to polecenie:
pod install --repo-update
Jeśli nie znasz CocoaPods, w artykule Korzystanie z CocoaPods znajdziesz szczegółowe informacje o tym, jak tworzyć i używać plików Podfile.
Swift Package Manager
Pakiet SDK UMP obsługuje też menedżera pakietów Swift. Aby zaimportować pakiet Swift, wykonaj te czynności.
W Xcode zainstaluj pakiet SDK UMP Swift, klikając File > Add Packages... (Plik > Dodaj pakiety...).
W wyświetlonym oknie wyszukaj repozytorium pakietu SDK UMP Swift w GitHubie:
https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git
Wybierz wersję pakietu UMP SDK Swift Package, której chcesz używać. W przypadku nowych projektów zalecamy używanie 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 firmy Apple.
Pobieranie ręczne
Innym sposobem importowania pakietu SDK jest zrobienie tego ręcznie.
Następnie przeciągnij framework do projektu w Xcode, pamiętając, aby w razie potrzeby zaznaczyć opcję Copy items if needed (Kopiuj elementy w razie potrzeby).
Następnie możesz dołączyć framework do dowolnego pliku, używając tego kodu:
Swift
import UserMessagingPlatform
Objective-C
#include <UserMessagingPlatform/UserMessagingPlatform.h>
Dodawanie identyfikatora 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 prosić o aktualizację informacji o stanie zgody użytkownika za pomocą funkcji
requestConsentInfoUpdate(with:completionHandler:)
. 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.
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 komunikatu dotyczącego prywatności
Po uzyskaniu najbardziej aktualnego stanu zgody wywołaj funkcję
loadAndPresentIfRequired(from:)
, aby wczytać formularze wymagane do
uzyskania zgody użytkownika. Po wczytaniu formularze są od razu 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 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(with:completionHandler:)
sprawdź
UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus
, 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ę.
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 sekcji
UMPPrivacyOptionsRequirementStatus
.
Wyświetlanie formularza opcji prywatności
Gdy użytkownik wejdzie w interakcję z 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];
Wysyłanie próśb o reklamy po uzyskaniu zgody użytkownika
Zanim wyślesz żądanie reklamy, użyj funkcji
UMPConsentInformation.sharedInstance.canRequestAds
, aby sprawdzić, czy masz zgodę użytkownika:
Swift
ConsentInformation.shared.canRequestAds
Objective-C
UMPConsentInformation.sharedInstance.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(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 korzysta ze stanu zgody z poprzedniej sesji aplikacji.
Zapobieganie zbędnym żądaniom reklam
Podczas sprawdzania
UMPConsentInformation.sharedInstance.canRequestAds
po uzyskaniu zgody i po wywołaniu
requestConsentInfoUpdate(with:completionHandler:)
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(with:completionHandler:)
. 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:
<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ę
UMPDebugSettings().testDeviceIdentifiers
i przekazywać do niej 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 lub Wielkiej Brytanii, 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
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
.
Swift
ConsentInformation.shared.reset()
Objective-C
[UMPConsentInformation.sharedInstance reset];
Przykłady w GitHubie
Pełny przykład integracji pakietu SDK UMP, o którym mowa na tej stronie, znajdziesz w tym artykule: