Bu belgede, kullanım alanınıza göre uygulamanız için uygun tanımlayıcıların seçilmesi konusunda yol gösterici bilgiler sağlanmaktadır.
Android izinlerine genel bir bakış için İzinlere genel bakış bölümünü inceleyin. Android izinleriyle çalışmaya dair belirli en iyi uygulamalar için Uygulama izinleri ile ilgili en iyi uygulamalar bölümüne bakın.
Android tanımlayıcılarıyla çalışmaya yönelik en iyi uygulamalar
Kullanıcılarınızın gizliliğini korumak için uygulamanızın kullanım alanına uygun en kısıtlayıcı tanımlayıcıyı kullanın. Özellikle aşağıdaki en iyi uygulamaları izleyin:
- 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ışında tanımlayıcılar kullandığında bile kullanım alanlarının çoğunda başarıya ulaşabilir.
Donanım tanımlayıcıları kullanmaktan kaçının. Çoğu kullanım alanında, gerekli işlevleri sınırlandırmadan Uluslararası Mobil Cihaz Kimliği (IMEI) gibi donanım tanımlayıcıları kullanmaktan kaçınabilirsiniz.
Android 10 (API düzeyi 29), hem IMEI hem de seri numarasını içeren sıfırlanamayan tanımlayıcılar için kısıtlamalar ekler. Bu tanımlayıcılara erişebilmek için uygulamanızın bir cihaz veya profil sahibi uygulaması olması, özel operatör izinlerine sahip olması ya da
READ_PRIVILEGED_PHONE_STATE
ayrıcalıklı iznine sahip olması gerekir.Reklam kimliğini yalnızca kullanıcı profili oluşturma veya reklam kullanım alanları için kullanın. Reklam kimliği kullanırken her zaman kullanıcıların reklam izlemeyle ilgili seçimlerine uyun. Reklam tanımlayıcısını kimliği tanımlayabilecek bilgilere bağlamanız gerekiyorsa bunu yalnızca kullanıcının açık izni ile yapın.
Reklam kimliği sıfırlamaları için köprü kullanmayın.
Ödeme sahtekarlığını önleme ve telefon kullanımı hariç diğer tüm kullanım alanları için mümkün olduğunda Firebase yükleme kimliği (FID) veya özel olarak depolanan bir GUID kullanın. Reklam dışı kullanım alanlarının büyük çoğunluğu için FID veya GUID yeterli olacaktır.
Gizlilik riskini en aza indirmek için kullanım alanınıza uygun API'leri kullanın. Yüksek değerli içerik koruması için DRM API'yi, kötüye kullanıma karşı koruma sağlamak için de SafetyNet API'lerini kullanın. SafetyNet API'leri, gizlilik riski oluşturmadan bir cihazın orijinal olup olmadığını belirlemenin en kolay yoludur.
Bu kılavuzun geri kalan bölümlerinde, Android uygulamaları geliştirme bağlamında bu kurallar 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. Bununla birlikte, 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 niyetine her zaman saygı gösterin. Kullanıcı sıfırlamaları için kullanıcının izni olmadan sonraki Reklam Kimliklerini birbirine bağlamak üzere başka bir tanımlayıcı veya parmak izi kullanarak köprü kurmayın. Google Play Geliştirici İçerik Politikası'nda aşağıdakiler belirtilmektedir:
"...sıfırlanırsa, kullanıcının açık izni olmadan yeni bir reklam tanımlayıcısı önceki bir reklam tanımlayıcısıyla veya önceki bir reklam tanımlayıcısından türetilen verilerle ilişkilendirilmemelidir."
İlişkili Kişiselleştirilmiş Reklamlar işaretine her zaman saygı gösterin. Reklam kimlikleri, kullanıcıların kimlikle ilişkili izleme miktarını sınırlandırabileceği şekilde yapılandırılabilir. Kullanıcılarınızın isteklerini atlatmadığınızdan emin olmak için her zaman AdvertisingIdClient.Info.isLimitAdTrackingEnabled()
yöntemini kullanın. Google Play Geliştirici İçerik Politikası şunları belirtir:
"...kullanıcının "İlgi alanına dayalı reklamcılığı devre dışı bırak" veya "Reklam Kişiselleştirmeyi devre dışı bırak" 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 tanımlayıcısını kullanamazsınız. İzin verilen etkinlikler arasında içeriğe dayalı reklamcılık, sıklık sınırı, dönüşüm izleme, raporlama, güvenlik ve sahtekarlık algılaması bulunur."
Kullandığınız SDK'larla ilişkili, reklam kimliği kullanımıyla ilgili gizlilik veya güvenlik politikalarına dikkat edin.
Örneğin, Google Analytics SDK'sından enableAdvertisingIdCollection()
yöntemine true
aktarırsanız geçerli tüm Analytics SDK politikalarını incelediğinizden ve şartlarına uyduğunuzdan emin olun.
Ayrıca, Google Play Geliştirici İçerik Politikası uyarınca Reklam Kimliğinin "kimliği tanımlayabilecek bilgilere bağlı olmaması veya kalıcı cihaz tanımlayıcılarıyla (ör. SSAID, MAC adresi, IMEI vb.) ilişkilendirilmemesi gerektiğini" unutmayın.
Örneğin, veritabanı tablolarını aşağıdaki sütunlarla doldurmak için bilgi toplamak istediğinizi varsayalım:
TABLO-01 | |||
timestamp |
ad_id |
account_id |
clickid |
TABLO-02 | |||
account_id |
name |
dob |
country |
Bu örnekte, ad_id
sütunu her iki tabloda da account_id
sütunu aracılığıyla kimliği tanımlayabilecek bilgilere birleştirilebilir. Bu durum, kullanıcılarınızdan açık izin almamanız durumunda Google Play Geliştirici İçerik Politikası'nı ihlal eder.
Reklamveren kimliği ve kimliği tanımlayabilecek bilgiler (PII) arasındaki bağlantıların her zaman bu kadar uygunsuz olmadığını unutmayın. Hem kimliği tanımlayabilecek bilgiler hem de reklam kimliği içeren tablolarda "yarı tanımlayıcılar" bulunması mümkündür ve bu da sorunlara yol açar. Örneğin, TABLE-01 ve TABLE-02'yi aşağıdaki gibi değiştirdiğimizi varsayalım:
TABLO-01 | ||||
timestamp |
ad_id |
clickid |
dev_model |
|
TABLO-02 | ||||
timestamp |
demo |
account_id |
dev_model |
name |
Bu durumda, yeterince nadir görülen tıklama etkinlikleri söz konusu olduğunda, etkinliğin zaman damgası ve cihaz modeli kullanılarak TABLE-01 Reklamveren Kimliği ile TABLE-02'deki kimliği tanımlayabilecek bilgiler (PII) arasında birleştirme yapılabilir.
Bir veri kümesinde bu tür yarı tanımlayıcıların bulunmadığından emin olmak genellikle zor olsa da benzersiz verileri mümkün olduğunda genelleştirerek en belirgin birleştirme risklerini önleyebilirsiniz. Yukarıdaki örnekte bu, her zaman damgasında aynı modele sahip birden fazla cihazın görünmesi için zaman damgasının doğruluğunun azaltılması anlamına gelir.
Diğer çözümler aşağıdakileri içerir:
Kimliği tanımlayabilecek bilgileri reklam kimliklerine açık bir şekilde bağlayan tablolar tasarlanmamalıdır. Yukarıdaki ilk örnekte bu,
account_id
sütununun TABLE-01'e dahil edilmemesi anlamına gelir.Hem reklam kimliğiyle ilişkili verilere hem de kimliği tanımlayabilecek bilgilere 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 yaparak) reklam kimliği ile kimliği tanımlayabilecek bilgiler arasındaki ilişki riskini azaltırsınız. Genel anlamda, erişimi kontrol etmek aşağıdakileri yapmak anlamına gelir:
- Her iki EKL'de yer alan kişi veya rol sayısını en aza indirmek için Reklamveren Kimliği ile ilişkili veriler ve kimliği tanımlayabilecek bilgiler (PII) için erişim kontrol listelerini (EKL) ayrı tutun.
- Bu kuralın istisnalarını tespit etmek ve yönetmek için erişim günlük kaydı ve denetimi 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 yükleme kimliği (FID) kullanmaktır. Bu çözüm, reklam dışındaki kullanım alanlarının çoğunda önerilen çözümdür. Yalnızca temel hazırlığının yapıldığı uygulama örneği bu tanımlayıcıya erişebilir ve uygulama yüklü olduğu sürece varlığını sürdürdüğü için (göreceli olarak) kolayca sıfırlanabilir.
Bunun sonucunda 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 kimlikleri (GUID) 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ı global 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 GUID'leri harici (paylaşılan) depolama yerine dahili depolamada depolayın. Daha fazla bilgi edinmek için Veri ve dosya depolamaya genel bakış sayfasına göz atın.
MAC adresleriyle çalışmaz
MAC adresleri global olarak benzersizdir, kullanıcılar tarafından sıfırlanamaz ve fabrika ayarlarına sıfırlama işleminden sonra çalışmaya devam eder. Bu nedenlerle, kullanıcı gizliliğini korumak için Android 6 ve sonraki sürümlerde MAC adreslerine erişim sistem uygulamalarıyla sınırlandırılmıştır. Üçüncü taraf uygulamaları bunlara erişemez.
Android 11'de MAC adresi kullanılabilirliğiyle ilgili değişiklikler
Android 11 ve sonraki sürümleri hedefleyen uygulamalarda Passpoint ağları için MAC 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)
- Erişim alanı
- Passpoint profilinde kullanılan kimlik bilgisini temel alan 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ığı olmayan uygulamalar cihazın MAC adresine erişemez; yalnızca IP adresi olan ağ arayüzleri görülebilir. Bu durum, getifaddrs()
ve NetworkInterface.getHardwareAddress()
yöntemlerinin yanı sıra RTM_GETLINK
Netlink mesajı göndermeyi de etkiler.
Aşağıda, uygulamaları bu değişiklikten etkilenecek yöntemlerin bir listesi yer almaktadır:
NetworkInterface.getHardwareAddress()
, her arayüz için null sonucunu döndürür.- Uygulamalar
NETLINK_ROUTE
yuvalarındabind()
işlevini kullanamaz. ip
komutu, arayüzler hakkında bilgi döndürmez.- Uygulamalar
RTM_GETLINK
mesajlarını gönderemez.
Çoğu geliştiricinin NetworkInterface
, getifaddrs()
veya Netlink yuvaları gibi alt düzey API'ler yerine ConnectivityManager
üst düzey API'lerini kullanması gerektiğini unutmayın. Örneğin, geçerli rotalarla ilgili güncel bilgilere ihtiyaç duyan bir uygulama, ConnectivityManager.registerNetworkCallback()
kullanıp ağ değişikliklerini dinleyerek ve ağla ilişkili LinkProperties.getRoutes()
adlı ağı çağırarak bu bilgileri alabilir.
Tanımlayıcı özellikleri
Android OS, farklı davranış özelliklerine sahip çeşitli kimlikler sunar. Kullanmanız gereken kimlik, aşağıdaki özelliklerin kullanım alanınızla nasıl çalıştığına bağlıdır. Ancak bu özellikler aynı zamanda gizliliği de etkiler. Bu nedenle, bu özelliklerin birbirleriyle nasıl etkileşimde bulunduklarını anlamak önemlidir.
Kapsam
Tanımlayıcı kapsamı, tanımlayıcıya hangi sistemlerin erişebileceğini açıklar. Android tanımlayıcı kapsamı genellikle üç şekilde sunulur:
- Tek uygulama: Kimlik, uygulamanın içindedir ve diğer uygulamalar tarafından erişilemez.
- Uygulama grubu: Kimlik, önceden tanımlanmış ilgili uygulamalardan oluşan bir grup tarafından erişilebilir.
- Cihaz: Cihazda yüklü tüm uygulamalar kimliğe erişebilir.
Bir tanımlayıcıya verilen kapsam ne kadar geniş olursa izleme amacıyla kullanılma riski de o kadar artar. Buna karşılık, bir tanımlayıcıya yalnızca tek bir uygulama örneğinden erişilebiliyorsa bir tanımlayıcı, bir cihazı farklı uygulamalardaki işlemlerde 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. Yaygın olarak görülen sıfırlama tetikleyicileri şunlardır: uygulama içi sıfırlamalar, Sistem Ayarları aracılığıyla sıfırlamalar, başlatma sırasında sıfırlama ve yükleme sırasında sıfırlamalar. Android tanımlayıcılarının kullanım ömrü değişiklik gösterebilir ancak kullanım ömrü genellikle kimliğin sıfırlanma şekliyle ilgilidir:
- Yalnızca oturum: Kullanıcı uygulamayı her yeniden başlattığında yeni bir kimlik kullanılır.
- Install-reset: Kullanıcı, uygulamayı her kaldırıp yeniden yüklediğinde yeni bir kimlik kullanılır.
- FDR sıfırlama: Kullanıcı cihazı her fabrika ayarlarına sıfırladığında yeni bir kimlik kullanılır.
- FDR kalıcı: Kimlik, fabrika ayarlarına sıfırlandıktan sonra geçerliliğini korur.
Sıfırlanabilirlik, kullanıcılara mevcut profil bilgileriyle ilişkisi kesilen yeni bir kimlik oluşturma imkanı verir. Tanımlayıcı ne kadar uzun ve daha güvenilir olursa (fabrika ayarlarına sıfırlanan zaman boyunca devam eden gibi) bir tanımlayıcı varlığını sürdürürse kullanıcının uzun vadeli takipe tabi olma riski de o kadar artar. Tanımlayıcı, uygulamanın yeniden yüklenmesinden sonra sıfırlanırsa bu, kalıcılığı azaltır ve kimliği uygulama içinden veya Sistem Ayarları'ndan sıfırlayacak açık bir kullanıcı kontrolü olmasa bile kimliğin sıfırlanması için bir yol sağlar.
Benzersizlik
Benzersizlik, çakışma olasılığını, diğer bir deyişle ilişkili kapsamda aynı tanımlayıcıların mevcut olduğunu belirler. En üst düzeyde, küresel olarak benzersiz bir tanımlayıcı diğer cihazlarda veya uygulamalarda bile asla çakışmaz.
Aksi takdirde, benzersizlik düzeyi, tanımlayıcının entropisine ve tanımlayıcıyı oluşturmak için kullanılan rastgeleliğin kaynağına bağlıdır. Örneğin, yükleme tarihiyle başlayan rastgele tanımlayıcıların (2019-03-01
gibi) kilitlenme olasılığı, Unix yükleme zaman damgasıyla (1551414181
gibi) başlatılan tanımlayıcılarla karşılaştırıldığında çok daha yüksektir.
Genel olarak, kullanıcı hesabı tanımlayıcıları benzersiz olarak kabul edilebilir. Yani, her cihaz/hesap kombinasyonunun benzersiz bir kimliği vardır. Öte yandan, bir popülasyonda tanımlayıcı ne kadar az benzersizse gizlilik koruması da o kadar büyük olur, çünkü tekil bir kullanıcıyı izlemek için daha az kullanışlı olur.
Bütünlük koruması ve inkar edilemezlik
İlişkili cihazın veya hesabın belirli özelliklere sahip olduğunu kanıtlamak için adres sahteciliği veya tekrar oynatılması zor bir tanımlayıcı kullanabilirsiniz. Örneğin, cihazın spam yapan bir kişi tarafından kullanılan sanal bir cihaz olmadığını kanıtlayabilirsiniz. Kimliğin taklit edilmesi zor olan tanımlayıcılar, tekrarlanabilirlik özelliği de sunar. Cihaz, gizli anahtarla bir mesaj imzalarsa mesajı başka bir kişinin cihazının gönderdiğini iddia etmek zordur. İnkar edilemezlik, kullanıcının istediği bir şey (ör. bir ödemenin kimliğini doğrularken) veya pişman olduğu bir mesaj göndermesi gibi istenmeyen bir şey olabilir.
Yaygın kullanım alanları ve kullanılacak uygun tanımlayıcı
Bu bölümde, IMEI gibi donanım kimliklerinin kullanımına alternatifler sağlanmaktadır. Kullanıcı, donanım kimliklerini sıfırlayamadığı ve cihaz kapsama dahil edildiği 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, bir operatör hesabı kullanarak cihazın telefonuyla ve kısa mesaj işleviyle etkileşimde bulunur.
Kullanılması önerilen tanımlayıcı: IMEI, IMSI ve Line1
Bu öneri neden gösteriliyor?
Operatörle ilgili işlevler için gerekliyse donanım tanımlayıcılarından yararlanmak kabul edilebilir. Örneğin, bu tanımlayıcıları hücresel operatörler veya SIM yuvaları arasında geçiş yapmak ya da SIM tabanlı kullanıcı hesapları için IP (Line1 için) üzerinden SMS mesajları göndermek için kullanabilirsiniz. Bununla birlikte, ayrıcalığı olmayan uygulamalarda sunucu tarafında kullanıcı cihaz bilgilerini almak için hesapta oturum açma olanağı kullanmanızı öneririz. Bunun nedenlerinden biri, 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şlevselliğini cihazdaki belirli mobil hizmet abonelikleriyle ilişkilendirmeniz gerekir. Örneğin, cihazın mobil aboneliklerine göre belirli premium uygulama özelliklerine SIM aracılığıyla erişimi doğrulamanız gerekebilir.
Kullanılması önerilen tanımlayıcı: Cihazda kullanılan SIM'leri tanımlamak için Subscription ID API.
Abonelik Kimliği, cihazda kullanılan takılı SIM'leri (fiziksel ve elektronik dahil) benzersiz bir şekilde tanımlamak için 1'den başlayan bir dizin değeri sağlar. Uygulamanız bu kimliği kullanarak işlevlerini belirli bir SIM'in çeşitli abonelik bilgileriyle ilişkilendirebilir. Belirli bir SIM için bu değer, cihaz fabrika ayarlarına sıfırlanmadığı sürece sabittir. Ancak aynı SIM'in farklı cihazlarda farklı bir Abonelik Kimliğine 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ç için ICC kimliğini kullanıyor olabilir. ICC kimliği genel olarak benzersiz olduğundan ve sıfırlanamaz. Bu nedenle, Android 10'dan bu yana erişim READ_PRIVILEGED_PHONE_STATE
iznine sahip uygulamalarla sınırlandırılmıştır. Android 11'den itibaren uygulamanın hedef API düzeyi ne olursa olsun Android, getIccId()
API üzerinden ICCID'ye erişimi daha da kısıtlamıştır. Etkilenen uygulamalar bunun yerine Abonelik Kimliği'ni kullanacak şekilde taşınmalıdır.
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ı: Google Hesabı Bağlama gibi hesap yöneticisi ile uyumlu hesaplar
Bu öneri neden gösteriliyor?
Google Hesabı Bağlama, kullanıcıların bir kullanıcının mevcut Google hesabını uygulamanızla ilişkilendirmesine olanak tanıyarak kuruluşunuzun ürün ve hizmetlerine sorunsuz ve daha güvenli erişim sağlar. Ayrıca yalnızca gerekli verileri paylaşmak için özel OAuth kapsamları tanımlayarak verilerinin nasıl kullanıldığını net bir şekilde tanımlayarak kullanıcı güvenini artırabilirsiniz.
Reklamlar
Hedefleme
Bu durumda uygulamanız, kullanıcılara daha alakalı reklamlar göstermek için ilgi alanlarına dair bir profil oluşturur.
Kullanılması önerilen tanımlayıcı: Uygulamanız reklamlar ve Google Play'e yüklemeler veya yayınlamalar için kimlik kullanıyorsa bu kimlik, reklam kimliği olmalıdır.
Bu öneri neden gösteriliyor?
Bu, reklamlarla ilgili bir kullanım alanı olduğundan kuruluşunuzun farklı uygulamalarında mevcut bir kimlik kullanılmasını gerektirebilir. Bu nedenle, reklam kimliği kullanmak en uygun çözümdür. Google Play Geliştirici İçerik Politikası uyarınca kullanıcı bu kimliği sıfırlayabileceğinden, reklamcılık kullanım alanlarında reklam kimliğinin kullanılması zorunludur.
Uygulamanızda kullanıcı verilerini paylaşıp paylaşmamanızdan bağımsız olarak, verileri reklam amacıyla toplayıp kullanırsanız Play Console'daki Uygulama içeriği sayfasının Veri Güvenliği bölümünde reklamların amacını beyan etmeniz gerekir.
Ölçüm
Bu durumda uygulamanız, bir kullanıcının profilini kuruluşunuzun aynı cihazdaki uygulamalarındaki davranışlarına göre 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ı olduğundan kuruluşunuzun farklı uygulamalarında mevcut bir kimlik kullanılmasını gerektirebilir. Bu nedenle, reklam kimliği kullanmak en uygun çözümdür. Reklamcılık kullanım alanları için kullandığınız kimlikler, kullanıcı tarafından sıfırlanabileceği için reklam kimliği olmalıdır. Google Play Geliştirici İçerik Politikası'ndan daha fazla bilgi edinebilirsiniz.
Dönüşümler
Bu durumda, pazarlama stratejinizin başarılı olup olmadığını belirlemek için dönüşümleri izlersiniz.
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ı olduğundan kuruluşunuzun farklı uygulamalarında mevcut bir kimlik kullanılmasını gerektirebilir. Bu nedenle, reklam kimliği kullanmak en uygun çözümdür. Google Play Geliştirici İçerik Politikası uyarınca kullanıcı bu kimliği sıfırlayabileceğinden, reklamcılık kullanım alanlarında reklam kimliğinin kullanılması zorunludur.
Yeniden pazarlama
Bu durumda uygulamanız, kullanıcının geçmişteki 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ı olduğundan kuruluşunuzun farklı uygulamalarında mevcut bir kimlik kullanılmasını gerektirebilir. Bu nedenle, reklam kimliği kullanmak en uygun çözümdür. Google Play Geliştirici İçerik Politikası uyarınca kullanıcı bu kimliği sıfırlayabileceğinden, reklamcılık kullanım alanlarında reklam kimliğinin kullanılması zorunludur.
Uygulama analizi
Bu durumda uygulamanız aşağıdakileri belirlemenize yardımcı olmak için kullanıcı davranışlarını değerlendirir:
- Kuruluşunuzun diğer ürün veya uygulamalarından hangilerinin kullanıcı için uygun olabileceği.
- Kullanıcıların uygulamanızı kullanmak istemelerini sağlama.
- Oturumu kapalı olan 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şunuza ait birden çok uygulamadaki kullanıcı davranışını analiz etmenize olanak tanır. Google Play hizmetleri tarafından desteklenen cihazları hedefliyorsanız Uygulama Grubu Kimliği'ni kullanmanızı öneririz.
- Firebase kimliği (FID): FID, kendisini oluşturan uygulamanın kapsamına alınır. Bu durum, tanımlayıcının uygulamalarda kullanıcıları izlemek için kullanılmasını engeller. Ayrıca, kullanıcı uygulama verilerini temizleyebileceği veya uygulamayı yeniden yükleyebileceği için kolayca sıfırlanabilir. FID oluşturma işlemi oldukça basittir. Firebase yükleme kılavuzuna bakın.
Uygulama geliştirme
Kilitlenme raporu
Bu durumda uygulamanız kullanıcıların cihazlarında ne zaman ve neden kilitlendiğine dair veriler toplar.
Kullanılacak önerilen tanımlayıcı: FID veya Uygulama grubu kimliği
Bu öneri neden gösteriliyor?
FID, kendisini oluşturan uygulamanın kapsamına alınır. Bu durum, tanımlayıcının uygulamalarda kullanıcıları izlemek için kullanılmasını engeller. Ayrıca, kullanıcı uygulama verilerini temizleyebileceği veya uygulamayı yeniden yükleyebileceği için kolayca sıfırlanabilir. FID oluşturma işlemi oldukça basittir. Firebase yükleme kılavuzuna bakın. Uygulama Grubu Kimliği, kullanıcı verilerini reklam amaçlı kullanmadığınız sürece kuruluşunuza ait birden fazla uygulamadaki kullanıcı davranışını analiz etmenize olanak tanır.
Performans raporları
Bu durumda uygulamanız, kalitesini iyileştirmeye yardımcı olmak 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 metriklere odaklanmanıza ve uygulamanızda yakın zamanda yapılan bir değişikliğin etkisini test etmenize yardımcı olur.
Uygulama testi
Bu durumda uygulamanız, test veya hata ayıklama amacıyla bir kullanıcının uygulamanızla olan deneyimini değerlendirir.
Kullanılacak önerilen tanımlayıcı: FID veya Uygulama grubu kimliği
Bu öneri neden gösteriliyor?
FID, kendisini oluşturan uygulamanın kapsamına alınır. Bu durum, tanımlayıcının uygulamalarda kullanıcıları izlemek için kullanılmasını engeller. Ayrıca, kullanıcı uygulama verilerini temizleyebileceği veya uygulamayı yeniden yükleyebileceği için kolayca sıfırlanabilir. FID oluşturma işlemi oldukça basittir. Firebase yükleme kılavuzuna bakın. Uygulama Grubu Kimliği, kullanıcı verilerini reklam amaçlı kullanmadığınız sürece kuruluşunuza ait birden fazla uygulamadaki kullanıcı davranışını analiz etmenize olanak tanır.
Cihazlar arası yükleme
Bu durumda, aynı kullanıcı için birden fazla cihaza yüklendiğinde uygulamanızın doğru örneği tanımlaması gerekir.
Kullanılacak önerilen tanımlayıcı: FID veya GUID
Bu öneri neden gösteriliyor?
FID açık bir şekilde bu amaç için tasarlanmıştır; kapsamı, farklı uygulamalarda kullanıcıları izlemek için kullanılamayacak şekilde uygulamayla sınırlıdır ve uygulamanın yeniden yüklenmesiyle sıfırlanır. FID'nin yetersiz olduğu nadir durumlarda, GUID de kullanabilirsiniz.
Güvenlik
Kötüye kullanım algılama
Bu durumda, arka uç hizmetlerinize saldıran birden fazla sahte cihazı tespit etmeye çalışıyorsunuz.
Kullanılması önerilen tanımlayıcı: SafetyNet API
Bu öneri neden gösteriliyor?
Tanımlayıcıların tek başına kullanılması, cihazın orijinal olduğunu göstermez. İstekte bulunan bir cihazın bütünlüğünü doğrulamak için SafetyNet API'nin attest()
yöntemini kullanarak bir isteğin orijinal bir Android cihazdan geldiğini (başka bir cihazı taklit eden bir emülatör veya başka bir kodu taklit etmek yerine) doğrulayabilirsiniz. Daha ayrıntılı bilgi için SafetyNet API belgelerine bakın.
Reklam sahtekarlığı
Bu durumda uygulamanız, kullanıcı gösterimlerinin ve eylemlerinin orijinal ve doğrulanabilir olup olmadığını kontrol eder.
Kullanılması önerilen tanımlayıcı: Reklam kimliği
Bu öneri neden gösteriliyor?
Google Play Geliştirici İçerik Politikası uyarınca kullanıcı bu kimliği sıfırlayabileceğinden, reklamcılık kullanım alanlarında reklam kimliğinin kullanılması zorunludur.
Dijital hak yönetimi (DRM)
Bu durumda, uygulamanız fikri mülkiyete veya ücretli içeriğe sahte erişimi korumak ister.
Kullanılması önerilen tanımlayıcı: FID veya GUID kullanılması, içerik sınırlarını aşmak için kullanıcıyı uygulamayı yeniden yüklemeye zorlar. Bu da çoğu kullanıcının engelini kaldırmak için yeterli bir yüktür. Bu yeterli koruma sağlamazsa Android, içeriğe erişimi sınırlandırmak için kullanabileceğiniz bir DRM API'si sağlar. Bu API'de, APK başına bir tanımlayıcı olan Widevine kimliği bulunur.
Kullanıcı tercihleri
Bu durumda uygulamanız, özellikle oturum açmamış kullanıcılar için cihaza göre kullanıcı durumunu kendi uygulamasına kaydeder. Bu durumu, aynı cihazda aynı anahtarla imzalanmış başka bir uygulamaya aktarabilirsiniz.
Kullanılacak önerilen tanımlayıcı: FID veya GUID
Bu öneri neden gösteriliyor?
Kullanıcılar uygulamayı yeniden yükleyerek tercihlerini sıfırlamak isteyebilecekleri için bilgilerin yeniden yükleme yoluyla kalıcı olması önerilmez.