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 uygulamalara benzer özellikler kullanan web uygulamalarıdır.

Web'in erişimi inanılmazdı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ı marka veya hizmete aşinadır ve ortalamanın üzerinde etkileşim metrikleriyle sonuçlanan yüksek bir amaç düzeyine sahiptir.

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şturmak için tamamen web platformu 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ştirilmektedir.

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ündü.

Android WebView'in sınırlaması, tarayıcı yerine kullanılmak üzere tasarlanmamış olmasıdır. Android WebView, Android uygulamalarında web kullanıcı arayüzü kullanmaya yönelik bir geliştirici aracıdır ve kişi seçici veya dosya sistemi gibi modern web platformu özelliklerine 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. Bu nedenle, açık web'deki PWA'nızdan ayrı olarak Android uygulamanızda Cordova API'lerini kullanmak için ek bir kod tabanı oluşturmanız gerekir.

Ayrıca, özelliklerin bulunabilirliği genellikle beklendiği gibi çalışmaz ve Android sürümleri ile OEM'ler arasındaki uyumluluk sorunları da problem yaratabilir. Bu çözümlerden birini kullanırken geliştiricilerin ek kalite kontrolü süreçlerine ihtiyacı vardır ve geçici çözümler oluşturup tespit etmek için ek geliştirme maliyetiyle karşılaşırlar.

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'yı dahil etmek için kapsayıcı olarak Güvenilir Web Etkinliği'yi 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ının sahip olduğu Web Platformu özellikleri ve API'leriyle aynı uyumluluğa sahip olmasını sağlar. Güvenilir Web Etkinliği kullanarak Android uygulaması oluşturmayı daha da kolaylaştıran açık kaynaklı yardımcı programlar da vardır.

Diğer çözümlerde bulunmayan bir avantaj da kapsayıcının depolama alanını tarayıcıyla paylaşmasıdır. Oturum açma 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ümden beri kullanılmaktadır. Firefox ise bu özelliği gece sürümünde kullanıma sunmuştur.

Kalite ölçütleri

Web geliştiriciler, Android uygulamaları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'nın 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 ediliyor:

  • Uygulama başlatılırken Digital Asset Links doğrulanamadı.
  • Çevrimdışı ağ kaynağı isteği için HTTP 200 döndürülememesi.
  • HTTP 404 veya 5xx hatası döndüren bir gezinme isteği".

Bu senaryolardan biri Güvenilir Web Etkinliği'nde gerçekleştiğinde Android uygulamasında kullanıcı tarafından görülebilen bir kilitlenme meydana gelir. Bu senaryoları hizmet çalışanızda ele alma rehberine göz atın.

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

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

Takım

Güvenilir Web Etkinliği'nden yararlanmak isteyen web geliştiricilerin, progresif web uygulamalarını Android uygulamasına dönüştürmek için yeni teknolojiler veya API'ler öğrenmesi gerekmez. Bubblewrap ve PWABuilder birlikte kitaplık, komut satırı arayüzü (CLI) ve grafik kullanıcı arayüzü (GUI) şeklinde geliştirici araçları sunar.

Balonlu naylon

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

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

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

Araç, projeyi de oluşturabilir. Aşağıdaki komutu çalıştırdığınızda 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 kullanılabilir. Bu dosya Play Store'a yüklenir.

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 sarmak 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 sahipliğini doğrulama

Mükemmel bir Progresif Web Uygulaması geliştiren bir geliştirici, başka bir geliştiricinin izni olmadan bu uygulama ile Android uygulaması oluşturmasını 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 assetlinks.json dosyasını PWA'ya eklemek gibi son bir adım kalır.

Bu dosyayı oluşturmak için geliştiricilerin, kullanıcılar tarafından indirilen APK'yı imzalamak üzere 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ı Play Store'dan indirmektir.

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

Sonraki adımlar

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

Progresif web uygulamalarını kullanmaya yeni başlıyorsanız harika bir PWA oluşturma hakkındaki rehberimizi 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ı test kanalına yükleyin ve Peter's Asset Link Tool'u kullanarak PWA ile eşleştirin.

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