Meneruskan Informasi ke Aktivitas Web Tepercaya menggunakan Parameter Kueri

Saat menggunakan Aktivitas Web Tepercaya dalam aplikasi mereka, developer mungkin perlu meneruskan informasi dari bagian native aplikasi ke dalam Progressive Web App (PWA).

Kasus penggunaan umum untuk hal ini adalah menerapkan segmentasi analisis kustom untuk mengukur penginstalan dan sesi yang dimulai dari Aktivitas Web Tepercaya. Parameter kueri dapat ditambahkan ke URL peluncuran untuk menerapkannya.

Mengubah URL mulai

Jika parameter yang diteruskan ke PWA akan tetap sama di seluruh pengguna dan diluncurkan, parameter dapat ditambahkan secara langsung ke URL peluncuran. Contoh penggunaannya adalah saat developer ingin mengukur jumlah sesi navigasi yang dibuat dari Halaman Tepercaya Aktivitas.

Menggunakan Bubblewrap

Bubblewrap adalah alat yang dibuat untuk membantu developer membuat Project untuk Aplikasi Android yang meluncurkan PWA yang sudah ada menggunakan Web Tepercaya Aktivitas. Library ini berisi library dan Antarmuka Command Line (CLI).

Membuat project baru

Saat menggunakan Bubblewrap CLI, project diinisialisasi dengan perintah init, lalu dibuat nilai default dari Manifes Web, yang diberikan sebagai parameter:

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

Wizard akan menggunakan start_url dari Manifes Web sebagai default dan akan meminta pengguna untuk mengonfirmasi nilainya, yang memberikan kesempatan kepada developer untuk menambahkan parameter tambahan ke URL yang digunakan untuk memulai Progressive Web App.

Menampilkan output Bubblewrap CLI

Mengubah project yang sudah ada

Ketika Bubblewrap membuat proyek, informasi untuk proyek tertentu tersebut disimpan di dalam sebuah file bernama twa-manifest.json, dalam folder project. Untuk mengubah URL awal untuk project yang ada, developer perlu mengubah file:

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

Kemudian, buat ulang file project dan terapkan URL mulai baru

bubblewrap update

Menggunakan Android Studio

Saat menggunakan Android Studio dan LauncherActivity default, startUrl ditentukan sebagai tag meta di dalam AndroidManifest.xml, dan kita dapat mengubah URL yang digunakan untuk meluncurkan Aktivitas Web Tepercaya dengan memodifikasinya:

<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>

Mengubah URL mulai secara dinamis

Pada kasus lain, pengembang sebaiknya membuat parameter yang berubah lintas pengguna atau sesi, untuk di instance Compute Engine. Umumnya, proses ini akan melibatkan pengumpulan detail dari sisi Android pada untuk meneruskannya ke Progressive Web App.

Langkah 1: Buat LauncherActivity kustom

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();
    }
}

Langkah 2: Ubah AndroidManifest.xml untuk menggunakan LauncherActivity kustom

<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>

Kesimpulan

Meneruskan informasi dari bagian native ke bagian web aplikasi dapat dilakukan dengan menggunakan parameter kueri. Saat parameter ditambahkan ke string kueri, parameter tersebut akan dapat diakses oleh skrip berjalan di halaman dan dapat juga menjadi bagian dari rujukan saat pengguna membuka halaman atau pengembang menerapkan tindakan berbagi.

Developer harus menyadari implikasi tersebut, dan dapat memitigasinya menggunakan link rel=noreferrer atau bersihkan URL menggunakan page location API.

Protokol Aktivitas Web Tepercaya saat ini tidak menyediakan mekanisme untuk bertukar pesan dengan bagian asli aplikasi setelah bagian web dipanggil.

Kami yakin bahwa API Platform Web yang sudah ada atau yang akan datang memungkinkan sebagian besar kasus penggunaan yang diperlukan oleh developer. Jika Anda mencari Web API baru atau yang akan datang, lihat halaman status Kemampuan Baru.