Bağlantı kesildiğinde işi sürdüren; kayıt, eşitleme ve çakışma durumlarını açıklayan, yinelenen gönderimleri önleyen bir saha uygulamasını planlayın.
Çevrimdışı çalışan bir iş uygulaması, her işlemi sunucuya ulaşmadan onaylamak zorunda değildir. Bir teknisyen bağlantısız bodrum katında atanmış ziyaretleri okuyup rapor hazırlayabilir; stok ayırmak veya faturayı onaylamak ise güncel ortak kayıt gerektirir. Önce hangi bilginin cihazdan okunacağını, hangi işlemin taslak kalacağını ve hangisinin ancak sistemden açık bir yanıt geldiğinde kesinleşeceğini belirleyin. Güvenilir deneyim bu sınırlarla başlar.
Ekibin sınayabileceği bir söz verin
Android çevrimdışı mimari rehberi, okuma ve yazma işlemlerini ayırır; bağlantısız okuma desteğinin her türlü bağlantısız yazmayı gerektirmediğini açıklar. Bu ayrımı ürün tanıtımında genel bir çevrimdışı çalışır iddiası yerine, kullanıcının anlayabileceği somut bir hizmet sözüne dönüştürün.
Varsayımsal bir klima bakım şirketini ele alalım. Teknisyen ofisten çıkmadan atanmış ziyaretlerini indirir. Kapsamanın zayıf olduğu binada adresi ve ziyaret talimatlarını okur, gözlemlerini yazar ve rapora fotoğraf seçer. Ancak indirilmiş kayıt, yedek parçanın hâlâ stokta olduğunu veya müşterinin faturayı az önce ödediğini kanıtlayamaz. Yerel olarak iş hazırlamak ile işletmenin güncel kararını bilmek aynı yetenek değildir.
İşlemleri ekranlarına değil, sonuçlarına göre ayırın
Her işlem için şu soruları yazın: güncel bilgi gerekiyor mu, işlem geri alınabilir mi ve yinelenirse kim etkilenir? Arıza açıklaması taslak olarak saklanabilir. Son yedek parçayı bir işe ayırmak merkezi karar gerektirir. Randevu değişikliği çevrimdışı hazırlanabilir; fakat yeni saat, sunucu kabul etmeden kesinleşmiş görünmemelidir. Aynı ekranda bulunan düğmelerin kayıt kuralları farklı olabilir.
- Yerel okuma: daha önce indirilmiş ziyaretler ve son güncelleme bilgisi.
- Yerel taslak: henüz gönderilmeyen teknisyen notları ve seçilmiş fotoğraflar.
- Gönderim bekliyor: teknisyenin tamamlayıp gönderilmesini istediği rapor.
- Sunucu kararı: stok rezervasyonu, indirim onayı ve iş emrinin kesin kapatılması.
Bu ayrımı mobil uygulama MVP kapsamına ekleyin. Bütün bölümler için söz vermek yerine güvenilir tek ziyaret akışıyla başlayın. Uygulamanın ilk açılışını da tanımlayın: daha önce hiç indirilmemiş bir ziyaret, cihazda kendiliğinden bulunmaz. Kullanıcı neden göremediğini ve bağlantı geldiğinde ne yapabileceğini anlamalıdır.
Her raporun durumunu açıkça anlatın
Ekranın üstündeki bağlantı simgesi, teknisyenin raporunun nereye kaydedildiğini söylemez. Rapor için ayrı durumlar kullanın: bu cihazda kayıtlı, gönderim bekliyor, gönderiliyor, sistem aldı ve inceleme gerekiyor. Rengin yanında metin bulunsun. Rapor sunucuya ulaşmış ancak fotoğrafları yüklenmemişse bütün paketi tamamlanmış göstermek yerine bekleyen ekleri belirtin.
Karara yardımcı olduğunda son sunucu teyidini gösterin. Kullanıcı raporu yeniden yazmadan tekrar deneyebilsin. Yerel kayıt başarısızsa bunu hemen açıklayın; başarılı işareti göstermeyin. Teknisyen cihazı kapatma kararını bu mesaja göre verebilir. Arapça, İngilizce ve Türkçe durum ifadelerini ayrı değerlendirin; bir çeviri taslak kaydını yanlışlıkla başarıyla gönderildi şeklinde anlatmamalıdır.
Tekrar denemenin kimliğini sunucuyla birlikte tanımlayın
Raporun sunucuya ulaştığını, fakat yanıt telefona dönmeden bağlantının kesildiğini düşünün. Kullanıcının yeniden gönder düğmesine basması ikinci rapor oluşturmamalıdır. Sunucu ekibiyle kalıcı işlem kimliği konusunda anlaşın: hangi hesap ve işleme ait olduğu, sonucunun ne kadar tutulacağı ve aynı kimlikle farklı içerik gelirse ne yapılacağı açık olsun. Telefonda rastgele numara üretmek tek başına tekrarları önlemez.
Aynı gönderimi yeniden denemek aynı işlem kimliğini kullanmalıdır. Kullanıcının bilinçli değişikliği ise kararlaştırılmış sürüm veya yeni işlem kuralına uyar. Sonuç belirsizken mümkün olduğunda kayıtlı sonucu sorgulayın; hiçbir şey olmadığını varsaymayın. Bağlantı hatasını yetki reddinden veya düzeltilmesi gereken alandan ayırın. Her hatayı sonsuz yeniden denemeye çevirmek, kullanıcıya yardım etmez.
Çakışmaları işin anlamına göre çözün
Teknisyen bağlantısızken yönetici ziyaret açıklamasını değiştirmiş olsun. Telefon tekrar bağlandığında yeni kaydı eski kopyayla mı değiştirecek? Her veri türü için cevap belirleyin. Bu örnekte yeni gözlem bağımsız not olarak eklenebilir. Kapatılmış iş emrini yeniden açmak ise izin verilen durum geçişine bağlıdır. Adres düzeltmesi, iki sürümü karşılaştıran yöneticinin değerlendirmesine gönderilebilir.
Son yazan kazanır yaklaşımını her yerde kullanmayın. İsteklerin sunucuya ulaşma sırası, işin gerçekte yapılma sırasını yansıtmayabilir. Düzenlemenin başladığı kayıt sürümünü koruyun ve iki katkıdan birini sessizce silmeden çakışmayı görünür kılın. Kararı verecek kişi de belli olsun. Yazım düzeltmesi ile stoktan parça tüketme anlaşmazlığının aynı kuralı izlemesi gerekmez.
Paylaşılan cihazlarda hesap sınırını koruyun
Teknisyenler şirket tabletini sırayla kullanıyorsa sonraki çalışan, önceki müşterinin fotoğraflarını veya taslaklarını görmemelidir. Çıkış davranışını tanımlayın: gönderilmemiş işler hakkında uyarı, ardından kurum politikasına uygun güvenli seçenek. Eski hesabın taslakları yeni hesaba açılmamalı veya yeni kullanıcının yetkisiyle gönderilmemelidir. Adreslerin ve fotoğrafların saklama süresini, silme sorumlusunu ve bildirimlerde gösterilen bilgiyi belirleyin.
web.dev depolama rehberi, depolama sınırlarını ve tarayıcıların bazı koşullarda veriyi kaldırabileceğini anlatır. Bu nedenle tarayıcı depolamasını garantili yedek saymayın. Yerel mobil uygulamada da cihaz kaybı veya uygulamanın silinmesi için ayrı kurtarma planı gerekir. Yerel kayıt, başka yerde geri yüklenebilir kopya bulunduğu anlamına gelmez.
Yalnızca uçak modunu değil, zor bir iş gününü deneyin
- İndirilmiş ziyareti çevrimdışı açın; ardından hiç indirilmemiş ziyareti deneyin.
- Sunucu raporu aldıktan, telefon teyidi almadan önce bağlantıyı kesin.
- Fotoğraf yüklenirken uygulamayı kapatıp yinelenen ek oluşturmadan devam edin.
- Aynı kaydı iki cihazda değiştirerek kararlaştırılmış çakışma sonucunu doğrulayın.
- Dolu depolama alanını, reddedilmiş fotoğraf iznini ve taslak varken çıkışı sınayın.
- Sunucuda kullanıcı yetkisini kaldırın; sıradaki işin otomatik kabul edilmediğini kontrol edin.
Bu senaryolara beklenen sonucu ve karar sorumlusunu ekleyerek uygulama yayın kontrol listenize alın. Küçük saha denemesinde takılı raporları, tekrar gönderimleri ve destek ihtiyaçlarını inceleyin. Gerçek cihazlarda ekip üyelerinin durum mesajlarını nasıl yorumladığını gözlemleyin. İlk akış öngörülebilir çalışmadan çevrimdışı kapsamı genişletmeyin. Uygulama geliştirme hizmetlerini değerlendirirken gerçek görev örnekleriyle birlikte kayıtlı ve onaylanmış işin açık tanımını paylaşın.
Editoryal not: Bu rehber, bağlantısı verilen resmî belgelerden yararlanılarak yapay zekâ desteğiyle hazırlanmıştır. Bakım senaryosu varsayımsaldır; müşteri sonucu veya veri kaybını önleme garantisi değildir.
