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

Bu dokümanda, kullanım alanınıza göre uygulamanız için uygun tanımlayıcıları seçmeyle ilgili yol gösterici bilgiler verilmektedir.

Android izinlerine genel bir bakış için İzinlere genel bakış başlıklı makaleyi inceleyin. Android izinleriyle çalışmayla ilgili 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ını karşılayan en kısıtlayıcı tanımlayıcıyı kullanın. Özellikle şu en iyi uygulamalara uyun:

  1. Mümkün olduğunda kullanıcı tarafından sıfırlanabilir tanımlayıcıları seçin. Uygulamanız, sıfırlanamayan donanım kimlikleri dışındaki tanımlayıcılar kullansa 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ırlamadan Uluslararası Mobil Cihaz 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, bu tanımlayıcılara erişebilmek için cihaz veya profil sahibi bir uygulama olmalı, özel operatör izinlerine sahip olmalı ya da READ_PRIVILEGED_PHONE_STATE ayrıcalıklı iznine sahip olmalıdır.

  3. Reklam kimliğini yalnızca kullanıcı profilleme veya reklam kullanım alanları için kullanın. Reklam kimliği kullanırken her zaman reklam izlemeyle ilgili kullanıcı seçimlerine saygı gösterin. Reklam kimliğini kimliği tanımlayabilecek bilgilere bağlamanız gerekiyorsa bunu yalnızca kullanıcıdan açık izin alarak yapın.

  4. Reklam kimliği sıfırlama işlemlerini birbirine bağlamayın.

  5. Ödeme sahtekarlığını önleme ve telefon görüşmesi dışındaki diğer tüm kullanım alanları için mümkün olduğunda Firebase kurulum 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 bir 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'sini, kötüye kullanıma karşı koruma için Play Integrity API'leri kullanın. Play Integrity API'ler, 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 ayrıntılı olarak açıklanmaktadır.

Reklam kimlikleriyle çalışma

Reklam kimliği, kullanıcı tarafından sıfırlanabilir bir tanımlayıcıdır ve reklam kullanım alanları için uygundur. Ancak bu kimliği kullanırken göz önünde bulundurmanız gereken bazı önemli noktalar vardır:

Kullanıcının reklam kimliğini sıfırlama amacına 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ırlama işlemlerini birbirine bağlamayın. Google Play Geliştirici İçerik Politikası şunları belirtir:

"...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."

Her zaman ilişkili kişiselleştirilmiş reklam işaretine uyun. 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ı'nda aşağıdakiler belirtilmiştir:

"...bir 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 gizlilik veya güvenlik politikalarını inceleyin. Örneğin, Google Analytics SDK'sındaki enableAdvertisingIdCollection() yöntemine true parametresini gönderirseniz geçerli tüm Analytics SDK politikalarını inceleyip bunlara uyduğunuzdan emin olun.

Ayrıca Google Play Geliştirici İçerik Politikası uyarınca, reklam kimliğinin "kimliği tanımlayabilecek bilgilerle bağlantılı 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
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 bilgiler (PII) olarak birleştirilebilir. Bu durum, kullanıcılarınızdan açıkça izin almamanız durumunda Google Play Geliştirici İçerik Politikası'nın ihlaline neden 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 (PII) hem de reklam kimliği içeren tablolarda görünen "yarı tanımlayıcılar" olabilir. Bu da sorunlara neden olur. Örneğin, TABLE-01 ve TABLE-02 tablolarını 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 etkinlikleri olduğunda, etkinliğin zaman damgasını ve cihaz modelini kullanarak TABLE-01 reklamveren kimliği ile TABLE-02'de bulunan kimliği tanımlayabilecek bilgileri birleştirmek yine de 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 genelleyerek en belirgin birleştirme risklerini önleyebilirsiniz. Önceki örnekte bu, her zaman damgası için aynı modele sahip birden fazla cihazın görünmesi amacıyla zaman damgasının doğruluğunun azaltılması anlamına gelir.

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

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

  • Hem reklam kimliği anahtarıyla şifrelenmiş 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 olanağını sıkı bir şekilde kontrol edip denetleyerek (örneğin, tablolar arasında birleştirme yaparak) reklam kimliği ve kimliği tanımlayabilecek bilgiler arasında ilişkilendirme riskini azaltabilirsiniz. Genel olarak, erişimi kontrol etmek aşağıdakileri yapmayı ifade eder:

    1. Her iki EKL'de yer alan kişi veya rollerin sayısını en aza indirmek için reklamveren kimliği anahtarlı verilerin ve kimliği tanımlayabilecek bilgilerin (PII) erişim kontrol listelerini (EKL'ler) ayrı tutun.
    2. Bu kurala istisnaları tespit edip yönetmek için erişim günlüğü 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'ler ile çalışma

