Bu belgede, kullanım alanınıza göre uygulamanız için uygun tanımlayıcıları seçme konusunda rehberlik sağlanmaktadır.
Android izinlerine genel bir bakış için İzinlere genel bakış başlıklı makaleyi inceleyin. Android izinleriyle çalışma konusunda en iyi uygulamalar için Uygulama izinleriyle ilgili en iyi uygulamalar başlıklı makaleyi inceleyin.
Android tanımlayıcılarıyla çalışmayla ilgili en iyi uygulamalar
Kullanıcılarınızın gizliliğini korumak için uygulamanızın kullanım alanını karşılayan en kısıtlayıcı tanımlayıcıyı kullanın. Özellikle şu en iyi uygulamaları deneyin:
- Mümkün olduğunda kullanıcı tarafından sıfırlanabilen tanımlayıcıları seçin. Uygulamanız, sıfırlanamayan donanım kimlikleri dışındaki tanımlayıcıları kullandığında bile kullanım alanlarının çoğunu karşılayabilir.
Donanım tanımlayıcıları kullanmaktan kaçının. Çoğu kullanım alanında, gerekli işlevleri sınırlamadan Uluslararası Mobil Cihaz Kimliği (IMEI) gibi donanım tanımlayıcılarını kullanmaktan kaçınabilirsiniz.
Android 10 (API düzeyi 29), IMEI ve seri numarası da dahil olmak üzere sıfırlanamayan tanımlayıcılarla ilgili kısıtlamalar ekler. Uygulamanızın bu tanımlayıcılara erişebilmesi için cihaz veya profil sahibi uygulaması olması, özel operatör izinlerine sahip olması ya da
READ_PRIVILEGED_PHONE_STATE
ayrıcalıklı iznini almış olması gerekir.Kullanıcı profili oluşturma veya reklam kullanım alanları için yalnızca bir reklam kimliği kullanın. Reklam kimliği kullanırken her zaman kullanıcıların reklam izlemeyle ilgili seçimlerine saygı gösterin. Reklam tanımlayıcısını kimliği tanımlayabilecek bilgilerle ilişkilendirmeniz gerekiyorsa bunu yalnızca kullanıcının açık izniyle yapın.
Reklam kimliği sıfırlamaları arasında köprü oluşturmayın.
Ödeme sahtekarlığını önleme ve telefon görüşmesi dışında, mümkün olan her durumda diğer tüm kullanım alanları için Firebase yükleme kimliği (FID) veya özel olarak depolanmış bir GUID kullanın. Reklam dışı kullanım alanlarının büyük çoğunluğunda FID veya GUID yeterli olmalıdır.
Gizlilik riskini en aza indirmek için kullanım alanınıza uygun API'leri kullanın. Yüksek değerli içeriklerin korunması için DRM API'yi, kötüye kullanıma karşı koruma için ise Play Integrity API'lerini kullanın. Play Integrity API'leri, gizlilik riski olmadan bir cihazın orijinal olup olmadığını belirlemenin en kolay yoludur.
Bu kılavuzun geri kalan bölümlerinde, bu kurallar Android uygulamaları geliştirme bağlamında ayrıntılı olarak açıklanmaktadır.
Reklam kimlikleriyle çalışma
Reklam kimliği, kullanıcı tarafından sıfırlanabilen bir tanımlayıcıdır ve reklam kullanım alanları için uygundur. Ancak bu kimliği kullanırken aklınızda bulundurmanız gereken bazı önemli noktalar vardır:
Kullanıcının reklam kimliğini sıfırlama isteğine her zaman saygı gösterin. Kullanıcının izni olmadan sonraki reklam kimliklerini birbirine bağlamak için başka bir tanımlayıcı veya parmak izi kullanarak kullanıcı sıfırlamalarını köprülemeyin. Google Play Geliştirici İçerik Politikası'nda şunlar belirtilir:
"...sıfırlanırsa kullanıcının açık izni olmadan yeni bir reklam kimliği bir önceki reklam kimliğiyle veya önceki reklam kimliğinden türetilen verilerle ilişkilendirilmemelidir."
İlişkili kişiselleştirilmiş reklamlar işaretine her zaman uyun. Reklam kimlikleri, kullanıcıların kimlikle ilişkili izleme miktarını sınırlayabileceği şekilde yapılandırılabilir. Kullanıcılarınızın isteklerini göz ardı etmediğinizden emin olmak için her zaman AdvertisingIdClient.Info.isLimitAdTrackingEnabled()
yöntemini kullanın. Google Play Geliştirici İçerik Politikası'nda şunlar belirtilir:
"...kullanıcının "İlgi alanına dayalı reklamları devre dışı bırak" veya "Reklam Kişiselleştirme'yi kapat" ayarına uymanız gerekir. Bir kullanıcı bu ayarı etkinleştirmişse, reklam amaçlı olarak veya kişiselleştirilmiş reklamlarla kullanıcıları hedeflemek için kullanıcı profilleri oluşturmak üzere reklam kimliğini kullanamazsınız. İzin verilen etkinlikler; içeriğe dayalı reklamcılık, sıklık sınırı, dönüşüm izleme, rapor gönderme, güvenlik ve sahtekarlık algılamasını içerir."
Kullandığınız SDK'larla ilişkili ve reklam kimliği kullanımıyla ilgili tüm gizlilik veya güvenlik politikalarına dikkat edin.
Örneğin, Google Analytics SDK'sından enableAdvertisingIdCollection()
yöntemine true
değerini iletiyorsanız geçerli tüm Analytics SDK politikalarını incelediğinizden ve bunlara uyduğunuzdan emin olun.
Ayrıca, Google Play Geliştirici İçerik Politikası'nın, reklam kimliğinin "kimliği tanımlayabilecek bilgilerle bağlantılı hale getirilmemesi veya kalıcı cihaz tanımlayıcılarla (örneğin: SSAID, MAC adresi, IMEI vb.) ilişkilendirilmemesi" gerektiğini belirttiğini de unutmayın.
Örneğin, veritabanı tablolarını aşağıdaki sütunlarla doldurmak için bilgi toplamak istediğinizi varsayalım:
TABLE-01 | |||
timestamp |
ad_id |
account_id |
clickid |
TABLE-02 | |||
account_id |
name |
dob |
country |
Bu örnekte, her iki tablodaki account_id
sütunu aracılığıyla ad_id
sütunu KDS ile birleştirilebilir. Kullanıcılarınızdan açık izin almadıysanız bu durum Google Play Geliştirici İçerik Politikası'nın ihlali olur.
Reklamveren kimliği ile kimliği tanımlayabilecek bilgiler arasındaki bağlantıların her zaman bu kadar açık olmadığını unutmayın. Hem kimliği tanımlayabilecek bilgiler hem de reklam kimliği anahtarlı tablolarda görünen ve sorunlara da neden olan "yarı tanımlayıcılar" olabilir. Örneğin, TABLE-01 ve TABLE-02'yi aşağıdaki gibi değiştirdiğimizi varsayalım:
TABLE-01 | ||||
timestamp |
ad_id |
clickid |
dev_model |
|
TABLE-02 | ||||
timestamp |
demo |
account_id |
dev_model |
name |
Bu durumda, yeterince nadir tıklama etkinlikleriyle, etkinliğin zaman damgası ve cihaz modeli kullanılarak TABLE-01'deki reklamveren kimliği ile TABLE-02'deki kimliği tanımlayabilecek bilgiler arasında yine de birleştirme yapmak mümkündür.
Bir veri kümesinde bu tür yarı tanımlayıcıların bulunmadığını garanti etmek genellikle zor olsa da mümkün olduğunda benzersiz verileri genelleştirerek en belirgin birleştirme risklerini önleyebilirsiniz. Önceki örnekte bu, zaman damgasının doğruluğunu azaltarak aynı modele sahip birden fazla cihazın her zaman damgası için görünmesi anlamına gelir.
Diğer çözümler şunlardır:
Kimliği tanımlayabilecek bilgileri reklam kimlikleriyle açıkça bağlayan tablolar tasarlamama. Yukarıdaki ilk örnekte bu, TABLO-01'e
account_id
sütununun dahil edilmemesi anlamına gelir.Reklam kimliği anahtarlı verilerin ve kimliği tanımlayabilecek bilgilerin (PII) her ikisine de erişimi olan kullanıcılar veya roller için erişim kontrol listelerini ayırma ve izleme. Her iki kaynağa aynı anda erişme özelliğini sıkı bir şekilde kontrol edip denetleyerek (örneğin, tablolar arasında birleştirme işlemi yaparak) Reklam Kimliği ile kimliği tanımlayabilecek bilgiler arasındaki ilişkilendirme riskini azaltırsınız. Genel olarak erişimi kontrol etmek için aşağıdakileri yapmanız gerekir:
- Reklamveren kimliğiyle anahtarlanmış veriler ve kimliği tanımlayabilecek bilgiler için erişim kontrol listelerini (EKL'ler) ayrı tutarak her iki EKL'de de bulunan kişi veya rol sayısını en aza indirin.
- Bu kuraldaki istisnaları tespit edip yönetmek için erişim günlüğü kaydını ve denetlemeyi uygulayın.
Reklam kimlikleriyle sorumlu bir şekilde çalışma hakkında daha fazla bilgi için AdvertisingIdClient
API referansına bakın.
FID'ler ve GUID'lerle çalışma
Bir cihazda çalışan uygulama örneğini tanımlamanın en basit çözümü Firebase kurulum kimliğini (FID) kullanmaktır. Bu çözüm, reklam dışı kullanım alanlarının çoğunda önerilir. Bu tanımlayıcıya yalnızca sağlandığı uygulama örneği erişebilir ve yalnızca uygulama yüklü olduğu sürece kalıcı olduğundan (nispeten) kolayca sıfırlanabilir.
Sonuç olarak, FID'ler sıfırlanamayan, cihaz kapsamlı donanım kimliklerine kıyasla daha iyi gizlilik özellikleri sunar. Daha fazla bilgi için
firebase.installations
API referansına bakın.
FID'nin pratik olmadığı durumlarda, bir uygulama örneğini benzersiz şekilde tanımlamak için özel genel olarak benzersiz kimlikler (GUID'ler) de kullanabilirsiniz. Bunu yapmanın en basit yolu, aşağıdaki kodu kullanarak kendi GUID'nizi oluşturmaktır:
Kotlin
var uniqueID = UUID.randomUUID().toString()
Java
String uniqueID = UUID.randomUUID().toString();
Tanımlayıcı genel olarak benzersiz olduğundan belirli bir uygulama örneğini tanımlamak için kullanılabilir. Tanımlayıcının uygulamalar arasında bağlanmasıyla ilgili endişeleri önlemek için mağaza GUID'lerini harici (paylaşılan) depolama alanı yerine dahili depolama alanında saklayın. Daha fazla bilgi için Veri ve dosya depolamaya genel bakış sayfasını inceleyin.
MAC adresleriyle çalışmaz
MAC adresleri global olarak benzersizdir, kullanıcı tarafından sıfırlanamaz ve fabrika ayarlarına sıfırlama işleminden etkilenmez. Bu nedenlerle, kullanıcı gizliliğini korumak için Android'in 6. ve sonraki sürümlerinde MAC adreslerine erişim sistem uygulamalarıyla kısıtlanmıştır. Üçüncü taraf uygulamaları bu verilere erişemez.
Android 11'de MAC adresi kullanılabilirliğindeki değişiklikler
Android 11 ve sonraki sürümleri hedefleyen uygulamalarda, Passpoint ağları için MAC adresi rastgele hale getirme işlemi Passpoint profili başına yapılır ve aşağıdaki alanlara göre benzersiz bir MAC adresi oluşturulur:
- Tam nitelikli alan adı (FQDN)
- Realm
- Passpoint profilinde kullanılan kimlik bilgisine dayalı kimlik bilgisi:
- Kullanıcı kimlik bilgisi: kullanıcı adı
- Sertifika kimlik bilgisi: sertifika ve sertifika türü
- SIM kimlik bilgisi: EAP türü ve IMSI
Ayrıca, ayrıcalıklı olmayan uygulamalar cihazın MAC adresine erişemez. Yalnızca IP adresi olan ağ arayüzleri görünür. Bu durum, getifaddrs()
ve NetworkInterface.getHardwareAddress()
yöntemlerinin yanı sıra RTM_GETLINK
Netlink iletilerinin gönderilmesini etkiler.
Uygulamaların bu değişiklikten etkilenme şekillerinin listesi aşağıda verilmiştir:
NetworkInterface.getHardwareAddress()
her arayüz için null değerini döndürür.- Uygulamalar,
NETLINK_ROUTE
yuvalarındabind()
işlevini kullanamaz. ip
komutu, arayüzlerle ilgili bilgi döndürmez.- Uygulamalar
RTM_GETLINK
mesajları gönderemez.
Çoğu geliştiricinin ConnectivityManager
'nin daha üst düzey API'lerini kullanması gerektiğini, NetworkInterface
, getifaddrs()
veya Netlink soketleri gibi daha düşük düzey API'leri kullanmaması gerektiğini unutmayın. Örneğin, mevcut rotalarla ilgili güncel bilgilere ihtiyaç duyan bir uygulama, ConnectivityManager.registerNetworkCallback()
kullanarak ağ değişikliklerini dinleyip ağın ilişkili LinkProperties.getRoutes()
'ını çağırarak bu bilgilere ulaşabilir.
Tanımlayıcı özellikleri
Android işletim sistemi, farklı davranış özelliklerine sahip çeşitli kimlikler sunar. Hangi kimliği kullanmanız gerektiği, aşağıdaki özelliklerin kullanım alanınızla nasıl çalıştığına bağlıdır. Bu özelliklerin gizlilikle ilgili etkileri de vardır. Bu nedenle, bu özelliklerin birbiriyle nasıl etkileşimde bulunduğunu anlamak önemlidir.
Kapsam
Tanımlayıcı kapsamı, hangi sistemlerin tanımlayıcıya erişebileceğini açıklar. Android tanımlayıcı kapsamı genellikle üç farklı şekilde sunulur:
- Tek uygulama: Kimlik, uygulama içinde geçerlidir ve diğer uygulamalar tarafından erişilemez.
- Uygulama grubu: Kimliğe, önceden tanımlanmış bir grup ilgili uygulama erişebilir.
- Cihaz: Kimliğe, cihaza yüklenen tüm uygulamalar erişebilir.
Bir tanımlayıcıya verilen kapsam ne kadar geniş olursa izleme amacıyla kullanılma riski de o kadar artar. Aksine, bir tanımlayıcıya yalnızca tek bir uygulama örneği erişebiliyorsa farklı uygulamalardaki işlemler arasında bir cihazı izlemek için kullanılamaz.
Sıfırlanabilirlik ve kalıcılık
Sıfırlanabilirlik ve kalıcılık, tanımlayıcının kullanım ömrünü tanımlar ve nasıl sıfırlanabileceğini açıklar. Sık karşılaşılan sıfırlama tetikleyicileri arasında uygulama içi sıfırlamalar, Sistem Ayarları üzerinden sıfırlamalar, başlatma sırasında sıfırlamalar ve yükleme sırasında sıfırlamalar yer alır. Android tanımlayıcılarının kullanım ömrü değişebilir ancak kullanım ömrü genellikle kimliğin nasıl sıfırlandığıyla ilgilidir:
- Yalnızca oturum: Kullanıcı uygulamayı her yeniden başlattığında yeni bir kimlik kullanılır.
- Yükleme sıfırlama: Kullanıcı uygulamayı her kaldırıp yeniden yüklediğinde yeni bir kimlik kullanılır.
- Fabrika verilerine sıfırlama: Kullanıcı cihazı her fabrika ayarlarına sıfırladığında yeni bir kimlik kullanılır.
- FDR-persistent: Kimlik, fabrika ayarlarına sıfırlama işleminden sonra da kullanılabilir.
Sıfırlanabilirlik, kullanıcıların mevcut profil bilgilerinden ayrılmış yeni bir kimlik oluşturmasına olanak tanır. Fabrika ayarlarına sıfırlama işlemleri arasında kalıcı olanlar gibi tanımlayıcılar ne kadar uzun ve güvenilir bir şekilde kalıcı olursa kullanıcının uzun süreli takibe maruz kalma riski o kadar artar. Tanımlayıcı, uygulama yeniden yüklendiğinde sıfırlanırsa bu durum kalıcılığı azaltır ve tanımlayıcının, uygulama veya Sistem Ayarları'ndan sıfırlanması için açık bir kullanıcı kontrolü olmasa bile sıfırlanmasını sağlar.
Benzersizlik
Benzersizlik, çakışma olasılığını (yani ilişkili kapsamda aynı tanımlayıcıların bulunma olasılığını) belirler. En üst düzeyde, genel olarak benzersiz bir tanımlayıcı, diğer cihazlarda veya uygulamalarda bile hiçbir zaman çakışmaz.
Aksi takdirde, benzersizlik düzeyi tanımlayıcının entropisine ve oluşturmak için kullanılan rastgelelik kaynağına bağlıdır. Örneğin, yükleme takvim tarihiyle (ör. 2019-03-01
) başlatılan rastgele tanımlayıcılarda çakışma olasılığı, yüklemenin Unix zaman damgasıyla (ör. 1551414181
) başlatılan tanımlayıcılara göre çok daha yüksektir.
Genel olarak, kullanıcı hesabı tanımlayıcıları benzersiz kabul edilebilir. Yani her cihaz/hesap kombinasyonunun benzersiz bir kimliği vardır. Diğer yandan, bir tanımlayıcı bir popülasyon içinde ne kadar az benzersizse gizlilik koruması o kadar fazla olur. Bunun nedeni, tanımlayıcının tek bir kullanıcıyı izlemek için daha az kullanışlı olmasıdır.
Bütünlük koruması ve inkar edilemezlik
İlişkili cihazın veya hesabın belirli özelliklere sahip olduğunu kanıtlamak için sahtesi zor yapılan veya yeniden oynatılması zor olan bir tanımlayıcı kullanabilirsiniz. Örneğin, cihazın bir spam gönderen tarafından kullanılan sanal cihaz olmadığını kanıtlayabilirsiniz. Sahtesi zor oluşturulan tanımlayıcılar inkar edilemezlik de sağlar. Cihaz, gizli anahtarla bir mesajı imzalarsa mesajın başka birinin cihazından gönderildiğini iddia etmek zorlaşır. İnkar edilemezlik, kullanıcının istediği bir özellik olabilir (ör. ödeme kimlik doğrulaması yaparken) veya istenmeyen bir özellik olabilir (ör. pişman olduğu bir mesaj gönderdiğinde).
Yaygın kullanım alanları ve kullanılacak uygun tanımlayıcı
Bu bölümde, IMEI gibi donanım kimliklerini kullanmaya alternatifler sunulmaktadır. Kullanıcı donanım kimliklerini sıfırlayamadığı ve bu kimlikler cihazla sınırlı olduğu için donanım kimliklerinin kullanılması önerilmez. Çoğu durumda, uygulama kapsamlı bir tanımlayıcı yeterli olacaktır.
Hesaplar
Operatör durumu
Bu durumda uygulamanız, operatör hesabı kullanarak cihazın telefon ve mesajlaşma işlevleriyle etkileşime girer.
Kullanılması önerilen tanımlayıcı: IMEI, IMSI ve Line1
Bu öneri neden gösteriliyor?
Donanım tanımlayıcılarından yararlanmak, operatörle ilgili işlevler için gerekliyse kabul edilebilir. Örneğin, bu tanımlayıcıları kullanarak hücresel operatörler veya SIM yuvaları arasında geçiş yapabilir ya da IP üzerinden SMS iletileri (1. hat için) gönderebilirsiniz. Bu, SIM tabanlı kullanıcı hesapları için geçerlidir. Ancak ayrıcalıklı olmayan uygulamalar için kullanıcı cihazı bilgilerini sunucu tarafında almak üzere hesapla oturum açma özelliğini kullanmanızı öneririz. Bunun bir nedeni, Android 6.0 (API düzeyi 23) ve sonraki sürümlerde bu tanımlayıcıların yalnızca çalışma zamanı izniyle kullanılabilmesidir. Kullanıcılar bu izni devre dışı bırakabilir. Bu nedenle, uygulamanız bu istisnaları sorunsuz bir şekilde işlemelidir.
Mobil abonelik durumu
Bu durumda, uygulama işlevini cihazdaki belirli mobil hizmet abonelikleriyle ilişkilendirmeniz gerekir. Örneğin, cihazın SIM üzerinden mobil aboneliklerine göre belirli premium uygulama özelliklerine erişimi doğrulamanız gerekebilir.
Kullanılması önerilen tanımlayıcı: Cihazda kullanılan SIM'leri tanımlamak için Abonelik Kimliği API.
Abonelik Kimliği, cihazda kullanılan yüklü SIM'leri (fiziksel ve elektronik olanlar dahil) benzersiz şekilde tanımlamak için bir dizin değeri (1'den başlar) sağlar. Uygulamanız, bu kimlik aracılığıyla işlevini belirli bir SIM'in çeşitli abonelik bilgileriyle ilişkilendirebilir. Bu değer, cihaz fabrika ayarlarına sıfırlanmadığı sürece belirli bir SIM için sabittir. Ancak aynı SIM'in farklı cihazlarda farklı abonelik kimliklerine sahip olduğu veya farklı SIM'lerin farklı cihazlarda aynı kimliğe sahip olduğu durumlar olabilir.
Bu öneri neden gösteriliyor?
Bazı uygulamalar şu anda bu amaçla ICC
ID'yi kullanıyor olabilir. ICC ID, dünya genelinde benzersiz ve sıfırlanamayan bir kimlik olduğundan Android 10'dan beri erişim, READ_PRIVILEGED_PHONE_STATE
iznine sahip uygulamalarla sınırlandırılmıştır. Android 11'den itibaren Android, uygulamanın hedef API düzeyinden bağımsız olarak getIccId()
API'si üzerinden ICCID'ye erişimi daha da kısıtladı. Etkilenen uygulamalar bunun yerine abonelik kimliğini kullanmaya geçmelidir.
Tek oturum açma
Bu durumda, uygulamanız tek oturum açma deneyimi sunarak kullanıcıların mevcut bir hesabı kuruluşunuzla ilişkilendirmesine olanak tanır.
Kullanılması önerilen tanımlayıcı: Hesap yöneticisiyle uyumlu hesaplar (ör. Google Hesabı Bağlantısı)
Bu öneri neden gösteriliyor?
Google Hesabı Bağlama, kullanıcıların mevcut Google Hesaplarını uygulamanızla ilişkilendirmesine olanak tanır. Böylece, kuruluşunuzun ürün ve hizmetlerine sorunsuz ve daha güvenli erişim sağlanır. Ayrıca, yalnızca gerekli verileri paylaşmak için özel OAuth kapsamları tanımlayabilirsiniz. Bu sayede, verilerin nasıl kullanıldığını net bir şekilde tanımlayarak kullanıcıların güvenini artırabilirsiniz.
Reklamlar
Hedefleme
Bu durumda uygulamanız, kullanıcılara daha alakalı reklamlar göstermek için kullanıcının ilgi alanlarıyla ilgili bir profil oluşturur.
Kullanılması önerilen tanımlayıcı: Uygulamanızda reklamlar için bir kimlik kullanılıyorsa ve bu kimlik Google Play'e yükleniyor veya Google Play'de yayınlanıyorsa bu kimlik, reklam kimliği olmalıdır.
Bu öneri neden gösteriliyor?
Bu, reklamlarla ilgili bir kullanım alanıdır ve kuruluşunuzun farklı uygulamalarında kullanılabilen bir kimlik gerektirebilir. Bu nedenle, reklam kimliği kullanmak en uygun çözümdür. Kullanıcı tarafından sıfırlanabildiği için Google Play Geliştirici İçerik Politikası uyarınca reklam kimliğinin reklamcılık kullanım alanlarında kullanılması zorunludur.
Uygulamanızda kullanıcı verilerini paylaşıp paylaşmadığınızdan bağımsız olarak, reklam amaçlarıyla topluyor ve kullanıyorsanız reklam amaçlarını Play Console'daki Uygulama içeriği sayfasının Veri Güvenliği bölümünde beyan etmeniz gerekir.
Ölçüm
Bu durumda uygulamanız, kullanıcının aynı cihazdaki kuruluşunuzun uygulamalarındaki davranışına göre kullanıcı profili oluşturur.
Kullanılması önerilen tanımlayıcı: Reklam kimliği veya Play yükleme yönlendiren API'leri
Bu öneri neden gösteriliyor?
Bu, reklamlarla ilgili bir kullanım alanıdır ve kuruluşunuzun farklı uygulamalarında kullanılabilen bir kimlik gerektirebilir. Bu nedenle, reklam kimliği kullanmak en uygun çözümdür. Reklamcılık kullanım alanları için bir kimlik kullanıyorsanız bu kimlik, kullanıcı tarafından sıfırlanabildiği için Reklam Kimliği olmalıdır. Daha fazla bilgiyi Google Play Geliştirici İçerik Politikası'nda bulabilirsiniz.
Dönüşümler
Bu durumda, pazarlama stratejinizin başarılı olup olmadığını tespit etmek için dönüşümleri izliyorsunuz.
Kullanılması önerilen tanımlayıcı: Reklam kimliği veya Play yükleme yönlendiren API'leri
Bu öneri neden gösteriliyor?
Bu, reklamlarla ilgili bir kullanım alanıdır ve kuruluşunuzun farklı uygulamalarında kullanılabilen bir kimlik gerektirebilir. Bu nedenle, reklam kimliği kullanmak en uygun çözümdür. Kullanıcı tarafından sıfırlanabildiği için Google Play Geliştirici İçerik Politikası uyarınca reklam kimliğinin reklamcılık kullanım alanlarında kullanılması zorunludur.
Yeniden pazarlama
Bu durumda uygulamanız, kullanıcının önceki ilgi alanlarına göre reklam gösterir.
Kullanılması önerilen tanımlayıcı: Reklam kimliği
Bu öneri neden gösteriliyor?
Bu, reklamlarla ilgili bir kullanım alanıdır ve kuruluşunuzun farklı uygulamalarında kullanılabilen bir kimlik gerektirebilir. Bu nedenle, reklam kimliği kullanmak en uygun çözümdür. Kullanıcı tarafından sıfırlanabildiği için Google Play Geliştirici İçerik Politikası uyarınca reklam kimliğinin reklamcılık kullanım alanlarında kullanılması zorunludur.
Uygulama analizi
Bu durumda, uygulamanız aşağıdakileri belirlemenize yardımcı olmak için kullanıcının davranışını değerlendirir:
- Kullanıcı için kuruluşunuzun diğer ürün veya uygulamalarından hangileri uygun olabilir?
- Kullanıcıların uygulamanızı kullanmaya devam etmesini sağlama
- Oturumu kapalı veya anonim kullanıcılar için kullanım istatistiklerini ve analizlerini ölçün.
Olası çözümler şunlardır:
- Uygulama grubu kimliği: Uygulama grubu kimliği, kullanıcı verilerini reklamcılık amacıyla kullanmadığınız sürece kuruluşunuzun sahip olduğu birden fazla uygulamadaki kullanıcı davranışlarını analiz etmenize olanak tanır. Google Play Hizmetleri tarafından desteklenen cihazları hedefliyorsanız Uygulama Paketi Kimliği'ni kullanmanızı öneririz.
- Firebase kimliği (FID): FID, oluşturulduğu uygulama ile sınırlıdır. Bu nedenle, tanımlayıcının uygulamalarda kullanıcıları izlemek için kullanılması engellenir. Kullanıcı, uygulama verilerini temizleyebileceği veya uygulamayı yeniden yükleyebileceği için FID kolayca sıfırlanabilir. FID oluşturma işlemi basittir. Firebase yüklemeleri kılavuzuna bakın.
Uygulama geliştirme
Kilitlenme raporu
Bu durumda uygulamanız, kullanıcıların cihazlarında ne zaman ve neden çöktüğüne dair veriler toplar.
Kullanılması önerilen tanımlayıcı: FID veya uygulama grubu kimliği
Bu öneri neden gösteriliyor?
FID, oluşturulduğu uygulama ile sınırlıdır. Bu nedenle, tanımlayıcının uygulamalar arasında kullanıcıları izlemek için kullanılması engellenir. Kullanıcı uygulama verilerini temizleyebileceği veya uygulamayı yeniden yükleyebileceği için FID kolayca sıfırlanabilir. FID oluşturma süreci basittir. Firebase yükleme kılavuzuna bakın. Uygulama Kümesi Kimliği, kullanıcı verilerini reklamcılık amacıyla kullanmadığınız sürece kuruluşunuzun sahip olduğu birden fazla uygulamadaki kullanıcı davranışlarını analiz etmenize olanak tanır.
Performans raporları
Bu durumda uygulamanız, kalitesini artırmak için yükleme süreleri ve pil kullanımı gibi performans metriklerini toplar.
Kullanılması önerilen tanımlayıcı: Firebase Performance Monitoring
Bu öneri neden gösteriliyor?
Firebase Performance Monitoring, sizin için en önemli olan metrikleri belirlemenize ve uygulamanızda yapılan son değişikliğin etkisini test etmenize yardımcı olur.
Uygulama testi
Bu durumda uygulamanız, test veya hata ayıklama amacıyla kullanıcının uygulamanızla ilgili deneyimini değerlendirir.
Kullanılması önerilen tanımlayıcı: FID veya uygulama grubu kimliği
Bu öneri neden gösteriliyor?
FID, oluşturulduğu uygulama ile sınırlıdır. Bu nedenle, tanımlayıcının uygulamalar arasında kullanıcıları izlemek için kullanılması engellenir. Kullanıcı uygulama verilerini temizleyebileceği veya uygulamayı yeniden yükleyebileceği için FID kolayca sıfırlanabilir. FID oluşturma süreci basittir. Firebase yükleme kılavuzuna bakın. Uygulama Kümesi Kimliği, kullanıcı verilerini reklamcılık amacıyla kullanmadığınız sürece kuruluşunuzun sahip olduğu birden fazla uygulamadaki kullanıcı davranışlarını analiz etmenize olanak tanır.
Cihazlar arası yükleme
Bu durumda, uygulamanız aynı kullanıcı için birden fazla cihaza yüklendiğinde uygulamanın doğru örneğini tanımlamalıdır.
Kullanılması önerilen tanımlayıcı: FID veya GUID
Bu öneri neden gösteriliyor?
FID, özellikle bu amaç için tasarlanmıştır. Kapsamı uygulamayla sınırlıdır. Bu nedenle, kullanıcıları farklı uygulamalarda izlemek için kullanılamaz ve uygulama yeniden yüklendiğinde sıfırlanır. FID'nin yetersiz kaldığı nadir durumlarda GUID de kullanabilirsiniz.
Güvenlik
Kötüye kullanım tespiti
Bu durumda, arka uç hizmetlerinize saldıran birden fazla sahte cihazı tespit etmeye çalışıyorsunuz.
Kullanılması önerilen tanımlayıcı: Google Play Integrity API bütünlük jetonu
Bu öneri neden gösteriliyor?
Bir isteğin, başka bir cihazı taklit eden bir koddan veya emülatörden değil, orijinal bir Android cihazdan geldiğini doğrulamak için Google Play Integrity API'yi kullanın.
Reklam sahtekarlığı
Bu durumda uygulamanız, kullanıcının uygulamanızdaki gösterimlerinin ve işlemlerinin gerçek ve doğrulanabilir olduğunu kontrol eder.
Kullanılması önerilen tanımlayıcı: Reklam kimliği
Bu öneri neden gösteriliyor?
Kullanıcı tarafından sıfırlanabildiği için Google Play Geliştirici İçerik Politikası uyarınca reklam kimliğinin reklamcılık kullanım alanlarında kullanılması zorunludur.
Dijital hak yönetimi (DRM)
Bu durumda uygulamanız, fikri mülkiyete veya ücretli içeriğe sahtekarlık amaçlı erişimi engellemek istiyor.
Kullanılması önerilen tanımlayıcı: FID veya GUID kullanılması, kullanıcının içerik sınırlarını aşmak için uygulamayı yeniden yüklemesini gerektirir. Bu da çoğu kişiyi caydırmak için yeterli bir yük oluşturur. Bu koruma yeterli değilse Android, içeriğe erişimi sınırlamak için kullanılabilecek bir DRM API sağlar. Bu API, APK başına bir tanımlayıcı olan Widevine kimliğini içerir.
Kullanıcı tercihleri
Bu durumda uygulamanız, özellikle oturum açmamış kullanıcılar için uygulama düzeyinde kullanıcı durumunu kaydeder. Bu durumu, aynı cihazda aynı anahtarla imzalanmış başka bir uygulamaya aktarabilirsiniz.
Kullanılması önerilen tanımlayıcı: FID veya GUID
Bu öneri neden gösteriliyor?
Kullanıcılar, uygulamayı yeniden yükleyerek tercihlerini sıfırlamak isteyebileceğinden, yeniden yükleme işlemlerinde bilgilerin kalıcı olması önerilmez.