Veri senkronizasyonu ön plan hizmetlerinin alternatifleri

Genellikle dataSync ön plan hizmeti yerine kullanılabilecek daha iyi alternatifler vardır. Bu belge, kullanım alanınız için en iyi alternatifi bulmanıza yardımcı olur.

Taşımanın kullanım alanları

Bu bölümde, uygulamaların şu anda dataSync ön plan hizmetini kullandığı bazı yaygın durumlar ve önerdiğimiz alternatifler açıklanmaktadır.

Ağ üzerinden veri aktarma
Aktarım kullanıcı tarafından başlatıldıysa ve kullanıcıyı aktarımın ilerlemesi hakkında bilgilendirmeniz gerekiyorsa kullanıcı tarafından başlatılan veri aktarımı API'lerini kullanın. Diğer durumlarda WorkManager'ı kullanın.
Yerel bir cihaza/cihazdan veri aktarma
Varsa belirli bir API (tamamlayıcı cihaz yöneticisi gibi) kullanın. Aksi takdirde connectedDevice ön plan hizmeti kullanın.
Medya kodu dönüştürülüyor
Yeni mediaProcessing ön plan hizmeti türünü kullanın.
Kısa, kritik bir görevi tamamlamak
Bir shortService ön plan hizmeti kullanın.
Dosyaları işleme (ör. SD karta/karttan veri aktarma, içeriği yeniden boyutlandırma veya verileri şifreleme ya da şifrelerini çözme)
Görev üç dakikadan kısa sürede tamamlanabilirse bir shortService ön plan hizmeti kullanın. Diğer durumlarda WorkManager'ı kullanın.

Kullanıcı tarafından başlatılan veri aktarımı API'lerini kullanma

Uygulamanızın uzak bir sunucuya veri aktarması gerekiyorsa kullanıcı tarafından başlatılan yeni veri aktarımı API'lerini kullanmak isteyebilirsiniz. Bu API'ler, aşağıdaki durumlarda uygundur:

  • Veri aktarımını kullanıcı başlattı
  • Kullanıcıyı veri aktarımının ilerleme durumu hakkında bilgilendirmeniz gerekir.
  • Aktarım sürecinin sistem tarafından kesintiye uğratılması, kullanıcı deneyimini olumsuz yönde etkiler.

Bu koşullardan herhangi biri karşılanmazsa bunun yerine WorkManager'ı kullanmanız gerekir.

Örneğin, bir medya uygulaması, kullanıcıların yerel olarak çalmak üzere albümleri indirmelerine olanak tanıyabilir. Bir kullanıcı bir oynatma listesi indirip hemen oynatmak istiyorsa kullanıcı tarafından başlatılan veri aktarımı API'lerini kullanmak isteyebilirsiniz. Diğer yandan, kullanıcı indirilen oynatma listesinin kullanıcı başlatma olmadan arka planda düzenli aralıklarla güncellenmesini istiyorsa WorkManager daha iyi bir seçim olur.

Daha fazla bilgi için ön plan hizmetlerini kullanıcı tarafından başlatılan veri aktarımı işlerine taşıma ile ilgili belgelere bakın.

WorkManager'ı kullanma

Çoğu durumda, WorkManager, işleri planlamanız gerektiğinde en iyi seçenektir. Görevleri sistem tarafından kesintiye uğratılabilecek veya ertelenebilecek şekilde tasarlamalısınız. Daha fazla bilgi için WorkManager dokümanlarına bakın.

