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 Progressive Web App (PWA).

Kasus penggunaan yang 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 tersebut dapat ditambahkan langsung ke URL peluncuran. Contoh penggunaan ini adalah saat developer ingin mengukur jumlah sesi navigasi yang dibuat dari Aktivitas Web Terpercaya.

Menggunakan Bubblewrap

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

Membuat project baru

Saat menggunakan Bubblewrap CLI, project akan 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 nilainya, sehingga developer dapat menambahkan parameter ekstra ke URL yang digunakan untuk memulai Progressive Web App.

Menampilkan output CLI Bubblewrap

Memodifikasi proyek yang sudah ada

Saat Bubblewrap menghasilkan project, informasi untuk project tersebut akan disimpan dalam file yang bernama twa-manifest.json, di folder project. Untuk mengubah URL start project yang ada, developer perlu mengubah file tersebut:

{
  ...
  "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 didefinisikan 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 awal secara dinamis

Dalam kasus lain, developer dapat membuat parameter yang berubah pada seluruh pengguna atau sesi, misalnya. Pada umumnya, proses ini akan mengumpulkan 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 menggunakan parameter kueri. Saat ditambahkan ke string kueri, parameter tersebut 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 asli aplikasi setelah bagian web dipanggil.

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