Uygulamaya Harita Ekleme: Google Maps SDK Maliyeti ve Kullanım Senaryoları
Kurye takip ekranı isteyen bir müşteriyle görüştüğümde ilk sorduğum şey "kaç aktif kullanıcınız olacak" oluyor, çünkü harita entegrasyonunda asıl maliyet kalemi geliştirme değil, aylık API çağrı sayısı. Google Maps Platform, harita yükleme, geocoding, yön bulma (directions) gibi her servisi ayrı ayrı ücretlendiriyor ve aylık belirli bir kredi sonrası kullanım başına ücrete geçiyor.
Basit harita gösterimi ile canlı takip aynı şey değil
Bir mağaza bul ekranı ya da sabit noktaları gösteren bir harita, ayda birkaç bin API çağrısıyla sorunsuz çalışır ve genelde ücretsiz kredi limitinin altında kalır. Ama kurye, taksi ya da servis aracı takibi gibi canlı konum güncellemesi gerektiren senaryolarda durum farklı. Her 3-5 saniyede bir konum güncellemesi göndermek, yüzlerce aktif kullanıcı olduğunda hızla binlerce API çağrısına dönüşüyor. Bu yüzden canlı takip projelerinde konum verisini Google Maps üzerinden değil, kendi backend'inizde (WebSocket ya da Firebase Realtime Database gibi) tutup haritayı sadece görselleştirme katmanı olarak kullanmak maliyeti ciddi şekilde düşürüyor.
Rota hesaplama ne zaman gerçekten gerekli
Directions API — yani A noktasından B noktasına rota çizme, tahmini süre hesaplama — her uygulamada şart değil. Basit bir "en yakın şube" özelliği için kuş uçuşu mesafe hesaplaması (Haversine formülü) yeterli olabilir ve bu tamamen ücretsiz, sunucu tarafında birkaç satır kodla hesaplanır. Gerçek trafik durumuna göre süre tahmini, çoklu duraklı rota optimizasyonu gibi ihtiyaçlar varsa o zaman Directions API ya da Routes API devreye giriyor. Lojistik ve kurye uygulamalarında bu genelde kaçınılmaz, ama bir restoran uygulamasında şube bulma özelliği için gereksiz maliyet çıkarabilir.
Android ve iOS'ta harita davranışı farklı
Android uygulama geliştirme tarafında Google Maps SDK doğal bir seçim çünkü Android zaten Google ekosisteminde. iOS tarafında ise Apple kendi MapKit'ini sunuyor ve bazı projelerde ekstra bir bağımlılık eklememek için MapKit tercih edilebiliyor; harita görselleri farklı olsa da kullanıcı deneyimi açısından büyük fark yaratmıyor. Android + iOS çift platform paketi ile geliştirilen projelerde genelde tutarlılık için her iki platformda da Google Maps kullanmayı öneriyoruz, çünkü tasarım ve marker davranışları birebir örtüşüyor.
API anahtarı güvenliği gözden kaçan bir konu
Google Maps API anahtarını mobil uygulama koduna doğrudan gömüp kısıtlama (restriction) uygulamadan yayınlamak, sıkça karşılaştığımız bir hata. Anahtar açığa çıktığında başka biri sizin kotanızı tüketebilir ve fatura sürpriz şekilde yükselebilir. Android için paket adı + SHA-1 sertifika parmak izi kısıtlaması, iOS için bundle ID kısıtlaması mutlaka uygulanmalı. Ayrıca Google Cloud Console'da aylık bütçe uyarısı kurmak, beklenmedik kullanımı erken fark etmenin en pratik yolu.
Alternatif servisler değerlendirilmeli mi
Mapbox ve OpenStreetMap tabanlı çözümler bazı projelerde maliyet avantajı sağlayabiliyor, özellikle özel harita tasarımı (kendi renk paletinizle harita) istendiğinde Mapbox daha esnek. Ama Türkiye'de kullanıcı alışkanlığı Google Maps görünümüne çok yakın olduğu için, alternatif bir servis kullanıldığında bazı kullanıcılar haritayı "eksik" ya da "farklı" bulabiliyor. Proje bütçesi ve beklenen kullanıcı sayısına göre bu kararı ilk toplantıda netleştirmek, sonradan mimari değişikliğe gitmemek adına önemli.
İlgili Yazılar
Projenize özel, şeffaf bir mobil uygulama fiyat teklifi için fiyat rehberimize göz atabilir veya bizimle iletişime geçebilirsiniz.
