Kullanıcı, Android'de progresif web uygulamanızı ana ekranına eklediğinde Chrome sizin için otomatik olarak bir APK oluşturur. Bu APK'ya bazen WebAPK da denir. Uygulamanızın APK aracılığıyla yüklenmesi, uygulamanızın uygulama başlatıcıda ve Android'in uygulama ayarlarında görünmesini ve bir dizi amaç filtresi kaydetmesini sağlar.
Android'de PWA yüklemek, progresif web uygulamasını kullanıcının ana ekranına eklemekten daha fazlasını yapar. Chrome, uygulamanızın özel bir APK'sını otomatik olarak oluşturup yükler. Bu APK'ya bazen WebAPK adını veririz. Uygulamanızın APK üzerinden yüklenmesi, uygulamanızın uygulama başlatıcıda ve Android'in uygulama ayarlarında görünmesini ve bir dizi amaç filtresi kaydetmesini sağlar.
Chrome, WebAPK'yı oluşturmak için web uygulaması manifestine ve diğer meta verilere bakar. Manifest'te bir güncelleme algılandığında Chrome'un yeni bir APK oluşturması gerekir.
Android amaç filtreleri
Android'e bir ilerleyici web uygulaması yüklendiğinde, uygulamanın kapsamındaki tüm URL'ler için bir dizi intent filtresi kaydedilir. Kullanıcı, uygulamanın kapsamındaki bir bağlantıyı tıkladığında uygulama, tarayıcı sekmesinde açılmak yerine doğrudan açılır.
Aşağıdaki kısmi manifest.json'ı inceleyin:
"start_url": "/",
"display": "standalone",
Bunu kullanan bir web uygulaması, uygulama başlatıcıdan başlatıldığında tarayıcı çerçevesi olmadan bağımsız bir uygulama olarak açılır.
https://example.com/
WebAPK'da aşağıdaki intent filtreleri yer alır:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="example.com"
android:pathPrefix="/" />
</intent-filter>
Kullanıcı, yüklü bir uygulamada https://example.com/read bağlantısını tıklarsa bu bağlantı amaç tarafından yakalanır ve ilerleyici web uygulamasında açılır.
Intent filtrelerini kısıtlamak için scope kullanma
Aşamalı web uygulamanızın sitenizdeki tüm URL'leri işlemesini istemiyorsanız web uygulaması manifestinize scope özelliğini ekleyebilirsiniz. scope özelliği, URL origin + scope ile eşleşiyorsa Android'e yalnızca web uygulamanızı açmasını söyler. Bu özellik, hangi URL'lerin uygulamanız tarafından işleneceğini ve hangilerinin tarayıcıda açılacağını kontrol etmenizi sağlar.
Bu, uygulamanız ve uygulama dışı diğer içerikler aynı alanda olduğunda yararlıdır.
Aşağıdaki kısmi manifest.json'ı inceleyin:
"scope": "/app/",
"start_url": "/app/",
"display": "standalone",
Uygulama başlatıcıdan başlatıldığında https://example.com/app/, tarayıcı çerçevesi olmadan bağımsız bir uygulama olarak açılırdı.
Daha önce olduğu gibi, oluşturulan WebAPK bir intent filtresi içerir ancak APK'nın AndroidManifest.xml bölümünde farklı bir android:pathPrefix özelliği bulunur:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="example.com"
android:pathPrefix="/app/" />
</intent-filter>
Birkaç örneğe göz atalım:
https://example.com/app/ - /app/ içinde
https://example.com/app/read/book - /app/ içinde
https://example.com/help/ - /app/ içinde değil
https://example.com/about/ - /app/ içinde değil
scope hakkında daha fazla bilgi edinmek, ayarlanmadığında ne olacağını ve
uygulamanızın kapsamını tanımlamak için nasıl kullanabileceğinizi öğrenmek için scope başlıklı makaleyi inceleyin.
İzinleri yönetme
İzinler, diğer web uygulamalarıyla aynı şekilde çalışır ve yükleme sırasında istenemez. Bunun yerine, çalışma zamanında ve ideal olarak yalnızca gerçekten ihtiyaç duyduğunuzda istenmelidir. Örneğin, ilk yüklemede kamera izni istemeyin. Bunun yerine, kullanıcı fotoğraf çekmeye çalışana kadar bekleyin.
Depolama alanını ve uygulama durumunu yönetme
Aşamalı web uygulaması APK aracılığıyla yüklenmiş olsa bile Chrome, verileri depolamak için mevcut profili kullanır ve veriler ayrılmaz. Bu sayede tarayıcı ile yüklü uygulama arasında ortak bir deneyim sağlanır. Çerezler paylaşılır ve etkin olur, istemci tarafındaki tüm depolama alanlarına erişilebilir ve hizmet çalışanı yüklenir ve kullanıma hazır hale gelir.
WebAPK'yı güncelleme
WebAPK'nin nasıl güncellendiğiyle ilgili bilgiler Chrome, web uygulaması manifestindeki güncellemeleri nasıl işler? başlıklı makaleye taşındı.
Sık sorulan sorular
Açılış ekranı oluşturmak için hangi simgeler kullanılır?
Açılış ekranı için en az iki simge boyutu sağlamanızı öneririz: 192 piksel ve 512 piksel. Açılış ekranındaki simgelerin çok küçük olduğunu belirttiniz. Chrome 71 veya sonraki sürümlerde oluşturulan WebAPK'lar, başlangıç ekranında daha büyük bir simge gösterir. Önerilen simgeler sağlandığı sürece herhangi bir işlem yapmanız gerekmez.
Kullanıcı, sitenin yerel uygulamasını zaten yüklemişse ne olur?
Kullanıcılar, bugün ana ekrana ekleme özelliğinde olduğu gibi, yerel uygulamalardan bağımsız olarak site ekleyebilecek. Kullanıcıların her ikisini de yükleyebileceğini düşünüyorsanız sitenizin simgesini veya adını yerel uygulamanızdan farklılaştırmanızı öneririz.
Kullanıcı Chrome'un önbelleğini temizlerse yüklü sitemin depolama alanı temizlenir mi?
Evet.
Yeni bir cihaz aldığımda uygulamam yeniden yüklenir mi?
Şu anda bu özellik kullanılamıyor ancak önemli bir alan olduğunu düşünüyor ve bu özelliği kullanıma sunmanın yollarını araştırıyoruz.
İzinler nasıl işlenir? Chrome istemini mi yoksa Android istemini mi görürüm?
İzinler Chrome üzerinden yönetilmeye devam eder. Kullanıcılar, izin verme istemlerini Chrome'da görür ve bunları Chrome ayarlarında düzenleyebilir.
Bu özellik hangi Android sürümlerinde çalışır?
Progresif web uygulamaları, Android için Chrome'un yüklü olduğu tüm Android sürümlerine (özellikle Jelly Bean ve üzeri) yüklenebilir.
Bu, WebView'u kullanıyor mu?
Hayır, site, kullanıcının siteyi eklediği Chrome sürümünde açılır.
Oluşturulan APK'ları Play Store'a yükleyebilir miyiz?
Hayır. Kendi APK'nızı yüklemek istiyorsanız Güvenilir Web Etkinlikleri'ne göz atın.
Bunlar Play Store'da listeleniyor mu?
Hayır. Play Store'da listelenmek üzere kendi APK'nızı yüklemek istiyorsanız Güvenilir Web Etkinlikleri'ne göz atın.
Android'de başka bir tarayıcının geliştiricisiyim. Bu sorunsuz yükleme sürecini kullanabilir miyim?
Sorunun üzerinde çalışıyoruz. Bu özelliği Android'deki tüm tarayıcılarda kullanıma sunmak için çalışıyoruz. Yakında daha fazla bilgi paylaşacağız.