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, projenizde ayarlanan AdMob uygulama kimliğinden oluşturulan bir gizlilik mesajı göstermeye çalışır.
Daha fazla bilgi için Gizlilik ve mesajlaşma hakkında başlıklı makaleyi inceleyin.
SDK'yı içe aktarma
CocoaPods (tercih edilen)
SDK'yı bir iOS projesine aktarmanın en kolay yolu CocoaPods'u kullanmaktır. Projenizin Podfile dosyasını açın ve bu satırı uygulamanızın hedefine ekleyin:
pod 'GoogleUserMessagingPlatform'
Ardından, aşağıdaki komutu çalıştırın:
pod install --repo-update
CocoaPods'u ilk kez kullanıyorsanız Podfile oluşturma ve kullanma hakkında ayrıntılı bilgi için CocoaPods'u kullanma başlıklı makaleyi inceleyin.
Swift Package Manager
UMP SDK, Swift Package Manager'ı da destekler. Swift paketini içe aktarmak için aşağıdaki adımları uygulayın.
Xcode'da File > Add Packages... (Dosya > Paket Ekle...) seçeneğine giderek UMP SDK Swift paketini yükleyin.
Görünen istemde UMP SDK Swift Package GitHub deposunu arayın:
https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git
Kullanmak istediğiniz UMP SDK Swift Paketi sürümünü seçin. Yeni projeler için Bir Sonraki Ana Sürüme Kadar'ı kullanmanızı öneririz.
Ardından Xcode, paket bağımlılıklarınızı çözümler ve bunları arka planda indirir. Paket bağımlılıklarını ekleme hakkında daha fazla bilgi için Apple'ın makalesine bakın.
Manuel indirme
SDK'yı içe aktarmanın diğer yolu ise manuel olarak yapmaktır.
Ardından, Copy items if needed seçeneğini belirlediğinizden emin olarak çerçeveyi Xcode projenize sürükleyin.
Ardından, aşağıdaki kodu kullanarak çerçeveyi istediğiniz dosyaya ekleyebilirsiniz:
Swift
import UserMessagingPlatform
Objective-C
#include <UserMessagingPlatform/UserMessagingPlatform.h>
Uygulama kimliğini ekleme
Uygulama kimliğinizi AdMob kullanıcı arayüzünde bulabilirsiniz.
Aşağıdaki kod snippet'iyle kimliği Info.plist
ekleyin:
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>
Kullanıcının izin bilgilerini alma
requestConsentInfoUpdate(with:completionHandler:)
kullanarak her uygulama başlatıldığında kullanıcının izin bilgilerinin güncellenmesini istemelisiniz. Bu istekte aşağıdakiler kontrol edilir:
- İzin gerekip gerekmediği. Örneğin, ilk kez izin isteniyordur veya önceki izin kararı geçerliliğini yitirmiştir.
- 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ştirmelerine izin vermesini gerektirir.
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) {
// ...
}];
Gizlilik mesajı formunu yükleyip sunma
En güncel izin durumunu aldıktan sonra kullanıcı izni almak için gereken formları yüklemek üzere
loadAndPresentIfRequired(from:)
işlevini çağırın. Yüklendikten sonra formlar hemen gösterilir.
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.
}];
Gizlilik seçenekleri
Bazı gizlilik mesajı formları, yayıncı tarafından oluşturulan bir gizlilik seçenekleri giriş noktasından sunulur. Bu sayede kullanıcılar, gizlilik seçeneklerini istedikleri zaman yönetebilir. Kullanıcılarınızın gizlilik seçenekleri giriş noktasında hangi mesajı gördüğü 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(with:completionHandler:)
işlevini çağırdıktan sonra
UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus
işlevini kontrol ederek uygulamanız için gizlilik seçenekleri giriş noktası gerekip gerekmediğini belirleyin. Giriş noktası gerekiyorsa gizlilik seçenekleri formunu sunan görünür ve etkileşimli bir kullanıcı arayüzü öğesini uygulamanıza ekleyin. Gizlilik giriş noktası gerekmiyorsa kullanıcı arayüzü öğenizi görünür ve etkileşimli olmayacak şekilde yapılandırın.
Swift
var isPrivacyOptionsRequired: Bool {
return ConsentInformation.shared.privacyOptionsRequirementStatus == .required
}
Objective-C
- (BOOL)isPrivacyOptionsRequired {
return UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus ==
UMPPrivacyOptionsRequirementStatusRequired;
}
Gizlilik seçenekleri şart durumlarının tam listesi için
UMPPrivacyOptionsRequirementStatus
bölümüne bakın.
Gizlilik seçenekleri formunu sunma
Kullanıcı öğenizle etkileşimde bulunduğunda gizlilik seçenekleri formunu gösterin:
Swift
try await ConsentForm.presentPrivacyOptionsForm(from: viewController)
SwiftUI
try await ConsentForm.presentPrivacyOptionsForm(from: nil)
Objective-C
[UMPConsentForm presentPrivacyOptionsFormFromViewController:viewController
completionHandler:completionHandler];
Kullanıcı izniyle reklam isteğinde bulunma
Reklam isteğinde bulunmadan önce, kullanıcıdan izin alıp almadığınızı kontrol etmek için
UMPConsentInformation.sharedInstance.canRequestAds
kullanın:
Swift
ConsentInformation.shared.canRequestAds
Objective-C
UMPConsentInformation.sharedInstance.canRequestAds;
İzin toplarken reklam isteğinde bulunup bulunamayacağınızı kontrol etmek için aşağıdaki yerlere bakabilirsiniz:
- UMP SDK'sı, mevcut oturumda izin topladıktan sonra.
requestConsentInfoUpdate(with:completionHandler:)
'ı aradıktan hemen sonra UMP SDK, önceki uygulama oturumunda izin almış olabilir.
İzin toplama işlemi sırasında bir hata oluşursa reklam isteğinde bulunup bulunamayacağınızı kontrol edin. UMP SDK, önceki uygulama oturumundaki izin durumunu kullanır.
Gereksiz reklam isteği işlemlerini önleme
Kullanıcı rızasını aldıktan ve
requestConsentInfoUpdate(with:completionHandler:)
işlevini çağırdıktan sonra
UMPConsentInformation.sharedInstance.canRequestAds
işlevini kontrol ederken mantığınızın, her iki kontrolün de true
döndürmesine neden olabilecek gereksiz reklam isteklerini engellediğinden emin olun. Örneğin, bir boolean değişkeniyle.
Test
Geliştirme sürecinde entegrasyonu uygulamanızda test etmek istiyorsanız test cihazınızı programatik olarak kaydetmek için bu adımları uygulayın. Uygulamanızı yayınlamadan önce bu test cihazı kimliklerini ayarlayan kodu kaldırdığınızdan emin olun.
requestConsentInfoUpdate(with:completionHandler:)
Hizmetleri İçin Arayın.Günlük çıktısında, cihaz kimliğinizi ve bunu nasıl test cihazı olarak ekleyeceğinizi gösteren aşağıdaki örneğe benzer bir mesaj olup olmadığını kontrol edin:
<UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
Test cihazı kimliğinizi panoya kopyalayın.
Kodunuzu,
UMPDebugSettings().testDeviceIdentifiers
işlevini çağıracak ve test cihazı kimliklerinizin listesini iletecek şekilde değiştirin.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){ // ... }];
Coğrafya zorlama
UMP SDK, geography
kullanarak uygulamanızın davranışını cihaz AEA veya Birleşik Krallık 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.
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){
// ...
}];
İzin durumunu sıfırlama
Uygulamanızı UMP SDK'sı ile test ederken, kullanıcının ilk yükleme deneyimini simüle edebilmek için SDK'nın durumunu sıfırlamanız faydalı olabilir.
SDK, bunu yapmak için reset
yöntemini sağlar.
Swift
ConsentInformation.shared.reset()
Objective-C
[UMPConsentInformation.sharedInstance reset];
GitHub'daki örnekler
Bu sayfada ele alınan UMP SDK entegrasyonunun tam örneğini