Benzersiz tanımlayıcılar için en iyi uygulamalar

Bu belgede, kullanım alanınıza göre uygulamanız için uygun tanımlayıcıları seçme konusunda rehberlik sunulmaktadır.

Android izinlerine genel bir bakış için İzinlere genel bakış başlıklı makaleyi inceleyin. Android izinleriyle çalışmaya yönelik belirli 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ına uygun en kısıtlayıcı tanımlayıcıyı kullanın. Özellikle şu en iyi uygulamaları izleyin:

  1. 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 gerçekleştirebilir.
  2. Donanım tanımlayıcıları kullanmaktan kaçının. Çoğu kullanım alanında, gerekli işlevleri sınırlama olmaksızın Uluslararası Mobil Ekipman Kimliği (IMEI) gibi donanım tanımlayıcılarını 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. 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ı iznine sahip olması gerekir.

  3. 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 izleme ile ilgili seçimlerine saygı gösterin. Reklam kimliğini kimliği tanımlayabilecek bilgilerle ilişkilendirmeniz gerekiyorsa bunu yalnızca kullanıcının açık izniyle yapın.

  4. Reklam kimliği sıfırlamalarını köprülemeyin.

  5. Ödeme sahteciliğini önleme ve telefon hizmetleri dışındaki tüm kullanım alanlarında mümkün olduğunca 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ğunda FID veya GUID yeterli olacaktır.

  6. 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ım koruması için Play Integrity API'leri 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, Android uygulamaları geliştirme bağlamında bu kurallar 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 dikkat etmeniz gereken bazı önemli noktalar vardır:

Kullanıcının reklam kimliğini sıfırlama niyetine 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 belirtilmektedir:

"...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 şu ifadeler yer alır:

"...kullanıcının 'İlgi alanına dayalı reklamları devre dışı bırak' veya 'Reklam kişiselleştirmeyi 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, reklam kimliği kullanımıyla ilgili gizlilik veya güvenlik politikalarını öğrenin. Örneğin, Google Analytics SDK'sındaki enableAdvertisingIdCollection() yöntemine true değerini iletirseniz geçerli tüm Analytics SDK politikalarını inceleyip bunlara uymanız gerekir.

Ayrıca, Google Play Geliştirici İçerik Politikası uyarınca reklam kimliğinin "kişisel veriyle bağlantılı hale getirilmemesi veya kalıcı cihaz kimlik numaraları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:

TABLE-01
timestamp ad_id account_id clickid
TABLE-02
account_id name dob country

Bu örnekte, ad_id sütunu her iki tablodaki account_id sütunu aracılığıyla kimliği tanımlayabilecek bilgilere bağlanabilir. Bu durum, kullanıcılarınızdan açık izin almadıysanız Google Play Geliştirici İçerik Politikası'nın ihlali anlamına gelir.

Reklamveren kimliği ile kimliği tanımlayabilecek bilgiler arasındaki bağlantıların her zaman bu kadar açık olmayabileceğini unutmayın. Hem kimliği tanımlayabilecek bilgiler hem de reklam kimliği anahtarlı tablolarda görünen ve sorunlara 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, tıklama etkinlikleri yeterince nadir olduğunda etkinliğin zaman damgası ve cihaz modeli kullanılarak Reklamveren Kimliği TABLO-01 ile TABLO-02'de bulunan kimliği tanımlayabilecek bilgiler arasında birleştirme yapılabilir.

Bir veri kümesinde bu tür yarı tanımlayıcıların bulunmadığını garanti etmek genellikle zor olsa da benzersiz verileri mümkün olduğunca genelleştirerek en belirgin birleştirme risklerini önleyebilirsiniz. Yukarıdaki örnekte bu, zaman damgasının doğruluğunu azaltarak aynı modele sahip birden fazla cihazın her zaman damgası için görünmesini sağlamak anlamına gelir.

