Meneruskan Informasi ke Aktivitas Web Tepercaya menggunakan Parameter Kueri

Saat menggunakan Aktivitas Web Tepercaya di aplikasi mereka, developer mungkin perlu meneruskan informasi dari bagian native aplikasi ke Aplikasi Web Progresif (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 awal

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

Menggunakan Bubblewrap

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

Membuat project baru

Saat menggunakan Bubblewrap CLI, project diinisialisasi dengan perintah init, dan membuat nilai default dari Manifes Web, yang disediakan 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 nilai, sehingga developer dapat menambahkan parameter tambahan ke URL yang digunakan untuk memulai Progressive Web App.

Menampilkan output CLI Bubblewrap

Mengubah project yang ada

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

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

Kemudian, buat ulang file project dan terapkan URL awal 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 mengubahnya:

<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

Dalam kasus lain, developer mungkin ingin membuat parameter yang berubah di seluruh pengguna atau sesi, misalnya. Pada umumnya, hal ini akan melibatkan pengumpulan detail dari sisi Android aplikasi 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 ditambahkan ke string kueri, parameter akan dapat diakses oleh skrip yang berjalan di halaman dan juga dapat menjadi bagian dari rujukan saat pengguna membuka halaman lain atau developer menerapkan tindakan berbagi.

Developer harus mengetahui implikasi tersebut, dan dapat menguranginya menggunakan link rel=noreferrer atau membersihkan URL menggunakan page location API.

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

Kami yakin bahwa Web Platform API yang 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.