Android uygulamanızda PWA (Progresif Web Uygulaması) kullanma

Progresif Web Uygulamaları (PWA), hızlı, güvenilir ve ilgi çekici yüksek kaliteli deneyimler oluşturmak için uygulama benzeri özellikleri kullanan web uygulamalarıdır.

Web'in inanılmaz bir erişimi vardır ve kullanıcıların yeni deneyimler keşfetmesi için güçlü yollar sunar. Ancak kullanıcılar, işletim sistemi mağazalarında da uygulama aramaya alışkındır. Bu kullanıcılar çoğu durumda aradıkları markayı veya hizmeti zaten biliyordur ve ortalamanın üzerinde etkileşim metrikleri sağlayan yüksek bir satın alma niyeti düzeyine sahiptir.

Play Store, Android uygulamalarına yönelik bir mağazadır ve geliştiriciler genellikle Android uygulamalarından Progresif Web Uygulamalarını açmak ister.

Güvenilir Web Etkinliği, tarayıcıların Android uygulaması içinde PWA'ları oluşturan, tamamen web platformuyla uyumlu bir kapsayıcı sunmasına olanak tanıyan açık bir standarttır. Bu özellik Chrome'da kullanılabilir ve Firefox Nightly'de geliştirilmektedir.

Mevcut çözümler sınırlıydı

Android WebView gibi teknolojiler veya Cordova gibi çerçeveler kullanılarak web deneyimlerini Android uygulamalarına dahil etmek her zaman mümkün olmuştur.

Android Web Görünümü'nün sınırlaması, tarayıcı yerine geçmek üzere tasarlanmamış olmasıdır. Android WebView, Android uygulamasında web kullanıcı arayüzünü kullanmak için kullanılan bir geliştirici aracıdır ve kişi seçici veya dosya sistemi gibi modern web platformu özelliklerine diğerlerinin yanı sıra tam erişim sağlamaz.

Cordova, WebView'in eksikliklerini gidermek için tasarlanmıştır ancak API'ler Cordova ortamıyla sınırlıdır. Yani Android uygulamanız için Cordova API'lerini kullanmak üzere açık web'deki PWA'nızdan ayrı bir kod tabanı tutmanız gerekir.

Ayrıca, özellik bulunabilirliği genellikle her zaman beklendiği gibi çalışmaz ve Android sürümleri ile OEM'ler arasındaki uyumluluk sorunları da sorun olabilir. Bu çözümlerden birini kullanan geliştiricilerin, geçici çözümleri tespit edip oluşturmak için ek kalite güvencesi süreçlerine ve ek geliştirme maliyetine ihtiyacı vardır.

Güvenilir Web Etkinliği, Android'deki web uygulamaları için yeni bir kapsayıcıdır

Geliştiriciler artık bir Android uygulamasının başlatma etkinliği olarak PWA eklemek için kapsayıcı olarak Güvenilir Web Etkinliği kullanabilir. Bu teknoloji, PWA'yı tam ekranda oluşturmak için tarayıcıdan yararlanır ve Güvenilir Web Etkinliği'nin, temel tarayıcıda olduğu gibi Web Platformu özellikleri ve API'leriyle aynı uyumluluğu sağlamasını sağlar. Güvenilir Web Etkinliği kullanan bir Android uygulamasının uygulanmasını daha da kolaylaştıran açık kaynaklı yardımcı programlar da vardır.

Diğer çözümlerde bulunmayan bir diğer avantaj da kapsayıcının depolama alanını tarayıcı ile paylaşmasıdır. Giriş durumları ve kullanıcı tercihleri, deneyimler arasında sorunsuz bir şekilde paylaşılır.

Tarayıcı Uyumluluğu

Bu özellik, Chrome'da 75 sürümünden beri kullanılabiliyor. Firefox ise bu özelliği gecelik sürümünde kullanıma sundu.

Kalite Ölçütleri

Web geliştiricileri, Android uygulamasına web içeriği eklemek istediklerinde Güvenilir Web Etkinliği kullanmalıdır.

Güvenilir Web Etkinliği'ndeki web içeriği, PWA yüklenilebilirlik ölçütlerini karşılamalıdır.

Ayrıca, kullanıcıların Android uygulamalarından beklediği davranışı sağlamak için Chrome 86'da, aşağıdaki senaryoların ele alınmamasının kilitlenme olarak kabul edildiği bir değişiklik yapıldı:

  • Uygulamanın başlatılması sırasında dijital öğe bağlantılarının doğrulanmaması.
  • Çevrimdışı ağ kaynağı isteği için HTTP 200 döndürülemedi.
  • HTTP 404 veya 5xx hatası döndüren bir gezinme isteği".

