Sorgu Parametrelerini Kullanarak Güvenilir Web Etkinliğine Bilgi Aktarma

Uygulamalarında Güvenilir Web Etkinliği kullanan geliştiricilerin, uygulamanın yerel kısmından Progresif Web Uygulamasına (PWA) bilgi aktarması gerekebilir.

Bunun yaygın bir kullanım alanı, Güvenilir Web Etkinliği'nden başlatılan yüklemeleri ve oturumları ölçmek için özel analiz segmentasyonları uygulamaktır. Bunu uygulamak için başlatma URL'sine sorgu parametreleri eklenebilir.

Başlangıç URL'sini değiştirme

PWA'ya iletilen parametre kullanıcılar genelinde aynı kalır ve başlatılırsa parametre doğrudan başlangıç URL'sine eklenebilir. Bu kullanıma örnek olarak, geliştiricilerin Güvenilir Web Etkinliği'nden oluşturulan gezinme oturumlarının sayısını ölçmek istemesi verilebilir.

Bubble wrap'u kullanma

Bubblewrap, geliştiricilerin Güvenilir Web Etkinliği kullanarak mevcut PWA'ları başlatan bir Android uygulaması için Proje oluşturmasına yardımcı olmak amacıyla oluşturulmuş bir araçtır. Hem bir library hem de Komut Satırı Arayüzü (KSA) içerir.

Yeni proje oluşturma

Bubblewrap KSA kullanılırken proje init komutuyla başlatılır ve bir Web Manifest'inden parametre olarak sağlanan varsayılan değerler oluşturur:

bubblewrap init --manifest https://material.money/manifest.json

Sihirbaz varsayılan olarak Web Manifest'teki start_url parametresini kullanır ve kullanıcılardan değeri onaylamalarını ister. Bu da geliştiricilere, Progresif Web Uygulamasını başlatmak için kullanılan URL'ye ekstra parametreler ekleme olanağı sunar.

Bubblewrap CLI çıkışı gösteriliyor

Mevcut bir projede değişiklik yapma

Bubblewrap bir proje oluşturduğunda, söz konusu projeyle ilgili bilgiler proje klasöründeki twa-manifest.json adlı bir dosyada saklanır. Mevcut bir projenin başlangıç URL'sini değiştirmek için geliştiricilerin dosyayı değiştirmesi gerekir:

{
  ...
  "startUrl": "/?utm_source=trusted-web-activity",
  ...
}

Ardından, proje dosyalarını yeniden oluşturun ve yeni başlangıç URL'sini uygulayın

bubblewrap update

Android Studio'yu kullanma

Android Studio ve varsayılan LauncherActivity kullanıldığında, startUrl, AndroidManifest.xml içinde bir meta etiket olarak tanımlanır ve Güvenilir Web Etkinliği'ni başlatmak için kullanılan URL'yi değiştirerek değiştirebiliriz:

<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
    android:label="@string/app_name">
    ...
    <meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
        android:value="https://svgomg.firebaseapp.com/?utm_source=trusted-web-activity" />
    ...
</activity>

Başlangıç URL'sini dinamik bir şekilde değiştirme

Bazı durumlarda ise geliştiriciler, örneğin kullanıcılar veya oturumlar genelinde değişen parametreler oluşturmak isteyebilir. Çoğu durumda bu, Progresif Web Uygulaması'na iletmek için uygulamanın Android tarafında bilgi toplamayı içerir.

1. Adım: Özel bir LauncherActivity oluşturun

public class CustomQueryStringLauncherActivity extends LauncherActivity {
    private String getDynamicParameterValue() {
        return String.valueOf((int)(Math.random() * 1000));
    }

    @Override
    protected Uri getLaunchingUrl() {
        // Get the original launch Url.
        Uri uri = super.getLaunchingUrl();

        // Get the value we want to use for the parameter value
        String customParameterValue = getDynamicParameterValue();

        // Append the extra parameter to the launch Url
        return uri
                .buildUpon()
                .appendQueryParameter("my_parameter", customParameterValue)
                .build();
    }
}

2. Adım: AndroidManifest.xml öğesini, özel LauncherActivity'yi kullanacak şekilde değiştirin

<activity android:name="com.myapp.CustomQueryStringLauncherActivity"
    android:label="@string/app_name">
    ...
    <meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
        android:value="https://squoosh.app/?utm_source=trusted-web-activity" />
    ...
</activity>

Sonuç

Bir uygulamanın yerel kısmından web bölümüne bilgi aktarımı, sorgu parametreleri kullanılarak gerçekleştirilebilir. Sorgu dizesine bir parametre eklendiğinde, sayfada çalışan komut dosyaları bu parametreye erişebilir. Ayrıca kullanıcılar farklı bir sayfaya gittiğinde veya geliştirici bir paylaşım işlemi uyguladığında yönlendirmenin de parçası olabilir.

Geliştiriciler bu sonuçların farkında olmalıdır ve link rel=noreferrer kullanarak veya page location API'yi kullanarak URL'yi temizleyerek bunların etkisini azaltabilir.

Güvenilir Web Etkinliği protokolü şu anda web bölümü çağrıldıktan sonra uygulamanın yerel kısmı ile mesaj alışverişi yapmak için bir mekanizma sağlamamaktadır.

Mevcut veya yakında kullanıma sunulacak Web Platformu API'lerinin, geliştiricilerin ihtiyaç duyduğu kullanım alanlarının çoğuna olanak sağlayacağını düşünüyoruz. Yeni veya yakında kullanıma sunulacak Web API'leri arıyorsanız Yeni Özellikler durum sayfasına göz atın.