Bir ön plan hizmetinden WorkManager'a geçiş yaparken yardımcı olabilecek birkaç notu aşağıda bulabilirsiniz:

  • Çalışmayı en kısa sürede çalıştırmanız gerekiyorsa hızlandırılmış bir çalışma isteği planlayabilirsiniz. Bu seçenek özellikle işi bir yayın, tam alarm veya yüksek öncelikli FCM mesajına göre planlıyorsanız faydalıdır.
  • Çalışmanın düzenli aralıklarla çalışması gerekiyorsa periyodik çalışma planlayabilirsiniz. Periyodik çalışma isteği, çalışmanın kabaca ne sıklıkta çalışacağını belirtmenize olanak tanır, ancak belirli bir zamanı garanti etmez. Bu sayede sistem, cihazdaki talepleri dengelemek için farklı uygulamalardan iş istekleri planlayabilir.
  • İşinizi yürütürken doğru koşulları belirtmek için iş kısıtlamaları tanımlamanız gerekir. Örneğin, uygulamanızın acil olmayan kaynakları indirmesi gerekiyorsa işin, cihaz şarj olurken ve sınırsız bir ağa bağlıyken çalışması gerektiğini belirtebilirsiniz. Böylece WorkManager, işinizi sistem üzerindeki yükü dengeleyen bir zamanda çalıştırabilir.
  • WorkManager, bir işi iptal edip gerektiğinde yeniden deneyebilir. Örneğin, kullanıcı bir iş çalışırken cihazı kapatabilir; daha sonra cihaz tekrar kullanılabilir olduğunda sistem işi yeniden deneyebilir. İptal ve yeniden deneme döngüsünün düzgün çalıştığından emin olmak için iş akışınızı tasarlayıp test ettiğinizden emin olun.

Daha spesifik bir ön plan hizmet türü kullanın

Başka bir arka planda çalışma yöntemine geçemiyorsanız yine de bir ön plan hizmeti kullanmanız gerekebilir. Bu durumda, dataSync yerine kullanmak için uygun bir hizmet türü bulmanız gerekir. Kodunuz zaten bir ön plan hizmeti kullandığından bu taşıma işlemi basittir. Tek yapmanız gereken uygun ön plan hizmet türünü seçmek ve uygulamanızın bu hizmetin gereksinimlerini karşıladığından emin olmaktır.

Her zaman olduğu gibi, bir ön plan hizmeti kullanmayı düşündüğünüzde, kullanım alanınıza uygun daha iyi bir alternatif API olup olmadığını değerlendirmelisiniz.

Kısa bir hizmet ön plan hizmeti kullan

Uygulamanızın kısa ve kritik bir görevi gerçekleştirmesi gerekiyorsa shortService ön plan hizmeti en iyi seçenek olabilir. shortService ön plan hizmetinin uygun olabileceği bazı durumlar şunlardır:

  • Kullanıcı bir işlem başlatır (verileri sunucuyla senkronize etmek gibi) ve kullanıcı uygulamayı hemen arka plana gönderse bile işlemin tamamlandığından emin olmak istersiniz.
  • Bellek içi bilgiler kalıcı depolama alanına kaydediliyor.
  • Bilgileri şifreleme veya bilgilerin şifresini çözme.

Tüm bilgiler için shortService dokümanlarına göz atın.

Bağlı bir cihaz ön plan hizmeti kullanma

Verileri başka bir yerel cihaza aktarmanız gerekiyorsa bir connectedDevice ön plan hizmeti kullanmak isteyebilirsiniz. Bunu yapmanız gerekebilecek yaygın durumlardan bazıları şunlardır:

  • Kulaklık veya akıllı saat gibi bir Bluetooth aksesuarıyla iletişim kurma
  • USB bağlantısı, NFC veya yerel internet bağlantısı aracılığıyla yerel olarak bağlı bir cihaza veri aktarma

Ancak bu tür durumlarda, cihaza bağlanmak için ön plan hizmeti yerine tamamlayıcı cihaz yöneticisini kullanabilirsiniz. Her zaman olduğu gibi, kullanım alanınız için özel amaçlı bir API mevcutsa bu, genellikle ön plan hizmeti kullanmaktan daha iyi bir seçimdir.

Yeni medya işleme ön plan hizmetini kullan

Medya verilerini işlemeniz gerekirse yeni mediaProcessing ön plan hizmetini kullanabilirsiniz. Bu hizmet türü, uygulamanız Android 15 veya sonraki bir sürümü hedefliyorsa kullanılabilir. Örneğin, uygulamanızın oynatma için medyaları bir biçimden diğerine dönüştürmesi gerekiyorsa bu hizmet türü uygundur. Daha fazla bilgi için medya işleme ön plan hizmeti belgelerine bakın.

Ek kaynaklar

Ön plan hizmetlerinde yapılan bu değişiklik hakkında daha fazla bilgi için aşağıdaki ek kaynaklara bakın: