Başlama

Google Kullanıcı Mesajlaşma Platformu (UMP) SDK'sı, gizlilik seçeneklerini 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

Ad Manager hesabınızın Gizlilik ve mesajlaşma sekmesindeki Kullanılabilir kullanıcı mesajı türlerinden birini kullanarak kullanıcı mesajları oluşturun. UMP SDK'sı, projenizde ayarlanan Ad Manager 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 edilir)

SDK'yı iOS projesine içe aktarmanın en kolay yolu CocoaPods'u kullanmaktır. Projenizin Podfile dosyasını açın ve aşağıdaki 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 kullanmaya yeni başladıysanız Pod dosyalarını 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'sı, Swift Package Manager'ı da destekler. Swift paketini içe aktarmak için aşağıdaki adımları uygulayın.

  1. Xcode'da Dosya > Paket Ekle...'ye giderek UMP SDK Swift Paketi'ni yükleyin.

  2. Görünen istemde UMP SDK Swift Paketi GitHub deposunu arayın:

    https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git
    
  3. Kullanmak istediğiniz UMP SDK Swift paketinin sürümünü seçin. Yeni projeler için Sonraki Büyük Sürüme Kadar seçeneğini kullanmanızı öneririz.

Ardından Xcode, paket bağımlılıklarınıza çözüm bulur ve bunları arka planda indirir. Paket bağımlılıkları ekleme hakkında daha fazla bilgi için Apple'ın makalesine bakın.

Manuel indirme

SDK'yı içe aktarmanın diğer yolu manuel olarak içe aktarmaktır.

SDK'yı indirin

Ardından, Gerekirse öğeleri kopyala'yı seçerek çerçeveyi Xcode projenize sürükleyin.

Ardından, aşağıdakileri kullanarak çerçeveyi ihtiyacınız olan herhangi bir dosyaya dahil edebilirsiniz:

Swift

import UserMessagingPlatform

Objective-C

#include <UserMessagingPlatform/UserMessagingPlatform.h>

Uygulama kimliğini ekleme

Uygulama kimliğinizi Ad Manager kullanıcı arayüzünde bulabilirsiniz. Aşağıdaki kod snippet'ini kullanarak kimliği Info.plist'inize ekleyin:

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>

requestConsentInfoUpdate(with:completionHandler:) kullanarak her uygulama başlatıldığında kullanıcının izin bilgilerinin güncellenmesini istemeniz gerekir. Bu istek aşağıdakileri kontrol eder:

  • İzin gerekip gerekmediği. Örneğin, ilk kez izin verilmesi gerekiyor veya önceki izin kararının süresi dolmuş.
  • Gizlilik seçenekleri giriş noktası gerekip gerekmediği. Bazı gizlilik mesajları, uygulamaların kullanıcıların gizlilik seçeneklerini istedikleri zaman değiştirmelerine izin vermesini zorunlu kılar.

Swift


// Requesting an update to consent information should be called on every app launch.
UMPConsentInformation.sharedInstance.requestConsentInfoUpdate(with: parameters) {
  requestConsentError in
  // ...
}

SwiftUI


// Requesting an update to consent information should be called on every app launch.
UMPConsentInformation.sharedInstance.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 gösterme

En güncel izin durumunu aldıktan sonra, kullanıcı iznini almak için gereken tüm formları yüklemek üzere loadAndPresentIfRequired(from:) işlevini çağırın. Formlar yüklendikten sonra hemen gösterilir.

Swift


try await UMPConsentForm.loadAndPresentIfRequired(from: viewController)

SwiftUI


try await UMPConsentForm.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 gördüğü mesaj hakkında daha fazla bilgi edinmek için Mevcut kullanıcı mesajı türleri bölümüne bakın.

Gizlilik seçenekleri giriş noktası gerekip gerekmediğini kontrol etme

requestConsentInfoUpdate(with:completionHandler:) işlevini çağırdıktan sonra, uygulamanız için gizlilik seçenekleri giriş noktası gerekip gerekmediğini belirlemek üzere UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus işlevini kontrol edin. Giriş noktası gerekiyorsa uygulamanıza gizlilik seçenekleri formunu gösteren 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ünmez ve etkileşime açık olmayacak şekilde yapılandırın.

Swift


var isPrivacyOptionsRequired: Bool {
  return UMPConsentInformation.sharedInstance.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 gösterme

Kullanıcı öğenizle etkileşimde bulunduğunda gizlilik seçenekleri formunu gösterin:

Swift


try await UMPConsentForm.presentPrivacyOptionsForm(from: viewController)

SwiftUI


try await UMPConsentForm.presentPrivacyOptionsForm(from: nil)

Objective-C


[UMPConsentForm presentPrivacyOptionsFormFromViewController:viewController
                                          completionHandler:completionHandler];

Kullanıcı izniyle reklam isteme

Reklam isteğinde bulunmadan önce, kullanıcıdan izin alıp almadığınızı kontrol etmek için UMPConsentInformation.sharedInstance.canRequestAds öğesini kullanın:

Swift

UMPConsentInformation.sharedInstance.canRequestAds

Objective-C

UMPConsentInformation.sharedInstance.canRequestAds;

İzin alırken reklam isteyip isteyemeyeceğinizi kontrol edebileceğiniz yerler aşağıda listelenmiştir:

İzin toplama işlemi sırasında hata oluşursa reklam isteyip isteyemediğinizi kontrol edin. UMP SDK'sı, önceki uygulama oturumundaki izin durumunu kullanır.

Gereksiz reklam isteği çalışmalarını önleme

İzin topladıktan ve requestConsentInfoUpdate(with:completionHandler:) işlevini çağırdıktan sonra UMPConsentInformation.sharedInstance.canRequestAds değerini 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 boole değişkeni ile.

Test

Uygulamanızı geliştirirken entegrasyonu test etmek istiyorsanız test cihazınızı programatik olarak kaydettirmek 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.

  1. requestConsentInfoUpdate(with:completionHandler:) Hizmetleri İçin Arayın.
  2. 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:

    <UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
    
  3. Test cihazı kimliğinizi panonuza kopyalayın.

  4. Kodunuzu, UMPDebugSettings().testDeviceIdentifiers işlevini çağıracak ve test cihazı kimliklerinizin listesini iletecek şekilde değiştirin.

    Swift

    let parameters = UMPRequestParameters()
    let debugSettings = UMPDebugSettings()
    
    debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"]
    parameters.debugSettings = debugSettings
    
    // Include the UMPRequestParameters in your consent request.
    UMPConsentInformation.sharedInstance.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ğrafi bölgeyi zorlama

UMP SDK'sı, 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 = UMPRequestParameters()
let debugSettings = UMPDebugSettings()

debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"]
debugSettings.geography = .EEA
parameters.debugSettings = debugSettings

// Include the UMPRequestParameters in your consent request.
UMPConsentInformation.sharedInstance.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){
                           // ...
}];

Uygulamanızı UMP SDK'sıyla test ederken, kullanıcının ilk yükleme deneyimini simüle edebilmek için SDK'nın durumunu sıfırlamanın yararlı olabileceğini görebilirsiniz. SDK, bunu yapmak için reset yöntemini sağlar.

Swift

UMPConsentInformation.sharedInstance.reset()

Objective-C

[UMPConsentInformation.sharedInstance reset];

GitHub'daki örnekler

Bu sayfada ele alınan UMP SDK entegrasyonunun tam örneğini