Android, kullanıcıların en son yeniliklerden yararlanmasına yardımcı olmaya odaklanırken güvenlik ve gizliliklerine öncelik veriyor.
Bu sayfada açıklanan en iyi uygulamalardan bazıları kopya sayfasında da yer almaktadır.
İzinlere dikkat edin
Şeffaf davranarak ve kullanıcılara uygulamanızı kullanma deneyimleri üzerinde kontrol olanağı sunarak kullanıcılarınızın güvenini kazanın.
Özelliğinizin gerekli olduğu minimum izinleri isteyin. Uygulamanızda önemli değişiklikler yaptığınızda, uygulamanızın özelliklerine hâlâ ihtiyaç duyulduğunu onaylamak için istenen izinleri inceleyin.
- Android'in yeni sürümlerinin, genellikle izinleri gerektirmeden gizliliğe duyarlı bir şekilde erişim yolları sunduğunu unutmayın. Daha fazla bilgi edinmek için Uygulamanızın izinleri beyan etmesi gerekip gerekmediğini değerlendirme bölümüne bakın.
- Uygulamanız Google Play'de dağıtılırsa Android Vitals size uygulamanızdaki izinleri reddeden kullanıcıların yüzdesini gösterir. Gerekli izinleri en sık reddedilen özelliklerin tasarımını yeniden değerlendirmek için bu verileri kullanın.
Uygulamanızdaki bir özelliğin neden izin gerektirdiğini açıklamak için önerilen akışı takip edin. İzni kullanıcı izninin net olması için izni uygulama başlatılırken değil, gerektiğinde talep edin.
Kullanıcıların veya sistemin izni birden fazla kez reddedebileceğini unutmayın. Android, aynı uygulamadan gelen izin isteklerini yoksayarak bu kullanıcı tercihine saygı gösterir.
Kullanıcılar bir izni reddettiğinde veya iptal ettiğinde kontrollü azaltma uygulayın. Örneğin, kullanıcı mikrofon izni vermezse uygulamanızın ses girişi özelliğini devre dışı bırakabilirsiniz.
Uygulamanızı güncellediğinizde, uygulamanızın artık ihtiyaç duymadığı çalışma zamanı izinlerine uygulamanızın erişimini kaldırın.
Tehlikeli izinlerle korunan verilere erişen bir SDK veya kitaplık kullanıyorsanız kullanıcılar bunu genellikle uygulamanızla ilişkilendirir. SDK'larınızın neden gerekli olduğunu ve neden gerekli olduğunu anladığınızdan emin olun.
- Uygulamanızı Android 11'de (API düzeyi 30) test ediyorsanızveri erişimi denetimi ve üçüncü taraf kitaplık kodlarında, gizli verilere eriştiğiniz yerleri keşfetmek için.
Konum kullanımınızı en aza indirin
Uygulamanız konum verileri olmadan da kullanım alanlarını destekliyorsa konum izni istemeyin. Uygulamanız konuma erişim izni istiyorsa kullanıcıların bilinçli bir karar vermelerine yardımcı olun.
- Uygulamanızın konum bilgilerini toplaması gerekiyorsa kullanıcılara bu bilgileri hangi özel avantajları sağlamak için kullandığınızı açıklayın.
- Uygulamanızın, kullanıcının cihazını Bluetooth ya da Kablosuz ağ üzerinden yakındaki bir cihazla eşlemesi gerekiyorsa konum izinlerini gerektirmeyen tamamlayıcı cihaz yöneticisini kullanın.
- Uygulamanızın ihtiyaç duyduğu konum ayrıntı düzeyini inceleyin. Yaklaşık konum erişimi, konumla ilgili çoğu kullanım alanını yerine getirmek için yeterlidir.
- Uygulamanız kullanıcı tarafından görülebilirken konum verilerine erişin. Böylece kullanıcılar uygulamanızın neden konum bilgisi istediğini daha iyi anlayabilirler.
- Uygulamanız, arka plandaki konum için zorunluysa (ör. coğrafi sınır çizme) uygulamanın temel işlevi açısından kritik öneme sahip olduğundan ve kullanıcılar tarafından açıkça görülecek şekilde yapıldığından emin olun. Arka planda konum kullanırken dikkat edilmesi gereken noktalar hakkında daha fazla bilgi edinin.
- Android 10 (API düzeyi 29) ve sonraki sürümlerde kullanıcılar, uygulamanız kullanımdayken uygulamanızın konum erişimini sınırlandırabilirler. Uygulamanızı konuma her zaman erişememesi durumunda düzgün bir şekilde bozulacak şekilde tasarlayın.
- Uygulamanızın, kullanıcı arayüzünden ayrıldıktan sonra kullanıcı tarafından başlatılan devam eden bir görev için konum erişimini koruması gerekiyorsabir ön plan hizmeti
başlatma çok yardımcı oluyor. Bunu, Android gibi yaşam döngüsüyle ilgili geri çağırmalardan birinde (ör.
onPause()
) yapabilirsiniz. - Ön plan hizmetlerini arka planda başlatmayın. Bunun yerine uygulamanızı bir bildirimden başlatabilir ve uygulamanızın kullanıcı arayüzü görünür olduğunda konum kodunu çalıştırabilirsiniz.
Verileri güvenli bir şekilde işleyin
Not: Hassas veri olarak kabul edilen verilerle ilgili daha fazla bilgiyi Google Play Geliştirici Politika Merkezi'ndeki Kullanıcı Verileri makalesinde bulabilirsiniz.
Hassas verileri ele alırken şeffaf ve güvenli olun.
- Uygulamanızın hassas verileri ne zaman ve neden topladığı, kullandığı ya da paylaştığı konusunda kullanıcıları bilgilendirin.
- Mümkünse kapsamlı depolama modelini kullanın. Uygulamanızın kullanım alanlarına göre kapsamlı depolama alanına nasıl geçiş yapacağınızı öğrenin.
- Her zaman güvenli ağ bağlantılarını kullanın. Uygulamanızın aktif olmayan verileri için Android'in yerleşik kimlik bilgisi şifrelemesini kullanın. İletimdeki verilerde, hassasiyetten bağımsız olarak tüm veri iletimi için SSL'nin devamı olan TLS'yi kullanın.
- Hassas veri içeren dosyaları uygulama özel dizininize dahili depolama içine yerleştirin.
- Android 10'da (API düzeyi 29) yalnızca uygulamanızla ilgili dosyaları harici depolama alanındaki uygulamaya özel dizinde depolayın. Kapsamlı depolama alanı hakkında daha fazla bilgi edinin.
- Hassas verileri başka bir uygulamaya iletmeniz gerekiyorsa açık bir amaç kullanın. Diğer uygulamanın erişimini daha da kısıtlamak için tek seferlik verilere erişim verin.
- Uygulamanız ön plandayken bile, mikrofondan veya kameradan yakaladığınıza dair gerçek zamanlı bir gösterge gösterin. Android 9 (API düzeyi 28) ve sonraki sürümler, uygulamanız arka plandayken mikrofon veya kamera erişimine izin vermez.
- Günlük verilerini veya uygulamanızın günlük dosyalarına hassas verileri eklemeyin. Kullanıcı verilerini işleme hakkında daha fazla bilgi edinin.
Jetpack, uygulamanızın verilerini daha güvende tutmak için çeşitli kitaplıklar sunar. Jetpack Güvenlik kitaplığı ve Jetpack Tercihleri kitaplığını kullanma hakkında daha fazla bilgi edinin.
Sıfırlanabilir tanımlayıcıları kullanma
Kullanıcılarınızın gizliliğine saygı gösterin ve sıfırlanabilir tanımlayıcıları kullanın. Daha fazla bilgi için Benzersiz tanımlayıcılarla ilgili en iyi uygulamalar bölümüne bakın.
- Bu tanımlayıcılar kalıcı olduğundan IMEI veya cihazın seri numarasına erişmeyin. Android 10 (API düzeyi 29) veya sonraki sürümleri hedefleyen bir uygulamada bu tanımlayıcılara erişmeye çalışırsanız
SecurityException
oluşur. - Kullanıcı profili veya reklam kullanım alanları için yalnızca reklam kimliği kullanın. Google Play'deki uygulamalar için bu şart. Kişiselleştirme için reklam izlemede her zaman kullanıcı tercihlerine saygı gösterin.
- Reklam olmayan kullanım alanlarının büyük çoğunluğu için uygulama kapsamlı olan özel olarak depolanan, genel olarak benzersiz bir kimlik (GUID) kullanın.
- Kullanıcının bir hesapta oturum açmasını gerektirmeden, sahip olduğunuz uygulamalar arasında durumu paylaşmak için Android'in güvenli ayarlarını (SSAID) kullanın. Uygulamalar arasında oturumu kapatılmış kullanıcı tercihlerini izleme hakkında daha fazla bilgi edinin.