Diğer çözümler şunlardır:

  • Kimliği tanımlayabilecek bilgileri (PII) reklam kimlikleriyle açıkça ilişkilendiren tablolar tasarlamama. Yukarıdaki ilk örnekte bu, TABLE-01'e account_id sütununun dahil edilmemesi anlamına gelir.

  • Hem reklam kimliği anahtarlı verilere hem de kimliği tanımlayabilecek bilgilere erişimi olan kullanıcılar veya roller için erişim denetimi listelerini ayırma ve izleme. Her iki kaynağa aynı anda erişme (örneğin, tablolar arasında birleştirme işlemi gerçekleştirerek) imkanını sıkı bir şekilde kontrol edip denetleyerek reklam kimliği ile kimliği tanımlayabilecek bilgiler (PII) arasında ilişki kurulması riskini azaltırsınız. Genel olarak erişimi kontrol etmek şu işlemleri yapmayı gerektirir:

    1. Reklamveren kimliği anahtarlı veriler ve kimliği tanımlayabilecek bilgiler için erişim denetimi listelerini (ACL'ler) ayrı tutarak her iki ACL'de de bulunan kişi veya rol sayısını en aza indirin.
    2. Bu kuralın istisnalarını tespit etmek ve yönetmek için erişim günlüğü 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 kolay yolu Firebase yükleme kimliği (FID) kullanmaktır. Reklam dışı kullanım alanlarının çoğunda önerilen çözüm budur. Bu tanımlayıcıya yalnızca temel hazırlığı yapılan uygulama örneği erişebilir. Tanımlayıcı, yalnızca uygulama yüklü olduğu sürece kalıcı olduğundan (nispeten) kolayca sıfırlanabilir.

Bu nedenle FID'ler, sıfırlanamayan ve 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 kullanılamadığı durumlarda, bir uygulama örneğini benzersiz şekilde tanımlamak için özel global 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ıyı uygulamalar arasında bağlamayla ilgili endişeleri önlemek için GUID'leri harici (paylaşılan) depolama alanı yerine dahili depolama alanında saklayın. Daha fazla bilgi için Veri ve dosya depolama alanına 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 6 ve sonraki sürümlerde MAC adreslerine erişim sistem uygulamalarıyla sınırlandırılmıştır. Üçüncü taraf uygulamaları bu verilere 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 rastgeleleştirme işlemi Passpoint profili başına yapılır ve aşağıdaki alanlara göre benzersiz bir MAC adresi oluşturulur:

  • Tam etki alan adı (FQDN)
  • Erişim alanı
  • 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 mesajlarının gönderilmesini de etkiler.

Uygulamaların bu değişiklikten etkilenme şekilleri aşağıda listelenmiştir:

  • NetworkInterface.getHardwareAddress(), her arayüz için null değerini döndürür.
  • Uygulamalar, NETLINK_ROUTE soketlerinde bind() işlevini kullanamaz.
  • ip komutu, arayüzlerle ilgili bilgi döndürmez.
  • Uygulamalar RTM_GETLINK mesaj gönderemez.

Çoğu geliştiricinin NetworkInterface, getifaddrs() veya Netlink soketleri gibi alt düzey API'ler yerine ConnectivityManager'nin üst düzey API'lerini kullanması 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() öğesini çağırarak bu bilgileri alabilir.

Tanımlayıcı özellikleri

Android OS, 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. Ancak bu özelliklerin gizlilikle ilgili sonuçları da vardır. Bu nedenle, bu özelliklerin birbirleriyle nasıl etkileşime girdiğini 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, uygulamaya özeldir ve diğer uygulamalar tarafından erişilemez.
  • Uygulama grubu: Kimliğe, önceden tanımlanmış bir grup ilgili uygulama tarafından erişilebilir.
  • Cihaz: Kimliğe, cihazda yüklü 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. Buna karşılık, bir tanımlayıcıya yalnızca tek bir uygulama örneği tarafından erişilebiliyorsa bu tanımlayıcı, farklı uygulamalardaki işlemler genelinde 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. Yaygın 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şiklik gösterebilir 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.
  • FDR 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 kalır.

Sıfırlanabilirlik, kullanıcılara mevcut profil bilgilerinden bağımsız yeni bir kimlik oluşturma olanağı tanır. Bir tanımlayıcı ne kadar uzun süre ve güvenilir bir şekilde kalırsa (ör. fabrika ayarlarına sıfırlama işlemlerinde de kalıcı olan bir tanımlayıcı) kullanıcının uzun süreli takibe maruz kalma riski o kadar artar. Uygulama yeniden yüklendiğinde tanımlayıcı sıfırlanırsa kalıcılık azalır ve uygulama içinden veya sistem ayarlarından sıfırlamak için açık bir kullanıcı kontrolü olmasa bile kimliğin sıfırlanması için bir yöntem sağlanır.

Benzersizlik

Benzersizlik, çakışma olasılığını belirler. Diğer bir deyişle, ilişkili kapsamda aynı tanımlayıcıların var olduğunu gösterir. En üst düzeyde, global 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 tanımlayıcıyı oluşturmak için kullanılan rastgelelik kaynağına bağlıdır. Örneğin, yüklemenin takvim tarihiyle (2019-03-01 gibi) oluşturulan rastgele tanımlayıcılar için çakışma olasılığı, yüklemenin Unix zaman damgasıyla (1551414181 gibi) oluşturulan tanımlayıcılara göre ç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. Diğer yandan, bir tanımlayıcı bir popülasyon içinde ne kadar az benzersizse gizlilik koruması o kadar fazla olur. Çünkü bu tanımlayıcı, tek bir kullanıcıyı izlemek için daha az kullanışlı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 taklit edilmesi ya da yeniden oynatılması zor bir tanımlayıcı kullanabilirsiniz. Örneğin, cihazın spam yapan bir kullanıcı tarafından kullanılan sanal bir cihaz olmadığını kanıtlayabilirsiniz. Taklit edilmesi zor tanımlayıcılar, inkar edilemezlik de sağlar. Cihaz, bir mesajı gizli anahtarla imzalarsa mesajı başka birinin cihazının gönderdiğini iddia etmek zordur. İnkar edilemezlik, kullanıcının istediği bir şey (ör. ödeme kimlik doğrulaması) veya istemediği bir özellik (ör. pişman olduğu bir mesaj gönderme) olabilir.

Yaygın kullanım alanları ve kullanılacak uygun tanımlayıcı

Bu bölümde, IMEI gibi donanım kimliklerini kullanmaya alternatif yöntemler sunulmaktadır. Kullanıcılar donanım kimliklerini sıfırlayamadığından ve bu kimlikler cihaz kapsamlı olduğundan donanım kimliklerinin kullanılması önerilmez. Çoğu durumda, uygulama kapsamlı bir tanımlayıcı yeterli olur.

Hesaplar

Operatör durumu

Bu durumda uygulamanız, bir operatör hesabı kullanarak cihazın telefon ve mesajlaşma işleviyle etkileşime girer.

Kullanılması önerilen tanımlayıcı: IMEI, IMSI ve Line1

Bu öneriyi neden aldım?

Operatörle ilgili işlevler için gerekliyse donanım tanımlayıcıların kullanılması kabul edilebilir. Örneğin, bu tanımlayıcıları hücresel operatörler veya SIM yuvaları arasında geçiş yapmak ya da IP üzerinden SMS mesajları göndermek için (Line1 için) SIM tabanlı kullanıcı hesaplarında kullanabilirsiniz. Ancak ayrıcalıklı olmayan uygulamalarda, kullanıcı cihaz bilgilerini sunucu tarafında almak için hesapta oturum açılmasını ö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ında istenen izin aracılığıyla kullanılabilmesidir. Kullanıcılar bu izni devre dışı bırakabilir. Bu nedenle, uygulamanızın bu istisnaları sorunsuz bir şekilde işlemesi gerekir.

Mobil abonelik durumu

Bu durumda, uygulama işlevselliğini 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 Subscription ID API.

Abonelik kimliği, cihazda kullanılan yüklü SIM'leri (fiziksel ve elektronik dahil) benzersiz şekilde tanımlamak için bir dizin değeri (1'den başlayarak) sağlar. Uygulamanız bu kimlik aracılığıyla işlevini belirli bir SIM'in çeşitli abonelik bilgileriyle ilişkilendirebilir. Cihaz fabrika ayarlarına sıfırlanmadığı sürece bu değer belirli bir SIM için sabittir. Ancak aynı SIM'in farklı cihazlarda farklı abonelik kimliğine sahip olduğu veya farklı SIM'lerin farklı cihazlarda aynı kimliğe sahip olduğu durumlar olabilir.

