Yüklü PWA'larda gezinmeyi yönetme

Demián Renzulli
Demián Renzulli
Dan Murphy
Dan Murphy
Dibyajyoti Pal
Dibyajyoti Pal
Vincent Scheib
Vincent Scheib

Yayınlanma tarihi: 19 Ağustos 2025

Gezinme yönetimi, bir progresif web uygulamasının (PWA) kullanıcı gezinmesini nasıl işlediğini kontrol etme yöntemlerini kapsar. Bu özelliğin önemli bir bileşeni, bir bağlantıyı tıklamanın yüklü PWA'yı başlatıp başlatmayacağını veya yeni bir tarayıcı sekmesi açıp açmayacağını belirleyen tarayıcı işlemi olan gezinme yakalama'dır.

Bu kılavuzda, Chrome 139'dan itibaren kullanılabilen yeni gezinme yakalama sürümü ele alınmaktadır. Tarayıcının varsayılan davranışı çoğu durumda uygun olsa da kullanıcılarınız için en sorunsuz deneyimi oluşturmak istiyorsanız bu yönetim teknikleri ve ilgili API'ler hakkında daha ayrıntılı bilgi edinmeniz gerekir.

Geliştirici kontrolleri bölümünde, PWA'nız için mümkün olan en iyi başlatma deneyimini sunmak üzere gezinmeyi nasıl özelleştireceğiniz açıklanmaktadır.

Yeni varsayılan davranış

Chrome, kullanıcı tercihlerine uygun hale gelmek ve sürtünmeyi azaltmak için bağlantıları ele alma şeklini standartlaştırıyor. Daha önce bu davranış platformlar arasında tutarsızdı. Mobil cihazlar genellikle yüklü uygulamaların başlatılmasına öncelik verirken masaüstü tarayıcılar, bir bağlantıyı önce sekmede açıp ardından bir uygulamanın bağlantıyı işleyebileceğini bildiriyordu.

Gezinme yakalama için yeni ve birleştirilmiş yaklaşım, bağlantıları yüklü PWA'larında otomatik olarak açar. Bağlantılar yalnızca PWA yüklenmemişse veya kullanıcı devre dışı bırakmayı seçmişse tarayıcı sekmesine geri döner. Bu yeni davranış, Windows, Mac ve Linux için Chrome 139'dan itibaren kullanılabilir. ChromeOS desteği ise gelecekteki bir sürümde sunulacaktır.

Bir bağlantıyı tıkladığınızda, varsa yüklü PWA seçilir, aksi takdirde hedef bir tarayıcı sekmesinde açılır.
Yüklü PWA'ların başlatılmasına öncelik veren yeni gezinme yakalama davranışı, Chrome 139'dan itibaren kullanılabilir.

Gezinme yakalama, gezinme yönetimi sürecinin bir parçasıdır. Bu süreç, kullanıcının ilk işleminden tarayıcının kararlarına ve geliştirici tarafından yapılandırılan sonuçta ortaya çıkan davranışlara kadar tüm akışı kapsar:

  • Kullanıcı işlemleri: Bağlantıları tıklama veya bağlantılara dokunma gibi etkileşimleri içerir.
  • Tarayıcı kararları: Tarayıcı tarafından yönetilen görevleri ve kararları (ör. gezinme yakalama gibi varsayılan davranışlar) içerir.
  • Geliştirici kontrolleri: Geliştiricilerin tarayıcıya belirli görevlerin nasıl işleneceği konusunda talimat vermesine olanak tanıyan web API'lerini içerir.

Bu öğelerin etkileşimi, PWA'nın bağımsız bir pencerede mi yoksa tarayıcı sekmesinde mi açılacağını belirler.

Gezinme yönetimi, kullanıcı işlemlerinin, tarayıcı kararlarının ve geliştirici kontrollerinin sonucudur.

Temel bir gezinme yönetimi kullanım alanı, kullanıcının tarayıcıdaki başka bir sayfadan yüklenen PWA'ya giden bir bağlantıyı tıklaması veya bağlantıya dokunmasıdır. Aşağıdaki örnekte, Google Chat PWA'yı yüklemiş ve Google Takvim davetinden bu uygulamaya giden bir bağlantıyı tıklamış bir kullanıcının durumu açıklanmaktadır.

Kullanıcı, calendar.google.com adresinden chat.google.com'a (PWA olarak yüklenmiş) giden bir bağlantıyı tıklıyor.

