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

Android uygulamasında PWA başlatma

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

Web, inanılmaz bir erişime sahiptir ve kullanıcılara yeni deneyimler keşfetmeleri için güçlü yollar sunar. Ancak kullanıcılar, işletim sistemlerinin mağazasında uygulama aramaya da alışkındır. Bu kullanıcılar çoğu durumda aradıkları marka veya hizmeti zaten tanır ve ortalamanın üzerinde etkileşim metrikleriyle sonuçlanan yüksek düzeyde bir niyetleri vardır.

Google Play Store, Android uygulamalarının bulunduğu bir mağazadır ve geliştiriciler genellikle Progresif Web Uygulamalarını Android uygulamalarından açmak ister.

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

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

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

Android WebView'un sınırlaması, tarayıcı yerine kullanılmak üzere tasarlanmamış olmasıdır. Android WebView, Android uygulamalarında web kullanıcı arayüzünü kullanmak için geliştirilmiş bir geliştirici aracıdır. Kişi seçici veya dosya sistemi gibi modern web platformu özelliklerine ve diğer özelliklere tam erişim sağlamaz.

Cordova, WebView'un eksikliklerini gidermek için tasarlanmıştır ancak API'ler Cordova ortamıyla sınırlıdır. Bu, Android uygulamanız için Cordova API'lerini kullanmak üzere açık web'deki PWA'nızdan ayrı bir kod tabanı daha bulundurmanız gerektiği anlamına gelir.

Ayrıca, özelliklerin keşfedilebilirliği her zaman beklendiği gibi çalışmayabilir ve Android sürümleri ile OEM'ler arasındaki uyumluluk sorunları da problem yaratabilir. Bu çözümlerden birini kullanan geliştiriciler, geçici çözümler bulmak ve oluşturmak için ek kalite kontrolü süreçlerine ihtiyaç duyar ve ek geliştirme maliyetleriyle karşılaşı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'ni kullanabilir. Bu teknoloji, PWA'yı tam ekranda oluşturmak için tarayıcıdan yararlanarak Güvenilir Web Etkinliği'nin, temel tarayıcıyla aynı Web Platformu özellikleri ve API'leriyle uyumlu olmasını sağlar. Güvenilir Web Etkinliği kullanan bir Android uygulamasının uygulanmasını daha da kolaylaştıran açık kaynak 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ıyla 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 75 sürümünden itibaren kullanılabilir. Firefox ise bu özelliği Nightly sürümünde uygulamaya koymuştur.

Kalite ölçütleri

Web geliştiriciler, Android uygulamalarına web içeriği eklemek istediklerinde Güvenilir Web Etkinliği'ni kullanmalıdır.

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

Ayrıca, kullanıcıların Android uygulamalarından beklediği davranışla eşleşmesi için Chrome 86'da bir değişiklik yapıldı. Bu değişiklikle birlikte, aşağıdaki senaryoların işlenememesi kilitlenme olarak kabul edilir:

  • Uygulama başlatılırken dijital öğe bağlantıları doğrulanamadı.
  • Ç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 alma ile ilgili kılavuzu inceleyin.

Uygulamanın, politikaya uygunluk gibi Android'e özgü ek ölçütleri de karşılaması gerekir.

AirHorn'un Lighthouse puanını gösteren ekran görüntüsü. PWA rozeti ve 100 performans puanı gösteriliyor.
Lighthouse'taki PWA rozeti, PWA'nızın yüklenebilirlik ölçütlerini karşılayıp karşılamadığını gösterir.

Araçlar

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, kitaplık, komut satırı arayüzü (CLI) ve grafik kullanıcı arayüzü (GUI) biçiminde geliştirici araçları sağlar.

Balonlu naylon

Bubblewrap projesi, NodeJS kitaplığı ve komut satırı arayüzü (CLI) biçiminde Android uygulamaları oluşturur.

Yeni bir projeyi başlatmak için aracı çalıştırıp web manifestinin URL'sini iletmeniz gerekir:

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

Araç, projeyi de derleyebilir. Aşağıdaki komut çalıştırıldığında Google Play Store'a yüklenmeye hazır bir Android uygulaması oluşturulur:

npx @bubblewrap/cli build

Bu komutu çalıştırdıktan sonra projenin kök dizininde app-release-signed.apk adlı bir dosya oluşturulur. Bu dosya, Google Play Store'a yüklenecek dosyadır.

PWABuilder

PWABuilder, geliştiricilerin mevcut web sitelerini progresif web uygulamalarına dönüştürmelerine yardımcı olur. Ayrıca, bu PWA'ları bir Android uygulamasına sarmalamak için bir GUI arayüzü sağlamak üzere Bubblewrap ile entegre olur. PWABuilder ekibi, bu 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ı geliştiren bir geliştirici, başka bir geliştiricinin izni olmadan bu uygulamayla bir Android uygulaması geliştirmesini istemez. Bunun olmaması için Android uygulamasının, Digital Asset Links adlı bir araç kullanılarak Progresif Web Uygulaması ile eşlenmesi gerekir.

Bubblewrap ve PWABuilder, Android uygulamasında gerekli yapılandırmayı yapar ancak son bir adım kalır: assetlinks.json dosyasını PWA'ya eklemek.

Geliştiricilerin bu dosyayı oluşturmak için kullanıcılar tarafından indirilen APK'yı imzalamak amacıyla 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, APK'yı Google Play Store'dan indirmektir.

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

Sonraki adımlar

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

Progresif Web Uygulamaları'nı kullanmaya yeni başlıyorsanız mükemmel bir PWA oluşturmayla ilgili 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, Bubblewrap veya PWABuilder'ı kullanarak Android uygulamasını oluşturun, 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 üretim kanalına taşıyın.