Bu öneriyi neden aldım?

Bazı uygulamalar şu anda bu amaçla ICC kimliğini kullanıyor olabilir. ICC kimliği dünya genelinde benzersiz olduğundan ve sıfırlanamadığından Android 10'dan itibaren erişim, READ_PRIVILEGED_PHONE_STATE iznine sahip uygulamalarla kısıtlanmıştır. Android 11'den itibaren Android, uygulamanın hedef API düzeyinden bağımsız olarak getIccId() API'si aracılığıyla ICCID'ye erişimi daha da kısıtladı. Etkilenen uygulamalar, bunun yerine abonelik kimliğini kullanacak şekilde taşınmalıdır.

Tek oturum açma

Bu durumda uygulamanız, kullanıcıların mevcut bir hesabı kuruluşunuzla ilişkilendirmesine olanak tanıyan bir tek oturum açma deneyimi sunar.

Kullanılması önerilen tanımlayıcı: Google Hesabı Bağlantısı gibi hesap yöneticisiyle uyumlu hesaplar

Bu öneriyi neden aldım?

Google Hesabı bağlantısı, kullanıcıların mevcut Google hesaplarını uygulamanızla ilişkilendirmelerine 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ımlayabilir ve verilerinin 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 ilgi alanlarına göre bir profil oluşturur.