Bir cihazda çalışan uygulama örneğini tanımlamanın en basit çözümü, Firebase yükleme kimliği (FID) kullanmaktır. Reklam dışı kullanım alanlarının çoğunda bu çözüm önerilir. Bu tanımlayıcıya yalnızca temel hazırlığının yapıldığı uygulama örneği erişebilir ve kimlik, yalnızca uygulama yüklü olduğu sürece devam ettiği için (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 kullanışlı olmadığı durumlarda, bir uygulama örneğini benzersiz şekilde tanımlamak için özel dünya genelinde benzersiz kimlikler (GUID'ler) de kullanabilirsiniz. Bunu yapmanın en kolay yolu, aşağıdaki kodu kullanarak kendi GUID'inizi 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 GUID'leri harici (paylaşılan) depolama alanı yerine dahili depolama alanında saklayın. Daha fazla bilgi için Veri ve dosya depolamaya genel bakış sayfasına bakın.

MAC adresleriyle çalışmıyor

MAC adresleri global olarak benzersizdir, kullanıcı tarafından sıfırlanamaz ve fabrika ayarlarına sıfırlanmaya 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 bilgisine dayalı kimlik bilgisi:
    • Kullanıcı kimlik bilgisi: kullanıcı adı
    • Sertifika kimlik bilgisi: cert ve cert 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 etkiler.

Uygulamaların bu değişiklikten etkilenme biçimlerinin listesi aşağıda verilmiş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üzler hakkında bilgi döndürmez.
  • Uygulamalar RTM_GETLINK mesajları gönderemez.

Çoğu geliştiricinin NetworkInterface, getifaddrs() veya Netlink soketleri gibi düşük düzey API'ler yerine ConnectivityManager'in üst düzey API'lerini kullanması gerektiğini unutmayın. Örneğin, mevcut rotalarla ilgili güncel bilgilere ihtiyacı olan bir uygulama, ConnectivityManager.registerNetworkCallback() kullanarak ağ değişikliklerini dinleyerek ve ağın ilişkili LinkProperties.getRoutes() öğesini çağırarak bu bilgileri edinebilir.

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. Bununla birlikte, bu özellikler gizlilikle ilgili etkileri de beraberinde getirir. Bu nedenle, bu özelliklerin birbiriyle 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ısı kapsamı genellikle üç şekildedir:

  • Tek uygulama: Kimlik, uygulama içinde yer alır ve diğer uygulamalar tarafından erişilemez.
  • Uygulama grubu: Kimliğe, önceden tanımlanmış bir ilgili uygulama grubu erişebilir.
  • Cihaz: Kimliğe, cihaza yüklü tüm uygulamalar erişebilir.

Bir tanımlayıcının kapsamı ne kadar geniş olursa izleme amacıyla kullanılması 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 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 ö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 kurulum sırasında sıfırlamalar bulunur. Android tanımlayıcıların kullanım süreleri değişiklik gösterebilir ancak kullanım süresi 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 yükleyip kaldırdığında 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'de kalıcı: Kimlik, fabrika ayarlarına sıfırlandıktan sonra da kalır.

Sıfırlanabilirlik, kullanıcılara mevcut profil bilgilerinden ilişkisi kaldırılmış yeni bir kimlik oluşturma olanağı sunar. Tanımlayıcı ne kadar uzun süre ve ne kadar güvenilir bir şekilde kalırsa (ör. fabrika ayarlarına sıfırlama işlemlerinden sonra kalırsa) kullanıcının uzun süreli izlemeye tabi tutulma riski o kadar artar. Tanımlayıcı, uygulama yeniden yüklendiğinde sıfırlanırsa kalıcılık azalır ve uygulama içinde ya da Sistem Ayarları'nda sıfırlanacak 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ı (yani ilişkili kapsamda aynı tanımlayıcıların varlığını) belirler. En üst düzeyde, dünya genelinde 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 entropisi ve oluşturulması için kullanılan rastgelelik kaynağına bağlıdır. Örneğin, çakışma olasılığı, yüklemenin takvim tarihiyle (2019-03-01 gibi) oluşturulan rastgele tanımlayıcılar için yüklemenin Unix zaman damgasıyla (1551414181 gibi) oluşturulan tanımlayıcılara kıyasla ç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 popülasyondaki tanımlayıcı ne kadar benzersiz olursa gizlilik koruması o kadar yüksek olur. Bunun nedeni, tek bir kullanıcıyı izlemek için tanımlayıcının o kadar az kullanışlı olmasıdır.

Bütünlük koruması ve inkâr edilemezlik

İlişkili cihazın veya hesabın belirli özelliklere sahip olduğunu kanıtlamak için kimliğini taklit edilmesi veya yeniden oynatılması zor bir tanımlayıcı kullanabilirsiniz. Örneğin, cihazın spam gönderen tarafından kullanılan sanal bir cihaz olmadığını kanıtlayabilirsiniz. Zor olan sahte tanımlayıcılar da tekrar kullanılamaz hale gelir. Cihaz bir mesajı gizli anahtarla imzalarsa iletiyi başka bir kişinin cihazı gönderdiğini iddia etmek zor olur. İnkar edilemezlik, bir ödemenin kimliğini doğrularken olduğu gibi kullanıcının istediği bir özellik olabileceği gibi, pişman olduğu bir mesaj gönderdiğinde olduğu gibi istenmeyen bir özellik de olabilir.

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

Bu bölümde, IMEI gibi donanım kimliklerini kullanmanın alternatifleri açıklanmaktadır. Kullanıcının sıfırlayamadığı ve cihaz kapsamına alındığı için 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, operatör hesabı kullanarak cihazın telefon ve kısa mesaj işleviyle etkileşim kurar.

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

Neden bu öneri 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 IP (1. Satır için) üzerinden SMS mesajları yayınlamak 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 hesap oturumu 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ında izin verilerek kullanılabilmesidir. Kullanıcılar bu izni devre dışı bırakabilir. Bu nedenle, uygulamanız bu istisnaları sorunsuz bir şekilde ele almalıdır.

Mobil abonelik durumu

Bu durumda, uygulama işlevini cihazdaki belirli mobil hizmet abonelikleriyle ilişkilendirmeniz gerekir. Örneğin, cihazın SIM kartındaki mobil aboneliklerine göre belirli ücretli 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'si.

Abonelik Kimliği, cihazda kullanılan takılı SIM'leri (fiziksel ve elektronik dahil) benzersiz şekilde tanımlamak için bir dizin değeri (1'den başlayan) sağlar. Bu kimlik sayesinde uygulamanız, işlevini belirli bir SIM'in çeşitli abonelik bilgileriyle ilişkilendirebilir. Cihaz fabrika ayarlarına sıfırlanmadıkça bu değer belirli bir SIM için sabit kalır. Bununla birlikte, aynı SIM'in farklı cihazlarda farklı bir abonelik kimliğine sahip olduğu veya farklı SIM'lerin farklı cihazlarda aynı kimliğe sahip olduğu durumlar da olabilir.

Neden bu öneri?

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 erişim, Android 10'dan beri 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 ü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, kullanıcıların mevcut bir hesabı kuruluşunuzla ilişkilendirmesine olanak tanıyan tek oturum açma deneyimi sunar.

Kullanılması önerilen tanımlayıcı: Google Hesabı Bağlama gibi hesap yöneticisi ile uyumlu hesaplar

Neden bu öneri?

Google Hesabı Bağlantısı, 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 bir şekilde erişebilirler. Ayrıca, yalnızca gerekli verileri paylaşmak için özel OAuth kapsamları tanımlayabilirsiniz. Böylece, kullanıcıların verilerinin nasıl kullanıldığını açıkça 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ının profilini oluşturur.

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

Neden bu öneri 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. Google Play Geliştirici İçerik Politikası uyarınca reklam kimliğinin kullanılması zorunludur çünkü kullanıcı bunu sıfırlayabilir.

Uygulamanızda kullanıcı verilerini paylaşıp paylaşmadığınızdan bağımsız olarak, reklam amacıyla kullanıcı verilerini toplayıp kullanıyorsanız Play Console'daki Uygulama içeriği sayfasının Veri Güvenliği bölümünde reklam amaçlarını beyan etmeniz gerekir.

Ölçüm

Bu durumda uygulamanız, bir kullanıcının aynı cihazdaki uygulamalarındaki davranışlarına göre bir kullanıcı profili oluşturur.

Kullanılması önerilen tanımlayıcı: Reklam kimliği veya Play yükleme yönlendiren API'leri

Neden bu öneri?

Bu, kuruluşunuzun farklı uygulamalarında bulunan bir kimlik gerektirebilecek reklamlarla ilgili bir kullanım alanıdır. Bu nedenle, reklam kimliği kullanmak en uygun çözümdür. Reklamcılıkla ilgili kullanım alanları için bir kimlik kullanıyorsanız kullanıcı bu kimliği sıfırlayabileceğinden bu kimlik reklam kimliği olmalıdır. Daha fazla bilgi için Google Play Geliştirici İçerik Politikası'nı inceleyin.

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

Neden bu öneri?

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. Reklam kimliği, kullanıcı tarafından sıfırlanabileceği için Google Play Geliştirici İçerik Politikası uyarınca reklamcılık kullanım alanları için zorunludur.

Yeniden pazarlama

Bu durumda uygulamanız, kullanıcının önceki ilgi alanlarına dayalı reklamlar gösteriyor.

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

Neden bu öneri?

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. Reklam kimliği, kullanıcı tarafından sıfırlanabileceği için Google Play Geliştirici İçerik Politikası uyarınca reklamcılık kullanım alanları için zorunludur.

Uygulama analizi

Bu durumda uygulamanız, aşağıdakileri belirlemenize yardımcı olmak için kullanıcının davranışını değerlendirir:

  • Kuruluşunuzun diğer ürünleri veya uygulamalarından hangilerinin kullanıcı için uygun olabileceği.
  • Kullanıcıların uygulamanızı kullanmaya devam etmesini sağlama
  • Oturumu kapalı olan veya anonim kullanıcıların 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 fazla uygulama genelinde bir kullanıcının davranışını analiz etmenize olanak tanır. Google Play hizmetleri tarafından desteklenen cihazları hedefliyorsanız uygulama grubu kimliğini kullanmanızı öneririz.
  • Firebase kimliği (FID): FID, kendisini oluşturan uygulamanın kapsamına sahiptir. Bu, tanımlayıcının uygulamaların genelinde kullanıcıları izlemek için kullanılmasını engeller. Kullanıcı uygulama verilerini temizleyebildiği veya uygulamayı yeniden yükleyebildiği için FID'ler kolayca sıfırlanabilir. FID oluşturma işlemi basittir. Firebase yükleme kılavuzuna bakın.

Uygulama geliştirme

Kilitlenme raporu

Bu durumda uygulamanız, kullanıcının cihazlarında ne zaman ve neden kilitlendiğine dair veriler toplar.

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

Neden bu öneri?

FID, onu oluşturan uygulama için ayarlanır. Bu durum, tanımlayıcının kullanıcıları uygulamalarda izlemek için kullanılmasını engeller. Kullanıcı uygulama verilerini temizleyebildiği veya uygulamayı yeniden yükleyebildiği için FID'ler kolayca sıfırlanabilir. FID oluşturma işlemi basittir. Firebase yükleme kılavuzuna göz atın. Uygulama grubu kimliği, kullanıcı verilerini reklamcılık 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.

Performans raporları

Bu durumda uygulamanız, kalitesini iyileştirmek için yükleme süreleri ve pil kullanımı gibi performans metriklerini toplar.

Kullanılması önerilen tanımlayıcı: Firebase Performance Monitoring

Neden bu öneri?

Firebase Performance Monitoring, sizin için en önemli metriklere odaklanmanıza ve uygulamanızdaki 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

Neden bu öneri?

FID, onu oluşturan uygulama için ayarlanır. Bu durum, tanımlayıcının kullanıcıları uygulamalarda 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 kolaydır. Firebase yükleme kılavuzuna bakın. Uygulama grubu kimliği, kullanıcı verilerini reklamcılık 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.

Cihazlar arası yükleme

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

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

Neden bu öneri?

FID'ler bu amaç için özel olarak tasarlanmıştır. Kapsamı uygulamayla sınırlıdır. Bu sayede, farklı uygulamalardaki kullanıcıları 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 algılama

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

Neden bu öneri?

Bir isteğin emülatörden veya başka bir cihazı taklit eden başka bir koddan 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 uygulamadaki gösterimlerinin ve işlemlerinin orijinal ve doğrulanabilir olup olmadığını kontrol eder.

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

Neden bu öneri?

Google Play Geliştirici İçerik Politikası uyarınca reklam kimliğinin kullanılması zorunludur çünkü kullanıcı bunu sıfırlayabilir.

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ı, 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ırmaya yetecek kadar ağır bir yüktür. Bu yeterli koruma olmazsa Android, içeriğe erişimi sınırlamak için kullanılabilecek bir DRM API'si sağlar. Bu API, APK başına Widevine kimliğini içeren bir tanımlayıcı içerir.

Kullanıcı tercihleri

Bu durumda uygulamanız, özellikle oturum açmamış kullanıcılar için cihaz başına 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

Neden bu öneri?

Kullanıcılar uygulamayı yeniden yükleyerek tercihlerini sıfırlamak isteyebilir. Bu nedenle, yeniden yükleme yoluyla bilgilerin kalıcı olması önerilmez.