Güvenilir Web Etkinliği'nde bu senaryolardan biri gerçekleştiğinde Android uygulamasının kullanıcı tarafından görülebilen bir kilitlenmesine neden olur. Hizmet çalışanınızda bu senaryoları ele almayla ilgili kılavuza göz atın.

Uygulama, politikaya uygunluk gibi Android'e özgü ek ölçütleri de karşılamalıdır.

AirHorn için Lighthouse puanını, PWA rozetini ve 100 performans puanını gösteren ekran görüntüsü.
Lighthouse'taki PWA rozeti, PWA'nızın yüklenebilirlik ölçütlerini geçip geçmediğini gösterir.

Araç

Güvenilir Web Etkinliği'nden yararlanmak isteyen web geliştiricilerin, PWA'larını Android uygulamasına dönüştürmek için yeni teknolojiler veya API'ler öğrenmeleri gerekmez. Bubblewrap ve PWABuilder birlikte kitaplık, Komut Satırı Arayüzü (KSA) ve Grafik Kullanıcı Arayüzü (GUI) şeklinde geliştirici araçları sağlar.

Baloncuklu naylon

Bubblewrap projesi, NodeJS kitaplığı ve Komut Satırı Arayüzü (CLI) biçiminde Android uygulamaları oluşturur.

Yeni bir projenin temelini oluşturmak için aracı çalıştırıp Web Manifesti'nin URL'sini iletmeniz gerekir:

npx @bubblewrap/cli init --manifest=https://pwa-directory.appspot.com/manifest.json

Araç, projeyi de derleyebilir. Aşağıdaki komutu çalıştırarak Play Store'a yüklenmeye hazır bir Android uygulaması oluşturabilirsiniz:

npx @bubblewrap/cli build

Bu komut çalıştırıldıktan sonra projenin kök dizininde app-release-signed.apk adlı bir dosya bulunur. Bu, Play Store'a yüklenecek dosyadır.

PWABuilder

PWABuilder, geliştiricilerin mevcut web sitelerini progresif web uygulamalarına dönüştürmesine yardımcı olur. Ayrıca, bu PWA'ları Android uygulamasına sarmalayacak bir GUI arayüzü sağlamak için Bubblewrap ile entegre olur. PWABuilder ekibi, aracı kullanarak Android uygulaması oluşturma hakkında harika bir blog yayını hazırladı.

Android uygulamasında PWA'nın sahipliğini doğrulama

Mükemmel bir Progresif Web Uygulaması oluşturan bir geliştirici, başka bir geliştiricinin izni olmadan bu uygulamayla Android uygulaması oluşturmasını istemez. Bunun olmaması için Android uygulamasının, Digital Asset Links adlı bir araç kullanılarak Progressive Web Uygulaması ile eşlenmesi gerekir.

Bubblewrap ve PWABuilder, Android uygulamasında gerekli yapılandırmayı yapar ancak bir son adım daha vardır. Bu adımda, assetlinks.json dosyasını PWA'ya eklemeniz gerekir.

Geliştiricilerin bu dosyayı oluşturmak için kullanıcılar tarafından indirilen APK'yı imzalamak için kullanılan anahtarın SHA-256 imzasına ihtiyacı vardır.

Anahtar birden fazla şekilde oluşturulabilir. Son kullanıcılara sunulan APK'yı imzalayan anahtarı bulmanın en kolay yolu, anahtarı Play Store'dan indirmektir.

Kullanıcılara bozuk bir uygulama göstermemek için uygulamayı kapalı bir test kanalına dağıtın, bir test cihazına yükleyin ve ardından uygulama için doğru assetlinks.json dosyasını oluşturmak üzere Peter's Asset Link Tool'u kullanın. Oluşturulan assetlinks.json dosyasını, doğrulanan alandaki /.well-known/assetlinks.json adresinde kullanılabilir hale getirin.

Sonraki adımlar

Progresif web uygulamaları, yüksek kaliteli bir web deneyimi sunar. Güvenilir Web Etkinliği, minimum kalite ölçütlerini karşılayan bu yüksek kaliteli deneyimleri Android uygulamasından açmanın yeni bir yoludur.

Progresif web uygulamalarına yeni başlıyorsanız mükemmel bir PWA oluşturma kılavuzumuzu okuyun. Halihazırda PWA'sı olan geliştiriciler, kalite ölçütlerini karşılayıp karşılamadığını doğrulamak için Lighthouse'u kullanabilir.

Ardından, Android uygulamasını oluşturmak için Bubblewrap veya PWABuilder'ı kullanın, uygulamayı Play Store'daki kapalı bir test kanalına yükleyin ve Peter's Asset Link Tool'u kullanarak PWA ile eşleyin.

Son olarak, uygulamanızı kapalı test kanalından üretime taşıyın.