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
AdMob hesabınızın Gizlilik ve mesajlaşma sekmesinde bulunan Kullanılabilir kullanıcı mesajı türlerinden 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.
Daha fazla bilgi için Gizlilik ve mesajlaşma hakkında başlıklı makaleyi inceleyin.
İzin alma
İzin almak için aşağıdaki adımları uygulayın:
- En son kullanıcı rızası bilgilerini isteyin.
- Gerekirse bir izin formu yükleyip gösterin.
Rıza bilgisi isteği
Update()
kullanarak her uygulama lansmanında kullanıcının rıza bilgilerinin güncellenmesini istemelisiniz. 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.
Gerekirse gizlilik mesajı formu yükleyip gösterin
En güncel izin durumunu aldıktan sonra, kullanıcı iznini almak için gereken tüm formları yüklemek üzere LoadAndShowConsentFormIfRequired()
işlevini çağırın. Formlar yüklendikten sonra hemen gösterilir.
Aşağıdaki kodda, kullanıcının en son izin bilgilerinin nasıl isteneceği gösterilmektedir. Gerekirse kod, bir gizlilik mesajı formu yükler ve gösterir:
void Start()
{
// Create a ConsentRequestParameters object.
ConsentRequestParameters request = new ConsentRequestParameters();
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
void OnConsentInfoUpdated(FormError consentError)
{
if (consentError != null)
{
// Handle the error.
UnityEngine.Debug.LogError(consentError);
return;
}
// If the error is null, the consent information state was updated.
// You are now ready to check if a form is available.
ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
{
if (formError != null)
{
// Consent gathering failed.
UnityEngine.Debug.LogError(consentError);
return;
}
// Consent has been gathered.
});
}
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 Kullanılabilir kullanıcı mesajı türleri bölümüne göz atın.
Gizlilik seçenekleri giriş noktası uygulamak için aşağıdaki adımları tamamlayın:
Update()
işlevini çağırdıktan sonra, gizlilik seçenekleri giriş noktası gerekip gerekmediğini belirlemek içinPrivacyOptionsRequirementStatus
seçeneğini işaretleyin.- Gerekirse gizlilik seçenekleri giriş noktası olarak hizmet verecek şekilde uygulamanıza 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.
ShowPrivacyOptionsForm()
kullanarak gizlilik seçenekleri formunu gösterin.
Aşağıdaki kod örneğinde bu adımlar gösterilmektedir:
[SerializeField, Tooltip("Button to show the privacy options form.")]
private Button _privacyButton;
private void Start()
{
// Enable the privacy settings button.
if (_privacyButton != null)
{
_privacyButton.onClick.AddListener(UpdatePrivacyButton);
// Disable the privacy settings button by default.
_privacyButton.interactable = false;
}
}
/// <summary>
/// Shows the privacy options form to the user.
/// </summary>
public void ShowPrivacyOptionsForm()
{
Debug.Log("Showing privacy options form.");
ConsentForm.ShowPrivacyOptionsForm((FormError showError) =>
{
if (showError != null)
{
Debug.LogError("Error showing privacy options form with error: " + showError.Message);
}
// Enable the privacy settings button.
UpdatePrivacyButton();
});
}
/// <summary>
/// Updates the privacy buttons visual state based on the consent information.
/// </summary>
void UpdatePrivacyButton()
{
if (_privacyButton != null)
{
_privacyButton.interactable =
ConsentInformation.PrivacyOptionsRequirementStatus ==
PrivacyOptionsRequirementStatus.Required;
}
}
Reklam isteğinde bulun
Uygulamanızda reklam istemeden önce
CanRequestAds()
kullanarak kullanıcıdan izin alıp almadığınızı kontrol edin. İzin alırken kontrol edilmesi gereken iki yer vardır:
- Mevcut oturumda izin alındıktan sonra.
Update()
'ü aradıktan hemen sonra. Önceki oturumda izin alınmış olabilir. Gecikmeyle ilgili en iyi uygulamalardan biri olarak, geri çağırma işleminin tamamlanmasını beklememenizi öneririz. Böylece, uygulamanız kullanıma sunulduktan hemen sonra reklamları yüklemeye başlayabilirsiniz.
false
değerini döndürür
İzin toplama sürecinde bir hata oluşursa reklam isteğinde bulunup bulunamayacağınızı yine de kontrol etmeniz gerekir. UMP SDK'sı önceki oturumdaki izin durumunu kullanır.
void Start()
{
// Create a ConsentRequestParameters object.
ConsentRequestParameters request = new ConsentRequestParameters();
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
void OnConsentInfoUpdated(FormError consentError)
{
if (consentError != null)
{
// Handle the error.
UnityEngine.Debug.LogError(consentError);
return;
}
// If the error is null, the consent information state was updated.
// You are now ready to check if a form is available.
ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
{
if (formError != null)
{
// Consent gathering failed.
UnityEngine.Debug.LogError(consentError);
return;
}
// Consent has been gathered.
if (ConsentInformation.CanRequestAds())
{
MobileAds.Initialize((InitializationStatus initstatus) =>
{
// TODO: Request an ad.
});
}
});
}
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 oluşturan kodu kaldırdığınızdan emin olun.
Update()
Hizmetleri İçin Arayın.Günlük çıkışında, cihaz kimliğinizi ve test cihazı olarak nasıl ekleyeceğinizi gösteren aşağıdaki örneğe benzer bir mesaj olup olmadığını kontrol edin:
Yapay Zeka
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,
DebugGeography.TestDeviceHashedIds
işlevini çağıracak ve test cihazı kimliklerinizin listesini iletecek şekilde değiştirin.void Start() { var debugSettings = new ConsentDebugSettings { TestDeviceHashedIds = new List<string> { "TEST-DEVICE-HASHED-ID" } }; // Create a ConsentRequestParameters object. ConsentRequestParameters request = new ConsentRequestParameters { ConsentDebugSettings = debugSettings, }; // Check the current consent information status. ConsentInformation.Update(request, OnConsentInfoUpdated); }
Coğrafi bölgeyi zorlama
UMP SDK'sı, DebugGeography
kullanarak uygulamanızın davranışını cihaz AEA veya Birleşik Krallık gibi çeşitli bölgelerde bulunuyormuş gibi test etmeniz için bir yöntem sunar. Hata ayıklama ayarlarının yalnızca test cihazlarında çalıştığını unutmayın.
void Start()
{
var debugSettings = new ConsentDebugSettings
{
// Geography appears as in EEA for debug devices.
DebugGeography = DebugGeography.EEA,
TestDeviceHashedIds = new List<string>
{
"TEST-DEVICE-HASHED-ID"
}
};
// Create a ConsentRequestParameters object.
ConsentRequestParameters request = new ConsentRequestParameters
{
ConsentDebugSettings = debugSettings,
};
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
İzin durumunu sıfırla
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.
ConsentInformation.Reset();
GitHub'daki örnekler
Bu sayfada ele alınan UMP SDK entegrasyonunun tam örneğini HelloWorld'de bulabilirsiniz.