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 các ứng dụng của mình, nhà phát triển có thể cần phải truyền thông tin từ phần gốc của ứng dụng trong Ứng dụng web tiến bộ (PWA).

Một trường hợp sử dụng phổ biến cho phương pháp này là triển khai các phân đoạn số liệu phân tích tuỳ chỉnh để đo lường số lượt cài đặt và phiên đã bắt đầu từ Hoạt động đáng tin cậy trên web. Bạn có thể thêm tham số truy vấn vào URL chạy để triển khai tính năng này.

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

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

Sử dụng Bubblewrap

Bubblewrap là công cụ được tạo ra để giúp các nhà phát triển tạo Dự án cho một Ứng dụng Android chạy một ứng dụng web tiến bộ (PWA) hiện có bằng cách sử dụng Web đáng tin cậy Hoạt động. 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 đượ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 trong Tệp kê khai web làm mặc định và yêu cầu người dùng xác nhận giá trị, mang lại cho nhà phát triển cơ hội thêm các tham số bổ sung vào url dùng để bắt đầu Ứ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 của 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 này:

{
  ...
  "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à 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 bố cục:

<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 qua người dùng hoặc phiên, để thực thể. Trong hầu hết các trường hợp, việc này sẽ liên quan đến việc thu thập thông tin chi tiết từ phía Android của để chuyển tệp đó đế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

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 tham số truy vấn. Khi một tham số được thêm vào chuỗi truy vấn, tập lệnh sẽ truy cập được vào tham số này chạy trên trang và cũng có thể là một phần của 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 triển khai thao tác chia sẻ.

Nhà phát triển phải hiểu rõ những tác động đó và có thể giảm thiểu tác động bằng cách sử dụng link rel=noreferrer hoặc dọn dẹp URL bằng cách sử dụ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 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 các API web mới hoặc sắp ra mắt, hãy xem trang trạng thái Khả năng mới.