Chuyển thông tin đến Hoạt động đáng tin cậy trên web bằng tham số truy vấn

Khi sử dụ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 việc này là triển khai các phân đoạn phân tích tuỳ chỉnh để đo lường lượt cài đặt và phiên bắt đầu từ Hoạt động web đáng tin cậy. Bạn có thể thêm tham số truy vấn vào URL khởi chạy để triển khai việc này.

Sửa đổi URL bắt đầu

Nếu tham số được truyền đến PWA vẫn giữ nguyên đối với người dùng và khởi chạy, thì thông số này có thể được thêm trực tiếp vào URL khởi chạy. Một 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 chỉ đường được tạo qua Hoạt động trên web đáng tin cậy.

Sử dụng tính năng Bubblewrap

Bubblewrap là một công cụ được tạo ra để giúp nhà phát triển tạo Dự án cho một ứng dụng Android chạy các PWA hiện có bằng Hoạt động đáng tin cậy trên web. Lớp này chứa cả thư việnGiao diện dòng lệnh (CLI).

Tạo dự án mới

Khi sử dụng Bubblewrap CLI, một dự án sẽ được khởi chạy bằng lệnh init và tạo các 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 này sẽ sử dụng start_url từ Tệp kê khai web theo mặc định và sẽ yêu cầu người dùng xác nhận giá trị, qua đó tạo cho nhà phát triển cơ hội thêm tham số bổ sung vào URL dùng để khởi động Ứng dụng web tiến bộ.

Hiển thị kết quả CLI của Bubblewrap

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 ở 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 định nghĩa là một 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

Ví dụ: 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 theo người dùng hoặc phiên hoạt động. Trong hầu hết các trường hợp, quá trình này sẽ liên quan đến việc thu thập thông tin chi tiết từ phía Android của ứng dụng để truyền thông tin đó đến Ứng dụng web tiến bộ.

Bước 1: Tạo một 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ể chuyể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 tham số truy vấn. Khi một tham số được thêm vào chuỗi truy vấn, tham số đó sẽ có thể truy cập được vào các tập lệnh chạy trên trang và cũng có thể thuộc tham số giới thiệu khi người dùng điều hướng đến một trang khác hoặc nhà phát triển thực hiện hành động chia sẻ.

Nhà phát triển phải nhận thức được những hệ quả đó và có thể giảm thiểu chúng bằng cách sử dụng link rel=noreferrer hoặc dọn sạch URL thông qua page location API.

Giao thức đá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 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 Tính năng mới.