Tüm yazılar

Android Yerel Ağ İzninde Cihaz Seçici mi Geniş Erişim mi?

WebinleYayımlanma: Güncellenme:

Kısa yanıt

Android uygulamanız yerel ağdaki yazıcı, ekran veya IoT cihazını buluyorsa Android 17 hedefinde önce sistemin cihaz seçicisinin işi karşılayıp karşılamadığını test edin. Kullanıcı bir cihaz seçerek işlemi tamamlayabiliyorsa geniş yerel ağ izni istemek gerekmeyebilir. Uygulamanın temel işlevi tüm ağda sürekli keşif veya doğrudan bağlantı gerektiriyorsa ACCESS_LOCAL_NETWORK çalışma zamanı iznini değerlendirin. Android geliştirici rehberi, SDK 37 ve üzerini hedefleyen uygulamalarda yerel ağ erişiminin varsayılan olarak engellendiğini ve bu iki yolu açıkça ayırıyor.

Kararı cihaz senaryosuyla verin

“Uygulama ağ kullanıyor” cümlesi tek başına izin gerekçesi değildir. Önce kullanıcının yaptığı işi tarif edin: Telefon yakındaki tek bir televizyona medya mı gönderiyor, ofiste seçilen bir yazıcıya çıktı mı iletiyor, yoksa evdeki birçok sensörü arka planda sürekli mi izliyor? İlk iki akışta seçici ile kullanıcının açık cihaz tercihine dayanmak mümkün olabilir. Son akışta daha geniş bağlantı ihtiyacı doğabilir. Gereksinim belgesine cihazın nasıl keşfedildiğini, bağlantının ne kadar sürdüğünü ve çevrimdışı durumda ne beklendiğini yazın.

Bu yazı yerel ağ keşif yetkisine odaklanır. Uygulamanın çevrimdışı veri tutması ve sunucuyla yeniden eşitlenmesi ayrı bir mimari konudur; çevrimdışı çalışma ve veri senkronizasyonu rehberi o kararları ele alır. İki problemi tek izin talebine sıkıştırmak, kullanıcıya neden ağ erişimi istendiğini açıklamayı zorlaştırır.

Seçici yolunu nasıl test etmeli?

Önce cihaz keşfini sistem aracılı akışla kurup gerçek kullanıcı görevini baştan sona deneyin. Uygulama bir cihaz listeliyor diye test bitmez: Kullanıcı doğru cihazı ayırt edebiliyor mu, seçimi iptal ettiğinde ne oluyor, cihaz geçici olarak kaybolduğunda tekrar bağlanabiliyor mu? Android rehberi medya aktarımında çıkış seçicisi, genel bağlantıda NsdManager hizmet seçicisi gibi yolları anlatıyor. Hangi seçicinin uygun olduğu uygulamanın cihaz türüne ve bağlantı protokolüne bağlıdır.

Seçici yalnızca keşif anını çözüyorsa sonraki komut akışını da doğrulayın. Örneğin cihaz seçildikten sonra tekrar seçme zorunluluğu, kullanıcı görevini kesebilir. Bu, geniş izin istemek için otomatik gerekçe değildir; ürün gereksinimi ve platformun sağladığı erişim kapsamı birlikte değerlendirilmelidir. Her testte hedef SDK, Android sürümü, cihaz modeli, ağ topolojisi ve kullanıcı adımlarını kaydedin. Böylece bir cihazda çalışan çözümü bütün kurulumlara genellemezsiniz.

Geniş izin gerçekten gerekiyorsa

Temel işlev geniş ve sürekli yerel ağ erişimi olmadan tamamlanamıyorsa izni manifestte tanımlayıp uygun anda çalışma zamanı istemini gösterin. İzin istemi, kullanıcının neden cihazlarla haberleşileceğini anlayacağı eyleme yakın olmalıdır. Açılış ekranında bağlam olmadan istenen izin, kullanıcı deneyimini ve testin anlamını zayıflatır. Kullanıcı reddederse uygulama bunu başarısız kurulum gibi göstermemeli; hangi görevin kullanılamadığını ve yeniden deneme yolunu açıkça anlatmalıdır.

