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 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. 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 điều hướng được tạo qua một Hoạt động đáng tin cậy trên web.

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ệnGiao 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 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ị đó. Nhờ vậy, nhà phát triển có thể thêm các 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ả của Bubblewrap CLI

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:

{
  ...
  "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, ví dụ: Trong hầu hết các trường hợp, quy 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 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 tham 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.