Kullanıcı işlemleri

Her kullanıcı işlemi üç temel öğeden oluşur: Etkinlik (ör. tıklama veya dokunma), gerçekleştiği yüzey (ör. web sayfası veya masaüstü kısayolu) ve etkinleştirilen bağlantı türü (ör. HTTPS URL'si). Örneğin, kullanıcının işlemi, calendar.google.com adresindeki bir web sayfasından Google Chat PWA kapsamındaki https://chat.google.com/meeting_room_id bağlantısını tıklamak olabilir.

Tarayıcı kararları

Kullanıcının önceki adımda tıklama gibi bir işlem yapması üzerine tarayıcı, bağlantıların tarayıcı sekmesinde mi yoksa yüklü bir PWA'da mı açılacağına karar vermek için gezinme yakalama sürecini çalıştırır. Bu süreç aşağıdaki adımlardan oluşur:

  1. Gezinmenin yakalanabilir olup olmadığını belirleyin: Genel olarak, yeni bir çerçeve oluşturan ve yardımcı bir tarama bağlamında açılmayan gezinmeler yakalanabilir olarak kabul edilir.
  2. Kontrol eden bir PWA'yı tanımlama: Gezinme yakalanabiliyorsa tarayıcı, URL'yi "kontrol eden" (Web Uygulaması Manifesti'nde tanımlanan kapsam dahilinde olan) bir PWA bulmaya çalışır.
  3. Kullanıcı tercihini doğrulama: Kontrol eden bir PWA bulunursa tarayıcı, kullanıcı tercihini kontrol eder. Kullanıcı, uygulama ayarlarında devre dışı bırakmadıysa PWA başlatılır. Aksi takdirde bağlantı yeni bir tarayıcı sekmesinde açılır.
  4. PWA'yı başlatma: Tarayıcı, PWA'yı başlatma işleme algoritmasını kullanarak başlatır. Bunu, bir sonraki bölümde ele alınan Launch Handler API'yi kullanarak etkileyebilirsiniz.

Aşağıdaki şemada bu süreç özetlenmektedir:

resim
Gezinme Yakalama: Tarayıcının, bağlantıları tarayıcı sekmesinde açıp açmayacağını veya kullanıcı işlemi üzerine PWA başlatıp başlatmayacağını belirlemek için gerçekleştirdiği adımlar.

Geliştirici denetimleri

Gezinme süreci temel olarak tarayıcı varsayılanlarına ve kullanıcı ayarlarına bağlı olsa da bu sürecin belirli yönlerini yönetmek için çeşitli API'ler kullanabilirsiniz. Yakın zamanda yapılan gezinme yakalama güncellemesinin ardından, uzun süredir kullanılan bazı web API'leri daha alakalı hale geldi.

Launch Handler API

Bu API, tarayıcı PWA'yı başlatmaya karar verdiğinde devreye girerek başlatma şeklini (ör. yeni veya mevcut bir pencerede) kontrol etmenize olanak tanır.

PWA, mevcut bir pencereye odaklanılarak veya yeni bir pencere açılarak başlatılabilir.
Launch Handler API: PWA'nın nasıl başlatılacağını belirlemenizi sağlar.

Web uygulaması manifestindeki launch_handler üyesi aracılığıyla PWA'nın nasıl başlatılacağını tanımlayın. Bu üye, client_mode adlı bir alt alanı içerir. Bu alt alan, yeni veya mevcut bir pencerenin kullanılıp kullanılmayacağını ve gezinip gezinmeyeceğini belirler. client_mode için izin verilen değerler şunlardır:

  • focus-existing: Bağlantıyı, bağımsız modda zaten çalışan bir PWA gibi mevcut bir uygulama penceresinde işlemek için.
  • navigate-existing: Bu seçenekte, bir web uygulaması penceresinde en son etkileşimde bulunulan göz atma bağlamı, başlatmanın hedef URL'sine yönlendirilir.
  • navigate-new: Bu seçenekte, lansmanın hedef URL'sini yüklemek için bir web uygulaması penceresinde yeni bir göz atma bağlamı oluşturulur.

Ek parametreler sağlamak ve özel durumları ele almak için launchQueue API özelliğini kullanın. Launch Handler API, Chrome 110'dan itibaren kullanılabilir ancak gezinme yakalama güncellemesiyle çok daha kullanışlı hale gelir. Bu konuyla ilgili daha fazla bilgiyi Launch Handler API belgelerinde bulabilirsiniz.

Diğer ilgili API'ler

Uygulamanızın özel ihtiyaçlarına bağlı olarak, başlatma işlemenin yanı sıra diğer API'ler de bu süreçte rol oynayabilir. Bunlar arasında, bir web uygulamasının standart http ve https dışındaki URL şemalarını (ör. mailto: gibi standart protokoller veya web+music gibi özel protokoller) işleme özelliğini kaydetmesine olanak tanıyan URL protokol işleyicileri yer alır. Ayrıca, Web App Scope Extensions API (şu anda geliştirme aşamasındadır) PWA'nızın kapsamını genişleterek alt alan adları da dahil olmak üzere diğer kaynaklardaki bağlantıları yakalamanıza olanak tanır. Böylece, bir kullanıcı ilişkili bir kaynaktaki bağlantıyı tıkladığında PWA başlatılabilir. Bu makalede bu konular ayrıntılı olarak ele alınmamaktadır ancak daha fazla bilgi edinmek için ilgili bağlantıları inceleyebilirsiniz.

Son olarak, Google Chat PWA'yı daha önce yüklemiş bir kullanıcının Google Chat odasına ait Google Takvim bağlantısını tıklaması örneğinde farklı parçaların birlikte nasıl çalıştığını öğrenin.

Gezinme kaydından önce

Aşağıdaki videoda bir kullanıcı, Google Takvim'de toplantı oluşturup üç konuk davet ediyor. Takvim uygulaması, tüm katılımcıları içeren bir Google Chat bağlantısını otomatik olarak oluşturur. Kullanıcı bu bağlantıyı tıkladığında sohbet odası yeni bir tarayıcı sekmesinde açılır. Adres çubuğundaki bir simge, ilgili PWA'nın yüklendiğini gösterir ancak kullanıcının PWA'yı manuel olarak başlatması gerekir. Gezinme yakalama güncellemesinden önceki davranış:

Navigasyon yakalama işleminden sonra

Aşağıdaki videoda aynı kullanıcı iş akışı gösterilmektedir ancak bu kez yeni gezinme yakalama davranışı kullanılmıştır. Bu sürümde, Google Takvim'deki Google Chat bağlantısını tıkladığınızda ilgili sohbet odası doğrudan yüklü PWA'da açılır. Ayrıca, Google Chat ekibi, Web Uygulaması Manifesti'ne bir launch_handler özelliği ekleyerek Başlatma İşleme'yi uygulamaya koydu. client_mode değerini focus-existing olarak ayarlayarak bağlantının, PWA'nın mevcut bir örneğinde (halihazırda çalışıyorsa) açılmasını sağlarlar. Yeni bir tarayıcı sekmesi açma ve ardından sayfa yüklemeyi tetikleme işleminde oluşan gecikmeyi ortadan kaldırarak, etkili "kullanıcı etkileşimine kadar geçen süre" tasarım gereği daha hızlı olabilir. Hatta Google Chat, yeni bir uygulama başlatma ihtiyacını ortadan kaldırarak gezinme gecikmesini önemli ölçüde iyileştirdi.

Sonuç ve sonraki adımlar

Bu makalede, Chrome 139'dan itibaren kullanılabilen yeni varsayılan gezinme yakalama davranışı incelenmiş ve bir kullanıcının yüklü bir PWA kapsamında bir HTTPS bağlantısını tıklaması gibi yaygın bir kullanım alanına odaklanılmıştır. Daha fazla bilgi ve kullanım alanını Navigation Management into Installed PWAs (Yüklü PWA'larda Navigasyon Yönetimi) başlıklı makalede bulabilirsiniz. Aşağıdaki şemada, kullanıcı etkinlikleri, platformlar ve protokoller dahil olmak üzere kullanım alanlarının tam dökümü ve bunlara karşılık gelen sonuçlar gösterilmektedir:

Makalede açıklanan farklı adımlar.
Gezinme yakalama şeması (tam sürüm)

Giriş noktasını kontrol ettiğinden, gezinme yönetimi uygulamanızın kullanıcı deneyiminin önemli ancak genellikle göz ardı edilen bir yönüdür. Bu makalede ele alınan özellikler ve bağlantılar, PWA'nız için mümkün olan en iyi uygulama benzeri deneyimi elde etmenize yardımcı olabilir.