Google Play'in 29 Ekim 2026'da duyurulan yerel ağ izni politikası, Android 17 veya üzerini hedefleyen uygulamada bu izni yalnızca temel işlev için gerekli ve cihaz seçicisi yetersiz olduğunda istemeyi öngörüyor. Bu nedenle teknik olarak izni alabilmek ile Play dağıtımında gerekçelendirebilmek ayrı kontrollerdir. İzin seçimini ürün akışı, hedef SDK ve dağıtım kanalıyla birlikte belgeleyin; sonraki politika duyurularını yayın öncesinde yeniden kontrol edin.

Hata ve sınır durumları

Testleri aynı Wi-Fi üzerindeki başarılı bağlantıyla sınırlamayın. Misafir ağı cihazları birbirinden ayırabilir; cihaz ağ değiştirince keşif sonucu eskimeye başlayabilir; kullanıcı seçiciden geri dönebilir veya izni kalıcı olarak reddedebilir. Bu durumlar için ekranda anlaşılır durum mesajı, yeniden arama ve gerektiğinde alternatif işlem yolu tasarlayın. Ağ erişimi yokken cihazın bulunamaması ile cihazın bulunup komutun başarısız olması farklı hatalardır. Günlüklerde bu ayrımı koruyun, fakat ağdaki cihaz adlarını ve kişisel tanımlayıcıları gereksiz yere toplamamaya dikkat edin.

Testin bir bölümü yükseltme senaryosu olmalıdır. Eski hedef SDK ile çalışan uygulama yeni hedefe geçtiğinde aynı ağ işlemini yeniden deneyin. Android rehberi hedef SDK değişimine göre varsayılan erişimin farklılaştığını belirtiyor; yalnızca yeni kurulum testine bakmak mevcut kullanıcı akışını kaçırabilir. Özellikle arka plan bağlantısı varsa uygulama yeniden açıldığında yetki, cihaz seçimi ve işlem durumu birlikte doğrulanmalıdır.

Kabul ölçütü ve hizmet yolu

Karar tablosuna her görev için cihaz seçicisi sonucu, geniş izin gerekçesi, ret davranışı ve Play politikası incelemesini yazın. “İzin alındı” tek başına kabul ölçütü değildir; kullanıcı işini tamamlayabilmeli ve izin gerekçesi uygulamanın temel işleviyle uyumlu olmalıdır. Hedef Android sürümü veya Play kuralı değiştiğinde tabloyu yeniden gözden geçirin.

Webinle mobil uygulama geliştirme hizmeti kapsamında yerel cihaz bağlantısı olan bir uygulama için kapsam görüşmesi yapabilirsiniz. Görüşmeye cihaz türü, bağlantı protokolü, hedef SDK, temel görev akışı ve mevcut hata kayıtlarını getirin. Böylece izin kararı genel bir varsayım yerine gerçek ürün davranışı üzerinden verilir.

Ürün ekibi için karar kaydı

Her cihaz türünü tek satırda değerlendirin: kullanıcının başlattığı eylem, seçicinin sağladığı erişim, uygulamanın gerçekten gönderdiği ağ işlemi, bağlantı süresi, ret durumunda alternatif ve test edilen Android sürümü. Böylece bir özelliğe eklenen yeni cihazın mevcut izin gerekçesini değiştirip değiştirmediği görülebilir. Cihaz keşfi yalnızca yönetici ekranında kullanılıyorsa bütün kullanıcılardan aynı izni istemek yerine rol ve işlem bağlamını da değerlendirin.

Destek ekibine “cihaz görünmüyor” şikâyeti geldiğinde önce izin durumunu, sonra telefon ile cihazın ağ koşullarını ve son olarak seçici sonucunu ayrı adımlarla sorun. Kullanıcıya karmaşık izin adlarını ezberletmek gerekmez; ürün içi açıklama doğrudan yapılacak işe dayanmalıdır. İzin isteminin hangi ekranda gösterildiğini ve reddin nasıl ele alındığını sürüm kabul kaydına ekleyin. Play Console incelemesi gerekiyorsa teknik gereklilik ve ürünün temel işlevi aynı belgede tutarlı biçimde anlatılmalıdır.

Bu karar cihaz üreticisinin bağlantı davranışını otomatik doğrulamaz. Seçilen donanım ve protokolle gerçek uçtan uca test yapın. Test cihazı ve ağ koşulları değiştiğinde olumlu sonucu yeniden üretmeye çalışın; farklı donanımda çalışmayı varsaymayın.