- Uygulamaya konumla ilgili mantık eklemeye örnekler
- Bölgeye göre uygulamanın dilini veya para birimini ayarlamak istiyorsanız
- Belirli ülkelerdeki kişilere indirim sunmak istiyorsanız
- Kullanıcıya en yakın konumu göstermesi gereken bir mağaza bulucu varsa
- Hava durumu uygulaması her türlü veriyi sunmadan önce konuma dayanıyorsa
- Yasal nedenlerle uygulamaya geofence uygulamak istiyorsanız (ör. çerez banner'ı)
- Bazı ortak temalar var
- Görüntüleme/kullanıcı deneyimi: Kullanıcı deneyimini iyileştirmek veya sadeleştirmek için konum bilgisini kullanma
- İşlev/mantık: Uygulamanın iş mantığı konuma göre değişir
- Politika/uyumluluk: Bir özelliğin dahil edilmesini ya da hariç tutulmasını gerektiren yasal zorunluluklar vardır
- Bunlar her zaman net biçimde ayrılmaz. Bazı durumlarda örtüşebilirler, ancak yanlış veri girildiğinde sonuçların ciddiyeti farklı olduğu için bu ayrımı akılda tutmak önemlidir
Kullanıcı konumu nasıl alınır
- Kullanıcıya konumu doğrudan sormak
- Artıları: Uygulaması kolaydır, kullanıcı doğru bilgi verirse güvenilebilir, farklı konumları destekleyebilir
- Eksileri: Kullanıcı yazım hatası yapabilir veya bilgiyi eksik girebilir, yanlış bilgi verebilir
- Cihazın heuristics'lerini kullanmak
- Modern cihazlar GPS, Wi-Fi verisi, hücresel baz istasyonları ve IP adresi üzerinden konum bilgisine erişebilir
- Web geliştiricileri, tarayıcının Geolocation API'si üzerinden kullanıcı konumuna erişebilir
- Eksileri: Kullanıcıdan konum paylaşımına izin vermesi istenir, kullanıcı reddedebilir
- IP adresini kullanmak
- IP adresi, ağ üzerindeki bir cihazı benzersiz biçimde tanımlamak ve konumlandırmak için kullanılır
- IP adresindeki her sayı bloğu, geniş aralıktan dar aralığa giden alt ağları temsil eder
- Yalnızca IP adresi kullanıcı konumunu bilmek için yeterli değildir; bilinen alt ağ konum veritabanlarıyla karşılaştırılması gerekir
- Edge computing kullanmak
- Kullanıcı isteğinin en yakın sunucuda çalıştırılması yaklaşımıdır
- Kullanıcıdan izin istemeden veya IP adresi aramadan konum bilgisi sağlayabilir
- Eksisi: Bu, gerçek kullanıcının değil edge düğümünün konumudur
Kullanıcı konumuna neden güvenilemez
- Kullanıcıya güvenilemez
- Kullanıcının her zaman gerçek konumunu dürüstçe gireceği garanti edilemez
- Yanlış bilgiyi kazara da girebilir
- Cihaza güvenilemez
- Kullanıcı Geolocation API kullanımını reddedebilir
- Geolocation API bilgisini tarayıcı ayarlarından değiştirebilir
- IP adresine güvenilemez
- Kullanıcı isteği VPN üzerinden yönlendirebilir
- Siz yalnızca VPN'in IP adresini görürsünüz; kullanıcının gerçek IP'sini bilemezsiniz
- Edge computing'e güvenilemez
- Bu, edge düğümünün konum bilgisi olduğu için gerçek kullanıcı konumundan farklı olabilir
- VPN kullanıldığında orijinal IP adresine erişilemez
Peki ne yapmalıyız?
- Konum bilgisi edinmenin birçok yolu vardır, ancak bunların hiçbiri tamamen güvenilir değildir
- O halde vaz mı geçmeliyiz? Hayır! Daha iyi bilgi elde edip buna göre önlem alabilirsiniz
Örnek: İçerik çevirisi
- İngilizce yazılmış ama başka dilleri de destekleyen bir web sitesi olduğunu varsayalım
- Kullanıcı deneyimini iyileştirmek için kullanıcının yerel dilini yüklemek istiyorsunuz
- Felemenkçe (Flamanca), Fransızca ve Almanca konuşulan Belçika'daki kullanıcılar nasıl ele alınmalı?
- Kullanıcı web sitesini ister
- Edge computing ile isteğin Belçika'dan geldiği anlaşılır
- HTTP çerezlerinde dil tercihi aranır
- Çerez varsa tercih edilen dil kullanılır
- Çerez yoksa İngilizce veya Felemenkçe sürümü kullanılır
- Web sitesi kullanıcıya desteklenen dillerin listesini sunar
- Kullanıcı dil tercihini seçtiğinde bu tercih çereze kaydedilir
- Bu senaryoda, konum bilgisi elde etmek için edge computing ile kullanıcı beyanı birleştirilerek kullanıcı deneyimi iyileştirilir
- Geolocation API'yi kullanmak gerekli görünmüyor
- Yanlış dilin gösterilmesi riski vardır, ancak maliyeti düşüktür
- Konum bilgisi yanlış ya da eksik olsa bile web sitesi çalışır
- Güncelleme: İstemcinin tercih ettiği dili ve locale bilgisini gösteren
Accept-Language header'ı da kullanılabilir
Örnek: Hava durumu uygulaması
- Konuma dayalı olarak hava durumu bilgisi gösteren bir uygulama var
- Bu durumda uygulamanın çalışması için konum bilgisi gerekir. Bu bilgi yoksa hava durumunu nasıl gösterebilirsiniz?
- Bu senaryoda ilk yüklemede kullanıcının konumunu varsaymak güvenlidir
- Bu bilgiyi edge computing veya IP adresinden alıp kullanıcının bölgesindeki hava durumunu gösterebilirsiniz
- Ayrıca web sitesinin ana odağı konum olduğu için Geolocation API ile daha doğru veri talep etmek de mantıklıdır
- Kullanıcının başka bir konumun bilgisini istemesi ihtimaline karşı esnek bir kullanıcı beyanı seçeneği de sunulmalıdır
- Bunun için mümkün olduğunca ayrıntılı konum bilgisini otomatik tamamlayan bir arama giriş alanı sunabilirsiniz
- Sonraki ziyaretlerin nasıl ele alınacağı farklı olabilir. Her zaman "yerel" hava durumunu varsayılan yapmak ya da önceki ziyaretteki konumu hatırlamak mümkündür
- Kullanıcı web sitesini ister
- İlk istekte edge computing veya IP adresiyle konum tahmini yapılarak uygulama başlatılır
- İlk istemci yüklemesinde Geolocation API çalıştırılarak bilgi güncellenir
- Sonraki yüklemeler için konum bilgisi çereze kaydedilebilir
- Başka bir konum aramak için otomatik tamamlamalı esnek bir giriş sunulur
- Buradaki önemli nokta, uygulamanın gerçekte kullanıcının nerede olduğunu umursamamasıdır
- Yalnızca bir konum olması yeterlidir
- Kullanıcının bildirdiği konum (arama), çerez, edge computing veya IP adresinden bulunan konumun önüne geçer
- Hava durumu günlük değiştiği için önbellekleme stratejisini ve uygulamanın ağırlıklı olarak server-side mı yoksa client-side mı render edileceğini de düşünmeye değer
Örnek: Mağaza konumu bulucu
- Birden fazla lokasyonda fiziksel mağazalar işlettiğinizi varsayalım
- Ürün kataloğunu ve stoğu çevrimiçi gösterebilirsiniz, ancak mağaza içi stok için güncel bilgi sunmak daha iyi bir yaklaşımdır
- Bunun için hangi mağazanın stokunu göstermeniz gerektiğini bilmeniz gerekir ve en iyi kullanıcı deneyimi için bu, kullanıcıya en yakın mağaza olmalıdır
- Yine, edge computing veya IP adresini kullanarak kullanıcının konumunu tahmin etmek mantıklıdır
- Ardından kullanıcının konum bilgisi girebileceği esnek bir giriş sunabilir, ancak otomatik tamamlamayı yakınlığa göre sıralanmış mağaza listesiyle sınırlayabilirsiniz
- Geolocation API'yi çalıştırmak da iyi bir fikirdir
- Bu örnekle önceki örnek arasındaki fark, sitenin ana amacının konuma bağlı olmamasıdır
- Bu yüzden kullanıcı, konuma bağlı özellikle etkileşime girene kadar beklemek gerekir
- Yani yalnızca kullanıcı mağaza bulucu alanına odaklandığında konum istenmelidir
Örnek: Bölgesel fiyat farklılaştırması
- Bu biraz karmaşık bir konu; kullanıcının konumuna göre farklı fiyatlar uygulamak istiyorsanız bunu nasıl yapmalısınız?
- Örneğin bazı havayolları ve otellerin, bir bölgeden rezervasyon yapan kullanıcılara diğer bölgelere göre daha yüksek fiyat gösterdiği biliniyor
- Etik boyutu bir yana, bu kârlılıkla ilgili bir soru olduğu için etkisi çok büyüktür
- Bu nedenle kullanıcıların kendi bildirdikleri konum bilgisiyle fiyatı kolayca değiştirebilmesine izin vermek istemezsiniz
- Bu durumda muhtemelen yalnızca edge computing veya IP adresi kullanılır
- Kullanıcı VPN kullanarak bunu aşabilir, ancak muhtemelen yapabileceğiniz en iyi şey budur
- Dolandırıcıları gerçekten engellemekten endişe ediyorsanız, Akamai'nin gelişmiş proxy tespit özelliğiyle VPN kullananların isteklerini engellemeye çalışabilirsiniz
- Ancak bunu yaparsanız indirimli satış yerine hiç satış gerçekleşmeyebilir. Seçim sizin
Örnek: Çerez banner'ı
- Bu son örnek daha çok yasal uyumluluğa odaklanıyor, bu yüzden küçük bir feragatle başlayayım: Ben avukat değilim!!!
- Bu yalnızca varsayımsal bir örnektir ve hukuki tavsiye olarak alınmamalıdır
- 2016'da Avrupa Birliği Genel Veri Koruma Tüzüğü'nü (GDPR) kabul etti
- Bu, AB içindeki internet kullanıcılarının mahremiyetini koruyan bir yasadır ve şirket AB dışında olsa bile AB içindeki kişilere mal veya hizmet sunan şirketler için geçerlidir
- Web sitesi sahipleri için birçok gereklilik var, ancak benim dikkat çekmek istediğim şey bugün internette her yerde gördüğümüz çerez banner'larının yarattığı sorunlardır
- Gizlilik meseleleri, çerez banner'larının doğru mu yanlış mı olduğu, etkili ya da etkisiz oluşu veya daha iyi bir yaklaşım olup olmadığı tartışmasına girmeyeceğim
- Bunun yerine, çerez banner'ını yalnızca yasal olarak gerektiğinde göstermenin ve gerekmiyorsa bundan kaçınmanın daha iyi olduğunu söyleyeceğim
- Bir kez daha, kullanıcının konumunu bilmek çok önemlidir
- Bu, önceki örneğe oldukça benzer ve uygulama da benzerdir. Temel fark, yanlış yapılmasının ciddiyeti ve dolayısıyla doğru yapmak için gereken çaba düzeyidir
- Çerez banner'ları, yasaların ve kullanıcı konumunun bir web sitesini nasıl etkileyebileceğinin en yaygın örneği olabilir; ancak daha güçlü bir örnek arıyorsanız muhtemelen Çin'in Great Firewall'udur
Sonuç
- Kullanıcı konumunu belirlemede tek bir doğru cevap yoktur
- Senaryoya göre kullanıcı beyanı, cihaz heuristics'leri, edge computing ve IP adresini bir arada kullanarak yaklaşmak gerekir
- Önemli noktalar
- Kullanıcının konumu mu gerekiyor, yoksa herhangi bir konum yeterli mi?
- Verinin ne kadar doğru olması gerekiyor?
- Kullanıcı konumu sahte olsa da kabul edilebilir mi?
- Ayrıca yasal uyumluluğu, düzenlemeleri, işlevselliği ve %95 güvenilirliğin yeterli olup olmadığını da düşünmelisiniz
- Yasal nedenlerle konum mantığı kullanıyorsanız, kendinizi koruyacak önlemler almanız iyi olur
- CCPA, GDPR vb. veri gizliliği yasalarına uyum
Henüz yorum yok.