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