Kullanılması önerilen tanımlayıcı: Uygulamanız reklamlar için bir kimlik kullanıyor ve Google Play'e yükleniyor veya Google Play'de yayınlanıyorsa bu kimlik, reklam kimliği olmalıdır.

Bu öneriyi neden aldım?

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 reklam kimliğinin reklamcılık kullanım alanlarında kullanılması Google Play Geliştirici İçerik Politikası uyarınca zorunludur.

Uygulamanızda kullanıcı verilerini paylaşıp paylaşmadığınıza bakılmaksızın, bu verileri reklam amacıyla topluyor ve kullanıyorsanız reklam amaçlarını Google 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ı cihazda kuruluşunuzun uygulamalarındaki davranışına göre bir profil oluşturur.

Kullanılması önerilen tanımlayıcı: Reklam kimliği veya Play Install Referrer API'leri

Bu öneriyi neden aldım?

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 bilgi için Google Play Geliştirici İçerik Politikası'na göz atın.

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 Install Referrer API'leri

Bu öneriyi neden aldım?

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 reklam kimliğinin reklamcılık kullanım alanlarında kullanılması Google Play Geliştirici İçerik Politikası uyarınca 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 öneriyi neden aldım?

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 reklam kimliğinin reklamcılık kullanım alanlarında kullanılması Google Play Geliştirici İçerik Politikası uyarınca zorunludur.

Uygulama analizi

Bu durumda uygulamanız, kullanıcının davranışını değerlendirerek aşağıdakileri belirlemenize yardımcı olur:

  • Kuruluşunuzun diğer ürün veya uygulamalarından hangileri kullanıcı için uygun olabilir?
  • Kullanıcıların uygulamanızı kullanmaya devam etmesini sağlama
  • Oturumu kapatmış veya anonim kullanıcılar için kullanım istatistiklerini ve analizleri ölçme

