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ış sayfasını inceleyin. Android izinleriyle çalışmaya ilişkin 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 ş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ışında tanımlayıcılar kullandığında bile kullanım alanlarının çoğuna ulaşabilir.
  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ı kullanmaktan kaçınabilirsiniz.

    Android 10 (API düzeyi 29), hem IMEI hem de seri numaraları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ı veya 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 kimliğini, kimliği tanımlayabilecek bilgilere bağlamanız gerekiyorsa bunu yalnızca kullanıcının açık izniyle yapın.

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

  5. Ödeme sahtekarlığını önleme ve telefon hizmeti 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'ler kullanın. Yüksek değerli içeriklerin korunması için DRM API'yi, kötüye kullanıma karşı koruma sağlamak içinse Play Integrity API'lerini kullanın. Play Integrity API'leri, gizlilik riski taşımadan bir cihazın orijinal olup olmadığını belirlemenin en kolay yoludur.

Bu kılavuzun geri kalan bölümlerinde, bu kurallar Android uygulamaları geliştirme bağlamında ayrıntılı olarak açıklanmaktadır.

Reklam kimlikleriyle çalışma

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

Kullanıcının reklam kimliğini sıfırlama 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ı'nda aşağıdakiler belirtilmiştir:

"...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 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ırabilecek ş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, raporlama, güvenlik ve sahtekarlık algılamayı içerir."

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 geçirirseniz geçerli tüm Analytics SDK'sı 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 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 bilgiler ile birleştirilebilir. Bu durum, kullanıcılarınızdan açık izin almadığınız takdirde Google Play Geliştirici İçerik Politikası'nın ihlali anlamına gelir.

