Kullanıcı, Android'deki ana ekranına progresif web uygulamanızı eklediğinde Chrome, sizin için otomatik olarak bir APK oluşturur. Bu APK'ya bazen WebAPK denir. APK aracılığıyla yüklendiğinde uygulamanız, uygulama başlatıcıda, Android'in uygulama ayarlarında görünebilir ve bir dizi intent filtresi kaydedebilir.
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. Buna bazen WebAPK denir. APK aracılığıyla yüklenmesi, uygulamanızın Android'in uygulama ayarlarında uygulama başlatıcıda görünmesini ve bir dizi intent filtresi kaydetmesini sağlar.
Chrome, WebAPK'yi oluşturmak için web uygulaması manifestini ve diğer meta verileri inceler. Manifest dosyasında bir güncelleme algılandığında, Chrome'un yeni bir APK oluşturması gerekir.
Android intent filtreleri
Android'e yüklenen bir Progressive Web Uygulaması, uygulamanın kapsamı dahilindeki tüm URL'ler için bir dizi intent filtresi kaydeder. Kullanıcı, uygulamanın kapsamı dahilindeki bir bağlantıyı tıkladığında uygulama, tarayıcı sekmesinde açılmak yerine açılır.
Aşağıdaki kısmi manifest.json
değerini göz önünde bulundurun:
"start_url": "/",
"display": "standalone",
Bu API'yi kullanan bir web uygulaması, uygulama başlatıcıdan başlatıldığında tarayıcı kromu olmadan bağımsız bir uygulama olarak https://example.com/
açılır.
WebAPK aşağıdaki intent filtrelerini içerir:
<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 uygulamadaki bir bağlantıyı tıklayarak https://example.com/read
'e giderse bağlantı, intent tarafından yakalanır ve Progressive Web Uygulaması'nda açılır.
Amaç filtrelerini kısıtlamak için scope
kullanma
Progressive Web Uygulamanızın sitenizdeki tüm URL'leri işlemesini istemiyorsanız web uygulaması manifest dosyanıza scope
mülkünü ekleyebilirsiniz. scope
mülkü, Android'e web uygulamanızı yalnızca URL origin
+ scope
ile eşleşirse açmasını söyler. 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ışındaki diğer içerikleriniz aynı alan adında olduğunda kullanışlıdır.
Aşağıdaki kısmi manifest.json
'yi inceleyin:
"scope": "/app/",
"start_url": "/app/",
"display": "standalone",
Uygulama başlatıcıdan başlatıldığında https://example.com/app/
, herhangi bir tarayıcı Chrome'u olmadan
bağımsız bir uygulama olarak açılır.
Oluşturulan WebAPK, önceki gibi 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/
bölgesinde değil
scope
hakkında daha fazla bilgi edinmek, bu özelliği ayarlamadığınızda ne olacağını öğrenmek ve uygulamanızın kapsamını tanımlamak için bu özelliği nasıl kullanabileceğinizi öğrenmek üzere 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, ideal olarak yalnızca gerçekten ihtiyaç duyduğunuzda çalışma zamanında istenmelidirler. Ö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
Progressive web uygulaması bir APK aracılığıyla yüklenmesine rağmen Chrome, verileri depolamak için mevcut profili kullanır ve bu veriler ayrılmaz. Bu, tarayıcı ile yüklü uygulama arasında paylaşılan bir deneyime olanak tanır. Çerezler paylaşılır ve etkindir, istemci tarafındaki tüm depolama alanlarına erişilebilir ve hizmet çalışanı yüklenmiş ve kullanıma hazırdır.
WebAPK'yı güncelleme
WebAPK'ların nasıl güncellendiğiyle ilgili bilgiler Chrome'un web uygulaması manifestindeki güncellemeleri nasıl işlediği başlıklı makaleye taşındı.
Sık sorulan sorular
- Başlangıç ekranı oluşturmak için hangi simgeler kullanılır? :
- Başlangıç ekranı için en az iki simge sağlamanızı öneririz: 192 piksel ve 512 piksel. Başlangıç ekranındaki simgelerin çok küçük olduğunu bildirmiştiniz. Chrome 71 veya sonraki sürümlerde oluşturulan WebAPK'larda başlangıç ekranında daha büyük bir simge gösterilir. Önerilen simgeler sağlandığı sürece herhangi bir işlem yapmanız gerekmez.
- Kullanıcı sitenin yerel uygulamasını zaten yüklediyse ne olur?
- Kullanıcılara, ana ekrana ekleme özelliğinde olduğu gibi, yerel uygulamalardan bağımsız bir site ekleme olanağı sunulacaktır. Kullanıcıların potansiyel olarak her ikisini de yüklemelerini bekliyorsanız, sitenizin simgesini veya adını yerel uygulamanızdan ayırt etmenizi öneririz.
- Kullanıcı Chrome'un önbelleğini temizlerse yüklenen sitemin depolama alanı temizlenir mi?
- Evet.
- Yeni bir cihaz aldığımda uygulamam yeniden yüklenir mi?
- Şimdilik değil, ancak bunun önemli bir alan olduğunu düşünüyoruz ve işe yaramasını sağlayacak yolları araştırıyoruz.
- İzinler nasıl ele alınır? Chrome istemi mi yoksa Android istemi mi gösterilir?
- İzinler, Chrome üzerinden yönetilmeye devam edecek. Kullanıcılar, Chrome'un izin verme istemlerini görecek ve bunları Chrome ayarlarında düzenleyebilirler.
- 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 sonraki sürümler) yüklenebilir.
- Bu uygulamada Web Görünümü kullanılı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 bölümüne göz atın.
- Bunlar Play Store'da listeleniyor mu?
- Hayır. Play Store'da listelemek için 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? :
- Üzerinde çalışıyoruz. Bu özelliği Android'deki tüm tarayıcılarda kullanıma sunmayı hedefliyoruz. Yakında daha fazla bilgi paylaşacağız.