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

Geliştiricilerin, uygulamalarında Güvenilir Web Etkinliği'ni kullanırken uygulamanın yerel kısmından Progresif Web Uygulaması'na (PWA) bilgi aktarması gerekebilir.

Bunun yaygın olarak kullanıldığı bir durum, 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 lansman URL'sine sorgu parametreleri eklenebilir.

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

PWA'ya iletilen parametre, kullanıcılar ve lansmanlar arasında aynı kalacaksa parametre doğrudan lansman 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.

Bubblewrap'ı 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 kitaplık hem de bir Komut Satırı Arayüzü (KSA) içerir.

Yeni proje oluşturma

Bubblewrap CLI kullanıldığında, proje init komutuyla başlatılır ve parametre olarak sağlanan bir web manifestinden varsayılan değerler oluşturur:

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

Sihirbaz, varsayılan olarak web manifestindeki start_url değerini kullanır ve kullanıcılardan bu değeri onaylamalarını ister. Böylece geliştiriciler, Progressive Web Uygulaması'nı başlatmak için kullanılan URL'ye ek parametreler ekleyebilir.

Bubblewrap KSA çıkışını gösterme

Mevcut bir projeyi değiştirme

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 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ılırken startUrl, AndroidManifest.xml içinde bir meta etiket olarak tanımlanır. Güvenilir Web Etkinliği'ni başlatmak için kullanılan URL'yi değiştirmek isterseniz:

<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 olarak değiştirme

Diğer durumlarda, geliştiriciler örneğin kullanıcılar veya oturumlar arasında değişen parametreler oluşturmak isteyebilir. Çoğu durumda bu işlem, uygulamanın Android tarafındaki ayrıntıları toplayarak Progresif Web Uygulaması'na iletmeyi 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: Özel LauncherActivity'yi kullanacak şekilde AndroidManifest.xml öğesini 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ç

Sorgu parametreleri kullanılarak, yerel bölümden bir uygulamanın web bölümüne bilgi aktarılabilir. Sorgu dizesine eklenen parametreler, sayfa üzerinde çalışan komut dosyalarına erişilebilir. Ayrıca, kullanıcılar farklı bir sayfaya gittiğinde veya geliştirici bir paylaşım işlemi uyguladığında yönlendirmenin bir parçası da olabilir.

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

Güvenilir Web Etkinliği protokolü, web parçası çağrıldıktan sonra uygulamanın yerel kısmıyla mesaj alışverişi yapmak için şu anda bir mekanizma sağlamamaktadır.

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