Reklamveren kimliği ile 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" bulunabilir ve bu durum da sorunlara neden olabilir. Ö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 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, mümkün olduğunda benzersiz verileri genelleştirerek en belirgin birleştirme risklerini önleyebilirsiniz. Yukarıdaki örnekte bu, her zaman damgasında aynı modele sahip birden çok 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 açık bir şekilde reklam kimlikleriyle ilişkilendiren tablolar tasarlanmamalıdır. Yukarıdaki ilk örnekte bu, account_id sütununun TABLE-01'e dahil edilmemesi anlamına gelir.

  • Hem reklam kimliği anahtar verilerine 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ı şekilde kontrol ederek ve denetleyerek (ör. 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 şunları 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'ler) ayrı tutun.
    2. Bu kuralın istisnalarını tespit edip yönetmek için erişim günlük kaydı ve denetim işlevlerini 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 (İGG) kullanmaktır. Bu, reklam dışı 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 var olduğu 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 sağlar. 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 küresel 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ı 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ğlantılandırılması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ı tarafından sıfırlanamaz ve fabrika ayarlarına sıfırlama işleminden sonra da kullanılabilir. 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ği ile ilgili değişiklikler

Android 11 ve sonraki sürümleri hedefleyen uygulamalarda geçiş noktası 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 bilgilerine 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ığı olmayan uygulamalar cihazın MAC adresine erişemez; yalnızca IP adresi bulunan ağ arayüzleri görünür. Bu durum, getifaddrs() ve NetworkInterface.getHardwareAddress() yöntemlerini etkilemenin yanı sıra RTM_GETLINK Netlink mesajlarının gönderilmesini de etkiliyor.

Aşağıda, uygulamaların bu değişiklikten etkilenme yollarının listesi yer almaktadır:

  • NetworkInterface.getHardwareAddress(), her arayüz için null değerini 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'in ü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() aracılığıyla ağ değişikliklerini dinleyip ağla ilişkili LinkProperties.getRoutes() yöntemini ç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 gizlilikle ilgili çıkarımlar da içerir. Bu nedenle, bu özelliklerin birbirleriyle nasıl etkileşim kurduğunu 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, uygulama içinde yer alır ve diğer uygulamalar tarafından erişilemez.
  • Uygulama grubu: Önceden tanımlanmış ilgili uygulamalar grubu, kimliğe erişebilir.
  • Cihaz: Kimliğe cihazda yüklü tüm uygulamalar erişebilir.

Bir tanımlayıcıya verilen kapsam ne kadar genişse izleme amacıyla kullanılma riski de o kadar artar. Öte yandan, bir tanımlayıcıya yalnızca tek bir uygulama örneği üzerinden erişilebiliyorsa bir tanımlayıcı, farklı uygulamalardaki işlemlerde 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 şunlardır: uygulama içi sıfırlamalar, Sistem Ayarları aracılığıyla sıfırlamalar, uygulama başlatıldığında ve yükleme sırasında sıfırlamalar. Android tanımlayıcıları farklı ömürlere sahip olabilir ancak bu süre 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.
  • Install-reset: Kullanıcı, uygulamayı 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ırlandıktan sonra da geçerliliğini korur.

Sıfırlanabilirlik, kullanıcılara mevcut profil bilgileriyle ilişkisi kesilen yeni bir kimlik oluşturma olanağı tanır. Bir tanımlayıcı ne kadar uzun ve daha güvenilir bir şekilde kalırsa (ör. fabrika ayarlarına sıfırlama işleminde kalıcı olan bir tanımlayıcı) kullanıcının uzun vadeli izlemeye maruz kalma riski de o kadar büyük olur. Tanımlayıcı, uygulamanın yeniden yüklenmesinden sonra sıfırlanırsa bu, kalıcılığı azaltır ve kimliğin uygulama içinden veya Sistem Ayarları'ndan sıfırlanması için 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ı oluşturur. Yani, ilişkili kapsam dahilinde aynı tanımlayıcıların mevcut olması gerekir. 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 onu oluşturmak için kullanılan rastgelelik kaynağına bağlıdır. Örneğin, yükleme tarihiyle başlatılan rastgele tanımlayıcıların (2019-03-01 gibi) çakışma olasılığı, Unix zaman damgasıyla (ör. 1551414181) 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ülasyondaki tanımlayıcının benzersizliği ne kadar az olursa gizlilik koruması da o kadar büyük olur, çünkü tekil bir kullanıcıyı izlemek için daha az yararlı olur.

Bütünlük koruması ve inkar edilemezlik

İlişkilendirilen cihazın veya hesabın belirli özelliklere sahip olduğunu kanıtlamak için adres sahteciliği veya tekrarlanması 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. Sahte olması zor olan tanımlayıcılar, tekrarlanabilirlik özelliği de sağlar. Cihaz, gizli anahtarla bir mesajı imzalarsa iletiyi başka birisinin cihazının gönderdiğini iddia etmek zordur. İnkar edilemezlik, kullanıcının istediği bir şey (ör. ödeme kimliğini doğrularken) veya pişman olduğu bir mesaj göndermesi gibi istenmeyen bir mal 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ı bunları sıfırlayamadığı ve cihaz kapsaması eklendiği için donanım kimliklerinin kullanılması önerilmez. Çoğu durumda, uygulama kapsamlı bir tanımlayıcı yeterlidir.

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 Satır1

Neden bu öneriyi görüyorsunuz?

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ı cep telefonu operatörleri veya SIM yuvaları arasında geçiş yapmak ya da SIM tabanlı kullanıcı hesapları olan IP (Line1 için) üzerinden SMS mesajları göndermek için kullanabilirsiniz. Bununla birlikte, ayrıcalığı olmayan uygulamalarda kullanıcı cihaz bilgilerini sunucu tarafında almak için hesapta oturum açmanızı öneririz. Bunun nedenlerinden biri, Android 6.0 (API düzeyi 23) ve üstü sürümlerde bu tanımlayıcıların sadece çalışma zamanı izni aracılığıyla kullanılabilmesidir. Kullanıcılar bu izni değiştirebilir, bu nedenle uygulamanız bu istisnaları sorunsuz bir şekilde ele almalıdır.

Mobil abonelik durumu

Bu durumda, uygulama işlevselliğini cihazdaki belirli mobil hizmet abonelikleriyle ilişkilendirmeniz gerekir. Örneğin, cihazın SIM aracılığıyla mobil aboneliklerine göre belirli premium uygulama özelliklerine erişimi doğrulamanız gerekebilir.

Kullanılacak ö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 şekilde tanımlamak için 1'den başlayan bir dizin değeri sağlar. Uygulamanız, bu kimlik aracılığıyla işlevlerini 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. Bununla birlikte, aynı SIM'in farklı cihazlarda farklı bir Abonelik Kimliğine veya farklı cihazlarda farklı SIM'lerin aynı kimliğe sahip olduğu durumlar da olabilir.

Neden bu öneriyi görüyorsunuz?

Bazı uygulamalar şu anda bu amaçla ICC kimliğini kullanıyor olabilir. ICC kimliği küresel olarak benzersiz olduğundan ve sıfırlanamaz. Bu nedenle bu erişim, Android 10'dan itibaren READ_PRIVILEGED_PHONE_STATE iznine sahip uygulamalarla sınırlandırılmıştır. Android 11'den itibaren Android, uygulamanın hedef API düzeyi ne olursa olsun 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şkilendirmelerine olanak tanır.

Kullanılması önerilen tanımlayıcı: Hesap yöneticisi uyumlu hesaplar (ör. Google Hesabı Bağlama)

Neden bu öneriyi görüyorsunuz?

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ükleme veya yayınlama için bir kimlik kullanıyorsa bu kimlik, reklam kimliği olmalıdır.

Neden bu öneriyi görüyorsunuz?

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ı kimliği sıfırlayabileceğinden, Google Play Geliştirici İçerik Politikası uyarınca 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, kuruluşunuzun aynı cihazdaki uygulamalarındaki davranışlarına dayalı olarak bir kullanıcı profili oluşturur.

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

Neden bu öneriyi görüyorsunuz?

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 kimlik kullanıyorsanız bu kimlik, 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ı tespit etmek için dönüşümleri izlersiniz.

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

Neden bu öneriyi görüyorsunuz?

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ı kimliği sıfırlayabileceğinden, Google Play Geliştirici İçerik Politikası uyarınca 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ş ilgi alanlarına dayalı reklamlar gösterir.

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

Neden bu öneriyi görüyorsunuz?

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ı kimliği sıfırlayabileceğinden, Google Play Geliştirici İçerik Politikası uyarınca 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şunuzdaki diğer ürün veya uygulamalardan hangilerinin kullanıcı için uygun olabileceği.
  • Kullanıcıların uygulamanızı kullanmakla ilgilenmelerini nasıl sağlayabilirsiniz?
  • 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 reklam amaçlı kullanmadığınız sürece, kuruluşunuza ait birden fazla uygulamadaki kullanıcı davranışını analiz etmenize olanak tanır. Google Play hizmetleri tarafından desteklenen cihazları hedefliyorsanız Uygulama Grubu Kimliği kullanmanızı öneririz.
  • Firebase Kimliği (FID): FID, kendisini oluşturan uygulama kapsamına alınır. Bu, 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ükleyebildiğ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

Neden bu öneriyi görüyorsunuz?

FID, kendisini oluşturan uygulama 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ılar uygulama verilerini temizleyebildiği veya uygulamayı yeniden yükleyebildiği için kolayca sıfırlanabilir. FID oluşturma işlemi oldukça basittir. Firebase kurulum kılavuzunu inceleyin. 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ılacak önerilen tanımlayıcı: Firebase Performance Monitoring

Neden bu öneriyi görüyorsunuz?

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

Neden bu öneriyi görüyorsunuz?

FID, kendisini oluşturan uygulama 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ılar uygulama verilerini temizleyebildiği veya uygulamayı yeniden yükleyebildiği için kolayca sıfırlanabilir. FID oluşturma işlemi oldukça basittir. Firebase kurulum kılavuzunu inceleyin. 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, uygulamanızın aynı kullanıcı için birden fazla cihaza yüklendiğinde doğru örneğini tanımlaması gerekir.

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

Neden bu öneriyi görüyorsunuz?

FID açık bir şekilde bu amaç için tasarlanmıştır; kapsamı uygulamayla sınırlıdır ve farklı uygulamalarda kullanıcıları izlemek için kullanılamaz. Ayrıca uygulama yeniden yüklendiğinde sıfırlanır. FID'nin yetersiz olduğu 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ılacak önerilen tanımlayıcı: Google Play Integrity API bütünlük jetonu

Neden bu öneriyi görüyorsunuz?

İsteğin bir emülatör veya başka bir cihazda adres sahteciliği yapan 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 eylemlerinin orijinal ve doğrulanabilir olup olmadığını kontrol eder.

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

Neden bu öneriyi görüyorsunuz?

Kullanıcı kimliği sıfırlayabileceğinden, Google Play Geliştirici İçerik Politikası uyarınca reklamcılık kullanım alanlarında reklam kimliğinin kullanılması zorunludur.

Dijital haklar yönetimi (DRM)

Bu durumda, uygulamanız fikri mülkiyete veya ücretli içeriğe sahte erişimi korumak ister.

Önerilen kullanım tanımlayıcısı: 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ıyı engellemek için yeterli bir yüktür. Bu yeterli koruma sağlamıyorsa Android, içeriğe erişimi sınırlandırmak için kullanılabilen bir DRM API'si sağlar. Bu API'de, APK başına bir tanımlayıcı olan Widevine kimliği de yer alır.

Kullanıcı tercihleri

Bu durumda uygulamanız, özellikle oturum açmamış kullanıcılar için cihaza göre kullanıcı durumunu kaydeder. Bu durumu, aynı cihazda aynı anahtarla imzalanmış başka bir uygulamaya aktarabilirsiniz.

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

Neden bu öneriyi görüyorsunuz?

Kullanıcılar uygulamayı yeniden yükleyerek tercihlerini sıfırlamak isteyebilecekleri için bilgilerin yeniden yükleme yoluyla kalıcı olması önerilmez.