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