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ı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:

  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ışında tanımlayıcılar kullandığında bile kullanım alanlarının çoğunda başarıya ulaşabilir.
  2. 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.

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

  4. Reklam kimliği sıfırlamaları için köprü kullanmayın.

  5. Ö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.

  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ı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:

    1. 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.
    2. 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ında bind() 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.