Khi sử dụng tính năng Hoạt động đáng tin cậy trên web trong ứng dụng, nhà phát triển có thể cần truyền thông tin từ phần gốc của ứng dụng vào Ứng dụng web tiến bộ (PWA).
Một trường hợp sử dụng phổ biến cho tính năng này là triển khai các phân khúc phân tích tuỳ chỉnh để đo lường số lượt cài đặt và số phiên bắt đầu từ Hoạt động đáng tin cậy trên web. Bạn có thể thêm các thông số truy vấn vào URL khởi chạy để triển khai tính năng này.
Sửa đổi URL bắt đầu
Nếu tham số được truyền đến PWA sẽ giữ nguyên trên các người dùng và lượt chạy, thì tham số đó có thể được thêm trực tiếp vào URL chạy. Ví dụ về cách sử dụng này là khi nhà phát triển muốn đo lường số phiên điều hướng được tạo từ một Hoạt động web đáng tin cậy.
Sử dụng Bubblewrap
Bubblewrap là một công cụ được tạo ra để giúp nhà phát triển tạo một Dự án cho ứng dụng Android chạy một PWA hiện có bằng cách sử dụng Hoạt động đáng tin cậy trên web. Thư viện này chứa cả thư viện và Giao diện dòng lệnh (CLI).
Tạo dự án mới
Khi sử dụng Bubblewrap CLI, dự án sẽ được khởi tạo bằng lệnh init
và tạo giá trị mặc định từ Tệp kê khai web, được cung cấp dưới dạng tham số:
bubblewrap init --manifest https://material.money/manifest.json
Trình hướng dẫn sẽ sử dụng start_url từ Tệp kê khai web làm mặc định và sẽ yêu cầu người dùng xác nhận giá trị này, cho phép nhà phát triển thêm các tham số bổ sung vào URL dùng để khởi động Ứng dụng web tiến bộ.
Sửa đổi dự án hiện có
Khi Bubblewrap tạo một dự án, thông tin cho dự án cụ thể đó sẽ được lưu trữ trong một tệp có tên là twa-manifest.json
, trong thư mục dự án. Để sửa đổi URL bắt đầu cho dự án hiện có, nhà phát triển cần sửa đổi tệp:
{
...
"startUrl": "/?utm_source=trusted-web-activity",
...
}
Sau đó, hãy tạo lại các tệp dự án và áp dụng URL bắt đầu mới
bubblewrap update
Sử dụng Android Studio
Khi sử dụng Android Studio và LauncherActivity mặc định, startUrl được xác định là thẻ meta bên trong AndroidManifest.xml và chúng ta có thể thay đổi URL dùng để chạy Hoạt động đáng tin cậy trên web bằng cách sửa đổi URL đó:
<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>
Sửa đổi URL bắt đầu một cách linh động
Trong các trường hợp khác, nhà phát triển có thể muốn tạo các thông số thay đổi trên người dùng hoặc phiên hoạt động, chẳng hạn như. Trong hầu hết các trường hợp, việc này sẽ bao gồm việc thu thập thông tin chi tiết từ phía Android của ứng dụng để chuyển thông tin đó đến Ứng dụng web tiến bộ.
Bước 1: Tạo LauncherActivity tuỳ chỉnh
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();
}
}
Bước 2: Sửa đổi AndroidManifest.xml
để sử dụng LauncherActivity tuỳ chỉnh
<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>
Kết luận
Bạn có thể truyền thông tin từ phần gốc sang phần web của ứng dụng bằng cách sử dụng các thông số truy vấn. Khi một tham số được thêm vào chuỗi truy vấn, các tập lệnh chạy trên trang sẽ có thể truy cập vào tham số đó và tham số này cũng có thể là một phần của lượt giới thiệu khi người dùng chuyển đến một trang khác hoặc nhà phát triển triển khai một hành động chia sẻ.
Nhà phát triển phải nhận biết được những tác động đó và có thể giảm thiểu chúng bằng cách sử dụng đường liên kết rel=noreferrer hoặc dọn dẹp URL bằng API vị trí trang.
Giao thức Hoạt động đáng tin cậy trên web hiện không cung cấp cơ chế để trao đổi thông báo với phần gốc của ứng dụng sau khi phần web được gọi.
Chúng tôi tin rằng các API Nền tảng web hiện có hoặc sắp ra mắt sẽ hỗ trợ hầu hết các trường hợp sử dụng mà nhà phát triển cần. Nếu bạn đang tìm kiếm các API Web mới hoặc sắp ra mắt, hãy xem trang trạng thái của các tính năng mới.