Google Kullanıcı Mesajlaşma Platformu (UMP) SDK'sı, gizlilik tercihlerini yönetmenize yardımcı olan bir gizlilik ve mesajlaşma aracıdır. Daha fazla bilgi için Gizlilik ve Mesajlaşma hakkında başlıklı makaleyi inceleyin.
Mesaj türü oluşturma
AdMob hesabınızın Gizlilik ve Mesajlaşma sekmesindeki Kullanılabilir kullanıcı mesajı türleri'nden birini kullanarak kullanıcı mesajları oluşturun. UMP SDK'sı, projenizde ayarlanan AdMob uygulama kimliğinden oluşturulan bir gizlilik mesajı göstermeye çalışır.
Kullanıcının izin bilgilerini alma
requestConsentInfoUpdate() kullanarak her uygulama başlatıldığında kullanıcının izin bilgilerinin güncellenmesini istemeniz gerekir. Bu istekte aşağıdakiler kontrol edilir:
- İzin gerekip gerekmediği. Örneğin, ilk kez izin alınması gerektiğinde veya önceki izin kararının süresi dolduğunda.
- Gizlilik seçenekleri giriş noktasının gerekli olup olmadığı. Bazı gizlilik mesajları, uygulamaların kullanıcıların gizlilik seçeneklerini istedikleri zaman değiştirmesine izin vermesini gerektirir.
/**
* 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);
});
}
Gizlilik mesajı formunu yükleme ve sunma
En güncel izin durumunu aldıktan sonra, kullanıcı izni almak için gereken formları yüklemek üzere loadAndShowConsentFormIfRequired() yöntemini çağırın. Formlar yüklendikten sonra hemen gösterilir.
/**
* 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?.();
});
}
Gizlilik seçenekleri
Bazı gizlilik mesajı formları, yayıncı tarafından oluşturulan bir gizlilik seçenekleri giriş noktasından sunulur. Böylece kullanıcılar gizlilik seçeneklerini diledikleri zaman yönetebilir. Kullanıcılarınızın gizlilik seçenekleri giriş noktasında hangi mesajı göreceği hakkında daha fazla bilgi edinmek için Mevcut kullanıcı mesajı türleri başlıklı makaleyi inceleyin.
Gizlilik seçenekleri giriş noktasının gerekli olup olmadığını kontrol etme
requestConsentInfoUpdate() yöntemini çağırdıktan sonra, uygulamanız için gizlilik seçenekleri giriş noktası gerekip gerekmediğini belirlemek üzere getPrivacyOptionsRequirementStatus() yöntemini kontrol edin. Giriş noktası gerekiyorsa uygulamanıza gizlilik seçenekleri formunu sunan, görünür ve etkileşimli bir kullanıcı arayüzü öğesi ekleyin. Gizlilik giriş noktası gerekli değilse kullanıcı arayüzü öğenizi görünür ve etkileşimli olmayacak şekilde yapılandırın.
/**
* Helper to determine if the privacy options entry point is required.
*/
export function isPrivacyOptionsRequired(): boolean {
return (
getPrivacyOptionsRequirementStatus() ===
PrivacyOptionsRequirementStatus.REQUIRED
);
}
Gizlilik seçenekleri koşul durumlarının tam listesi için
sayfasına bakın.PrivacyOptionsRequirementStatus
Gizlilik seçenekleri formunu gösterme
Kullanıcı öğenizle etkileşimde bulunduğunda gizlilik seçenekleri formunu gösterin:
/**
* 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} />;
}
Kullanıcı rızasıyla reklam isteğinde bulunma
Reklam isteğinde bulunmadan önce
kullanarak kullanıcıdan izin alıp almadığınızı kontrol edin: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);
});
}
}
}
Kullanıcı rızası alırken reklam isteğinde bulunup bulunamayacağınızı kontrol edebileceğiniz yerler aşağıda listelenmiştir:
- UMP SDK'sı mevcut oturumda izin aldıktan sonra.
requestConsentInfoUpdate()yöntemini çağırdıktan hemen sonra. UMP SDK, önceki uygulama oturumunda izin almış olabilir.
İzin alma işlemi sırasında bir hata oluşursa reklam isteyip isteyemeyeceğinizi kontrol edin. UMP SDK'sı, önceki uygulama oturumundaki izin durumunu kullanır.
Gereksiz reklam isteği işlemlerini önleme
İzin aldıktan ve requestConsentInfoUpdate() yöntemini çağırdıktan sonra
değerini kontrol ederken mantığınızın, her iki kontrolün de canRequestAds()true değerini döndürmesine neden olabilecek gereksiz reklam isteklerini engellediğinden emin olun. Örneğin, boole değişkeniyle.
Test
Uygulamanızı geliştirirken entegrasyonu test etmek istiyorsanız test cihazınızı programatik olarak kaydetmek için aşağıdaki adımları uygulayın. Uygulamanızı yayınlamadan önce bu test cihazı kimliklerini ayarlayan kodu kaldırdığınızdan emin olun.
requestConsentInfoUpdate()Hizmetleri İçin Arayın.Günlük çıkışında, cihaz kimliğinizi ve cihazınızı test cihazı olarak nasıl ekleyeceğinizi gösteren aşağıdaki örneğe benzer bir mesaj olup olmadığını kontrol edin:
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]Test cihazı kimliğinizi panonuza kopyalayın.
Kodunuzu
consentDebugSettings.testDeviceIdentifiersyöntemini çağıracak ve test cihazı kimliklerinizin listesini iletecek şekilde değiştirin.
Coğrafi konumu zorunlu kılma
UMP SDK'sı, DebugGeography kullanarak uygulamanızın davranışını cihaz Avrupa Ekonomik Alanı (AEA), Birleşik Krallık ve İsviçre gibi çeşitli bölgelerdeymiş gibi test etmenizi sağlar. Hata ayıklama ayarlarının yalnızca test cihazlarında çalıştığını unutmayın.
İzin durumunu sıfırlama
Uygulamanızı UMP SDK ile test ederken, bir kullanıcının ilk yükleme deneyimini simüle edebilmek için SDK'nın durumunu sıfırlamanın faydalı olabileceğini görebilirsiniz.
SDK, bunu yapmak için reset() yöntemini sağlar.
/**
* Resets consent state for testing purposes.
*/
export function resetConsentState() {
reset();
}