Android 17 Kişi Seçici ile Davet Akışı Nasıl Kurulur?
Kısa yanıt: Davet için tüm rehbere erişmek gerekir mi?
Kullanıcı bir arkadaşını davet edecek veya tek seferlik paylaşım yapacaksa Android 17'nin sistem kişi seçicisi, tüm adres defterini açan geniş READ_CONTACTS iznine çoğu akışta daha uygun bir seçenektir. Uygulama hangi veri alanlarına ihtiyaç duyduğunu belirtir; kullanıcı belirli kişileri seçer; uygulama yalnızca seçilen veriye geçici okuma erişimi alır. Android'in güncel geliştirici kılavuzu bu davranışı Android 17 ve üzeri için belgeliyor. Yine de davet akışının bütününü seçici çözmez: alıcıya ne gönderileceği, tekrar davet, iptal ve veri saklama kararları uygulamanın sorumluluğundadır.
Bu yazı, yerel ağ cihaz seçicisinden farklı bir izin ve veri akışını ele alır. Cihaz erişimiyle ilgili konu için Android yerel ağ izni karar rehberine bakabilirsiniz. Mobil ürünün izin, davet ve hesap deneyimini birlikte planlamak için Webinle mobil uygulama geliştirme sayfasını inceleyin.
Önce ihtiyaç duyulan veri alanını daraltın
"Kişi seç" düğmesinin amacı net olmalı. Yalnızca SMS daveti gönderecekseniz telefon numarası, e-posta daveti gönderecekseniz e-posta adresi yeterli olabilir. Ad, fotoğraf veya posta adresi gerçekten kullanılmayacaksa bunları istemeyin. Seçicinin çoklu alan talebini desteklemesi, her alanı varsayılan olarak almanız gerektiği anlamına gelmez. Kullanıcıya seçimin neden istendiğini düğmeden önce bir cümleyle anlatın; sonuç ekranında seçilen alıcıyı gözden geçirme imkânı verin.
Android belgesi, yeni seçicinin ContactsPickerSessionContract.ACTION_PICK_CONTACTS isteğiyle açıldığını ve talep edilen alanların ContactsContract.CommonDataKinds türleriyle belirtildiğini anlatıyor. Seçici tek veya çoklu kişi seçimine göre davranabiliyor. Tasarım kararında, tek alıcı için çoklu seçimi açık bırakıp yanlışlıkla toplu davet göndermeyin. Çoklu davet iş ihtiyacıysa seçim sınırı, tekrarlanan numara ve kullanıcının son onay ekranını ayrıca planlayın. Desteklenen davranışı kendi hedef cihazlarınızda test edin.
Geçici URI ve kayıt sınırı
Kullanıcı seçim yaptığında sistem bir oturum URI'si döndürür. Android kılavuzuna göre bu URI, seçilen veriyi okumak için geçici yetki sağlar. Sonucu arka planda okuyup yalnızca davet işlemi için gereken alanları alın. URI'yi kalıcı veri kaynağı gibi saklayıp haftalar sonra yeniden okumayı tasarlamayın. Daha sonra erişim gerekiyorsa verinin hangi amaçla ve ne kadar süre tutulacağını kullanıcı deneyimi ve veri yönetimi kararıyla belirleyin. Kullanıcının seçimi, rehberin tamamını sürekli eşitleme izni değildir.
Bir kişide birden fazla telefon veya e-posta bulunabilir. Seçici tek kişi kaydıyla birden fazla veri öğesi döndürebileceğinden, hangi adrese davet gideceğini açıkça gösterin. Aynı kişiye iki kanal üzerinden istemsiz davet gitmesini önlemek için alıcı tanımlama ve tekrar kontrolü ekleyin. İptal edilen seçimde boş sonuçla devam etmeyin; uygulamayı önceki ekrana güvenli biçimde döndürün. Veri alanı eksikse kullanıcıya neyin eksik olduğunu söyleyin ve alternatif olarak bilgiyi elle girmesine izin verin.
Eski cihazlar ve Play kuralı
Android 17 dışındaki cihazlar için akışınızın nasıl davranacağını ayrıca tasarlayın. Belge, Android 17 hedefleyen uygulamalarda eski Intent.ACTION_PICK isteğinin yeni arayüze yükseltilebildiğini; fakat çoklu veri alanı ve oturum URI'si gibi yeni yetenekler için uygulamanın kodunun uyarlanması gerektiğini söylüyor. Sadece eski ekranda seçim yapılabildiğini görmek, yeni oturum sonucunun doğru işlendiğini kanıtlamaz. Cihaz sürümü, hedef SDK ve davet türü matrisini test planına yazın.
Android Developers'ın 2026 politika duyurusu, davet ve paylaşım gibi akışlarda seçici veya uygun gizlilik odaklı alternatifin birincil yol olmasını, geniş kişi izninin ise uygulamanın onsuz çalışamadığı durumlarla sınırlandırılmasını açıklıyor. Bu nedenle Play'e gönderim öncesi izin manifestini ve gerçek özellik ihtiyacını birlikte inceleyin. Sürekli ve geniş kişi erişimi gerçekten çekirdek işlevse gerekçelendirme yükümlülüğünü güncel Play kurallarından ayrıca doğrulayın; yalnızca davet düğmesi için bu izni otomatik varsaymayın.
Hata ve kabul testleri
Davet öncesi son onay ekranı
Seçiciden dönüş, davetin gönderilmesiyle aynı adım olmak zorunda değildir. Kullanıcıya seçilen kişinin hangi telefonuna veya e-postasına mesaj gideceğini gösteren kısa bir onay ekranı sunun. Kişi kartında iş ve özel numara birlikteyse yalnızca görünen ada güvenmeyin; seçilen veri öğesini açık biçimde yazın. Böylece yanlış alıcıya gönderim riskini, uygulama daha ağ isteği yapmadan azaltabilirsiniz.
Alıcı zaten uygulamada kayıtlıysa akışın ne yapacağını da kararlaştırın. Yeni davet oluşturmak, mevcut bağlantı isteğini göstermek veya kullanıcıya farklı seçenek sunmak ürün kararıdır. Bu karar için gerekli kontrolü sunucuda yapın; kişinin cihazdaki adı tek başına güvenilir hesap kimliği değildir. Davet metninde gereksiz kişisel bilgi kullanmayın, özellikle çoklu davette alıcıların birbirini görüp görmeyeceğini düşünün.
Kabul testinde şu yolları ayrı çalıştırın: kullanıcı seçimi iptal eder; seçilen kişide talep edilen alan yoktur; aynı kişide birden çok numara vardır; çoklu seçim sınırına ulaşılır; uygulama işlem ortasında kapanır; davet sunucusu hata döndürür. Son durumda yeni bir kişi seçimi istemek yerine mevcut alıcı ve gönderim durumunu gösterin. Tekrar deneme, aynı davetin mükerrer gönderilmesine yol açmamalıdır. Kullanıcıya gönderim sonucunu anlaşılır biçimde bildirin.
Günlüklere tüm rehberi veya seçilen kişilerin gereksiz kişisel verilerini yazmayın. Teknik inceleme için işlem kimliği, izin yöntemi, alan türü ve hata sınıfı çoğu zaman yeterli olur. Alıcının adresini gerçekten saklamak gerekiyorsa saklama süresi, erişim yetkisi ve silme yolu ayrı karardır. Kişi seçicinin izin minimizasyonu, uygulamanın kendi sunucusundaki veri yönetimini otomatik güvenli yapmaz.
Bir mobil ürün toplantısında ilk karar, davetin kullanıcıya hangi görevi yaptıracağıdır. Ardından gerekli alan, cihaz desteği, hata yolu ve veri ömrünü yazın. Bu dört karar netleşince küçük bir prototip ve gerçek cihaz kabul testiyle ilerleyin. Var olan uygulamanızdaki geniş kişi iznini daraltmak veya yeni davet akışını tasarlamak için Webinle mobil uygulama hizmetini değerlendirebilirsiniz.