Olası çözümlerden bazıları şunlardır:

  • Uygulama grubu kimliği: Uygulama grubu kimliği, kullanıcı verilerini reklam amacıyla kullanmadığınız sürece bir kullanıcının kuruluşunuza ait birden fazla uygulamadaki davranışını analiz etmenize olanak tanır. Google Play Hizmetleri tarafından desteklenen hedef cihazları hedefliyorsanız uygulama grubu kimliğini kullanmanızı öneririz.
  • Firebase kimliği (FID): FID, kendisini oluşturan uygulamayla sınırlıdır. Bu sayede, tanımlayıcının kullanıcıları uygulamalar arasında izlemek için kullanılması önlenir. Kullanıcı uygulama verilerini temizleyebileceği veya uygulamayı yeniden yükleyebileceği için kolayca sıfırlanabilir. FID oluşturma işlemi basittir. Firebase kurulum kılavuzuna bakın.

Uygulama geliştirme

Kilitlenme raporu

Bu durumda uygulamanız, kullanıcıların cihazlarında ne zaman ve neden kilitlendiğiyle ilgili verileri toplar.

Kullanılması önerilen tanımlayıcı: FID veya uygulama grubu kimliği

Bu öneriyi neden aldım?

FID, oluşturulduğu uygulamayla sınırlıdır. Bu sayede tanımlayıcının, kullanıcıları uygulamalar arasında izlemek için kullanılması engellenir. Kullanıcı uygulama verilerini temizleyebileceği veya uygulamayı yeniden yükleyebileceği için kolayca sıfırlanabilir. FID oluşturma işlemi basittir. Firebase kurulum kılavuzuna bakın. Uygulama grubu kimliği, kullanıcı verilerini reklam amaçlı kullanmadığınız sürece kullanıcının kuruluşunuza ait birden fazla uygulamadaki davranışını analiz etmenize olanak tanır.

Performans raporlaması

Bu durumda uygulamanız, kalitesini artırmaya 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 öneriyi neden aldım?

Firebase Performance Monitoring, sizin için en önemli metriklere odaklanmanıza ve uygulamanızda yapılan son değişikliklerin 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 öneriyi neden aldım?

FID, oluşturulduğu uygulamayla sınırlıdır. Bu sayede tanımlayıcının, kullanıcıları uygulamalar arasında izlemek için kullanılması engellenir. Kullanıcı uygulama verilerini temizleyebileceği veya uygulamayı yeniden yükleyebileceği için kolayca sıfırlanabilir. FID oluşturma işlemi basittir. Firebase kurulum kılavuzuna bakın. Uygulama grubu kimliği, kullanıcı verilerini reklam amaçlı kullanmadığınız sürece kullanıcının kuruluşunuza ait birden fazla uygulamadaki davranışını analiz etmenize olanak tanır.

Cihazlar arası yükleme

Bu durumda, uygulamanızın aynı kullanıcı için birden fazla cihaza yüklendiğinde doğru uygulama örneğini tanımlaması gerekir.

Kullanılması önerilen tanımlayıcı: FID veya GUID

Bu öneriyi neden aldım?

FID, özellikle bu amaç için tasarlanmıştır. Kapsamı uygulamayla sınırlı olduğundan kullanıcıları farklı uygulamalarda izlemek için kullanılamaz ve uygulama yeniden yüklendiğinde sıfırlanır. FID'nin yeterli olmadığı 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 öneriyi neden aldım?

Bir isteğin emülatör veya başka bir cihazı taklit eden başka bir kod yerine 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 olup olmadığını kontrol eder.

Kullanılması önerilen tanımlayıcı: Reklam kimliği

Bu öneriyi neden aldım?

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 sahte erişimi engellemek istiyordur.

Kullanılması önerilen tanımlayıcı: FID veya GUID kullanılması, kullanıcıyı içerik sınırlarını aşmak için uygulamayı yeniden yüklemeye zorlar. Bu da çoğu kullanıcıyı caydırmak için yeterli bir yüktür. 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 cihaz başına kullanıcı durumunu uygulamanıza kaydeder. Bu durumu, aynı cihazda aynı anahtarla imzalanmış başka bir uygulamaya aktarabilirsiniz.

Kullanılması önerilen tanımlayıcı: FID veya GUID

Bu öneriyi neden aldım?

Kullanıcılar uygulamayı yeniden yükleyerek tercihlerini sıfırlamak isteyebileceğinden, bilgilerin yeniden yüklemeler arasında kalıcı olarak saklanması önerilmez.