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 özellikleri kullanan web uygulamalarıdır.
Web olağanüstü bir erişime sahiptir ve kullanıcılara yeni deneyimler keşfetmeleri için güçlü yollar sunar. Ancak kullanıcılar, işletim sistemi mağazalarındaki uygulama aramaya da alışkın. Bu kullanıcılar çoğu durumda, aradıkları marka veya hizmeti zaten biliyordur ve ortalama etkileşim metriklerinden daha yüksek sonuç veren yüksek düzeyde bir niyete 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 isterler.
Güvenilir Web Etkinliği, tarayıcıların bir Android uygulaması içinde PWA'lar oluşturan, 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'de 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 her zaman dahil edilebiliyordu.
Android WebView ile ilgili sınırlama, tarayıcının yerine geçecek şekilde tasarlanmamasıdır. Android Web Görünümü, Android uygulamalarında web kullanıcı arayüzünü kullanmaya yarayan bir geliştirici aracıdır ve diğerlerinin yanı sıra kişi seçici veya dosya sistemi gibi modern web platformu özelliklerine tam erişim sağlamaz.
Cordova, WebView'un eksikliklerini gidermek için tasarlanmıştı; ancak API'ler daha sonra Cordova ortamıyla sınırlandırıldı. Yani, 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 gerekir.
Ayrıca özellik bulunabilirliği genellikle her zaman beklendiği gibi çalışmaz. Ayrıca, Android sürümleri ile OEM'ler arasındaki uyumluluk sorunları da sorun oluşturabilir. Geliştiriciler bu çözümlerden birini kullanırken ek kalite güvencesi süreçlerine ihtiyaç duyar ve geçici çözümleri tespit edip oluşturmak için ekstra geliştirme maliyetine tabi olur.
Güvenilir Web Etkinliği, Android'deki Web uygulamaları için yeni bir kapsayıcıdır
Geliştiriciler artık Güvenilir Web Etkinliği'ni kapsayıcı olarak kullanarak PWA'yı Android uygulamalarının başlatma etkinliği olarak ekleyebilirsiniz. Bu teknoloji, PWA'yı tam ekranda oluşturmak için tarayıcıdan yararlanır. Böylece Güvenilir Web Etkinliği'nin, Web Platformu özellikleri ve API'lerle aynı uyumluluğa sahip olması sağlanır. Ayrıca, Android uygulamasını Güvenilir Web Etkinliği kullanarak uygulamayı daha da kolaylaştıran açık kaynaklı yardımcı programlar da vardır.
Diğer çözümlerde bulunmayan bir başka 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, 75 sürümünden beri Chrome'da kullanılabiliyor ve Firefox'un gecelik sürümlerinde de kullanılıyor.
Kalite Ölçütleri
Web geliştiricileri, bir Android uygulaması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 Chrome 86, kullanıcıların Android uygulamalarından beklediği davranışa uyum sağlamak için aşağıdaki senaryoların ele alınmamasının kilitlenme olarak kabul edildiği bir değişikliği kullanıma sundu:
- Uygulama başlatılırken dijital varlık bağlantılarının doğrulanamaması.
- Ç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".
Bu senaryolardan biri Güvenilir Web Etkinliği'nde gerçekleştiğinde, kullanıcının Android uygulaması görünür bir şekilde kilitlenmesine neden olur. Bu senaryoları Service Worker'da ele almayla ilgili kılavuzu inceleyin.
Uygulama, politika uygunluğu gibi Android'e özel ek ölçütleri de karşılamalıdır.
![PWA rozeti ve 100 performans puanıyla AirHorn'un Lighthouse puanını gösteren ekran görüntüsü.](https://web.dev/static/articles/using-a-pwa-in-your-android-app/image/a-screenshot-showing-lig-821b74a33707e.png?authuser=6&hl=tr)
Aletler
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 öğrenmelerine gerek yoktur. Bubblewrap ve PWABuilder birlikte kitaplık, Komut Satırı Arayüzü (KSA) ve Grafik Kullanıcı Arayüzü (GUI) biçiminde geliştirici araçları sunar.
Baloncuklu Naylon
Bubblewrap projesi, Android uygulamalarını NodeJS kitaplığı ve Komut Satırı Arayüzü (KSA) biçiminde oluşturur.
Yeni bir projenin önyüklemesi, araç çalıştırılarak ve Web Manifest'in URL'si geçirilerek gerçekleştirilir:
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ı çıktısı verir:
npx @bubblewrap/cli build
Bu komutu çalıştırdıktan sonra projenin kök dizininde app-release-signed.apk
adlı bir dosya kullanılabilir olur. Bu, Play Store'a yüklenecek dosyadır.
PWABuilder
PWABuilder, geliştiricilerin mevcut web sitelerini progresif web uygulamalarına (pwa) dönüştürmesine yardımcı olur. Ayrıca, bu PWA'ları Android uygulamasına sarmalayan bir GUI arayüzü sağlamak için Bubblewrap ile entegre olur. PWABuilder ekibi, bu aracı kullanarak Android uygulaması oluşturma hakkında mükemmel bir blog yayını hazırladı.
Android uygulamasında PWA'nın sahipliğini doğrulama
Mükemmel bir Progresif Web Uygulaması (PWA) oluşturan bir geliştirici, başka bir geliştiricinin kendisinden izin almadan Android uygulaması geliştirmesini istemez. Bunun olmaması için Android uygulaması, Dijital Öğe Bağlantıları adlı bir araç kullanılarak Progresif Web Uygulaması ile eşleştirilmelidir.
Bubblewrap ve PWABuilder, Android uygulamasında gerekli yapılandırmayı halleder, ancak assetlinks.json
dosyasının PWA'ya eklenmesi gibi son bir adım kaldı.
Bu dosyayı oluşturmak için geliştiricilerin, kullanıcılar tarafından indirilmekte olan APK'yı imzalamak için kullanılan anahtarın SHA-256 imzasına ihtiyacı vardır.
Anahtar farklı şekillerde oluşturulabilir ve son kullanıcılara sunulan APK'yı imzalayan anahtarı bulmanın en kolay yolu, onu Play Store'dan indirmektir.
Bozuk bir uygulamanın kullanıcılara gösterilmesini önlemek için uygulamayı kapalı bir test kanalına dağıtın, bir test cihazına yükleyin, ardından uygulama için doğru assetlinks.json
dosyasını oluşturmak üzere Peter'ın Asset Link Tool'unu kullanın. Oluşturulan assetlinks.json
dosyasını, doğrulanmakta olan alandaki /.well-known/assetlinks.json
adresinde kullanılabilir hale getirin.
Sonraki adımlar
Progresif Web Uygulaması, yüksek kaliteli bir web deneyimidir. Güvenilir Web Etkinliği, minimum kalite kriterlerini karşıladıklarında bir Android uygulamasından yüksek kaliteli deneyimleri açmanın yeni bir yoludur.
Progresif Web Uygulamalarını kullanmaya yeni başlıyorsanız mükemmel bir PWA oluşturma rehberimizi okuyun. Zaten PWA'sı olan geliştiriciler, kalite kriterlerini 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'ın Asset Link Tool'unu kullanarak PWA ile eşleyin.
Son olarak, uygulamanızı kapalı test kanalından üretim kanalına taşıyın.