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 olağanüstü bir erişime sahiptir ve kullanıcıların yeni deneyimler keşfetmesi için güçlü yollar sunar. Ancak kullanıcılar işletim sistemi mağazalarındaki uygulamaları aramaya da alışkındır. Bu kullanıcılar, çoğu durumda aradıkları marka veya hizmete zaten aşinadır ve ortalamanın üzerinde etkileşim metrikleriyle sonuçlanan yüksek bir niyet düzeyine sahiptir.

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

Güvenilir Web Etkinliği, tarayıcıların bir Android uygulaması içinde PWA'lar oluşturan tamamen web platformuyla uyumlu bir kapsayıcı sağlamasına olanak tanıyan açık bir standarttır. Bu özellik Chrome'da kullanılabilir ve Firefox Geceliği'nde 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 WebView, bir tarayıcı yerine kullanılmak üzere tasarlanmamıştı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, Web Görünümü'ndeki eksiklikleri gidermek üzere tasarlanmıştır ancak daha sonra API'ler, Cordova ortamıyla sınırlandırılmıştır. Bu da Android uygulamanızda Cordova API'lerini kullanmak için açık web'deki PWA'nızdan ayrı olarak ek bir kod tabanına sahip olmanız gerektiği anlamına gelir.

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

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

Geliştiriciler artık Android uygulamalarını başlatma etkinliği olarak PWA eklemek için kapsayıcı olarak Güvenilir Web Etkinliği kullanabilirler. Bu teknoloji, PWA'yı tam ekranda oluşturmak için tarayıcıdan yararlanarak Güvenilir Web Etkinliği'nin Web Platformu özellikleri ve API'leri ile temel tarayıcının sahip olduğu uyumluluğa sahip olması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üklenebilirlik ö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 bir değişiklik yapıldı. Bu değişiklik kapsamında, aşağıdaki senaryoların ele alınmaması kilitlenme olarak kabul edilir:

  • 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 karşılayıp karşılamadığını gösterir.

Araç

Güvenilir Web Etkinliği'nden yararlanmak isteyen web geliştiricilerinin 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, Android uygulamalarını NodeJS kitaplığı ve Komut Satırı Arayüzü (CLI) biçiminde 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 oluşturabilir. Aşağıdaki komut çalıştırıldığında, Play Store'a yüklenmeye hazır bir Android uygulaması oluşturulur:

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ı gerekir.

Anahtar farklı şekillerde oluşturulabilir ve son kullanıcılara sunulan APK'yı imzalayan anahtarı bulmanın en kolay yolu APK'yı Play Store'dan indirmektir.

Bozuk bir uygulamanın kullanıcılara gösterilmesini önlemek amacıyla uygulamayı kapalı test kanalına dağıtın, test cihazına yükleyin, ardından uygulama için doğru assetlinks.json dosyasını oluşturmak üzere Peter'ın Asset Link Aracı'nı kullanın. Oluşturulan assetlinks.json dosyasını /.well-known/assetlinks.json adresinde, doğrulanan alan adında 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 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, BubbleWrap veya PWABuilder'ı kullanarak Android uygulamasını oluşturun, uygulamayı Play Store'daki bir kapalı test kanalına yükleyin ve Peter'ın Asset Link Aracı'nı kullanarak PWA ile eşleştirin.

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