Việc thiết lập Hoạt động đáng tin cậy trên web có thể hơi phức tạp, đặc biệt là nếu bạn chỉ muốn hiển thị trang web của mình. Hướng dẫn này sẽ hướng dẫn bạn cách tạo một dự án cơ bản sử dụng Hoạt động đáng tin cậy trên web, bao gồm tất cả các điểm cần lưu ý.
Khi kết thúc hướng dẫn này, bạn sẽ:
- Đã sử dụng Bubblewrap để tạo một ứng dụng sử dụng Hoạt động đáng tin cậy trên web và vượt qua quy trình xác minh.
- Tìm hiểu thời điểm khoá ký được sử dụng.
- Có thể xác định chữ ký mà Ứng dụng Android của bạn đang được tạo.
- Biết cách tạo tệp Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số) cơ bản.
Để làm theo hướng dẫn này, bạn cần có:
- Node.js 10 trở lên đã được cài đặt trên máy tính phát triển.
- Điện thoại Android hoặc trình mô phỏng được kết nối và thiết lập để phát triển (Bật tính năng gỡ lỗi qua USB nếu bạn đang sử dụng điện thoại thực).
- Một trình duyệt hỗ trợ tính năng Hoạt động đáng tin cậy trên web trên điện thoại phát triển của bạn. Bạn có thể dùng Chrome 72 trở lên. Chúng tôi đang hỗ trợ các trình duyệt khác.
- Một trang web mà bạn muốn xem trong phần Hoạt động đáng tin cậy trên web.
Hoạt động đáng tin cậy trên web cho phép Ứng dụng Android của bạn chạy Thẻ trình duyệt ở chế độ toàn màn hình mà không cần giao diện người dùng trình duyệt nào. Tính năng này chỉ dành cho những trang web mà bạn sở hữu và bạn có thể chứng minh điều này bằng cách thiết lập Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số). Chúng ta sẽ tìm hiểu thêm về các lớp này sau.
Khi bạn khởi chạy một Hoạt động web đáng tin cậy, trình duyệt sẽ kiểm tra để đảm bảo rằng Đường liên kết đến tài sản kỹ thuật số đã được kiểm tra. Quá trình này được gọi là xác minh. Nếu không xác minh được, trình duyệt sẽ quay lại hiển thị trang web của bạn dưới dạng Thẻ tuỳ chỉnh.
Cài đặt và định cấu hình Bubblewrap
Bubblewrap là một nhóm thư viện và công cụ dòng lệnh (CLI) dành cho Node.js, giúp nhà phát triển tạo, xây dựng và chạy Ứng dụng web tiến bộ bên trong các ứng dụng Android bằng Hoạt động đáng tin cậy trên web.
Bạn có thể cài đặt CLI bằng lệnh sau:
npm i -g @bubblewrap/cli
Thiết lập môi trường
Khi chạy Bubblewrap lần đầu tiên, ứng dụng này sẽ tự động tải xuống và cài đặt các phần phụ thuộc bên ngoài bắt buộc. Bạn nên cho phép công cụ này thực hiện việc này vì nó đảm bảo rằng các phần phụ thuộc được định cấu hình chính xác. Hãy xem tài liệu về Bubblewrap để sử dụng một bản cài đặt Bộ phát triển Java (JDK) hoặc công cụ dòng lệnh Android hiện có.
Khởi chạy và tạo dự án
Bạn có thể khởi chạy một dự án Android gói một PWA bằng cách chạy lệnh init:
bubblewrap init --manifest=https://my-twa.com/manifest.json
Bubblewrap sẽ đọc Tệp kê khai web, yêu cầu nhà phát triển xác nhận các giá trị sẽ được sử dụng trong dự án Android và tạo dự án bằng các giá trị đó. Sau khi tạo dự án, hãy tạo tệp APK bằng cách chạy:
bubblewrap build
Chạy
Bước tạo bản dựng sẽ xuất ra một tệp có tên là app-release-signed.apk
. Bạn có thể cài đặt tệp này trên thiết bị phát triển để kiểm thử hoặc tải lên Cửa hàng Play để phát hành.
Bubblewrap cung cấp một lệnh để cài đặt và kiểm thử ứng dụng trên thiết bị cục bộ. Khi thiết bị phát triển được kết nối với máy tính, hãy chạy:
bubblewrap install
Ngoài ra, bạn có thể sử dụng công cụ adb.
adb install app-release-signed.apk
Ứng dụng hiện đã có trên trình chạy thiết bị. Khi mở ứng dụng, bạn sẽ nhận thấy trang web của mình được khởi chạy dưới dạng Thẻ tuỳ chỉnh, chứ không phải Hoạt động web đáng tin cậy. Lý do là chúng ta chưa thiết lập quy trình xác thực Đường liên kết đến tài sản kỹ thuật số. Tuy nhiên, trước tiên...
Các giải pháp thay thế Giao diện người dùng đồ hoạ (GUI) cho Bubblewrap
Trình tạo PWA cung cấp giao diện GUI sử dụng thư viện Bubblewrap để tạo các dự án Hoạt động đáng tin cậy trên web. Hãy xem thêm hướng dẫn về cách sử dụng Trình tạo PWA để tạo một Ứng dụng Android mở PWA của bạn trong bài đăng trên blog này.
Lưu ý về khoá ký
Đường liên kết đến tài sản kỹ thuật số sẽ tính đến khoá mà APK đã được ký và một nguyên nhân phổ biến khiến quá trình xác minh không thành công là do sử dụng sai chữ ký. (Hãy nhớ rằng nếu không xác minh được, bạn sẽ khởi chạy trang web dưới dạng Thẻ tuỳ chỉnh có giao diện người dùng trình duyệt ở đầu trang.) Khi Bubblewrap tạo ứng dụng, một tệp APK sẽ được tạo bằng chế độ thiết lập khoá trong bước init
. Tuy nhiên, khi bạn phát hành ứng dụng trên Google Play, một khoá khác có thể được tạo cho bạn, tuỳ thuộc vào cách bạn chọn xử lý khoá ký. Tìm hiểu thêm về các khoá ký và mối quan hệ của các khoá này với Bubblewrap và Google Play.
Thiết lập tệp đường liên kết đến thành phần
Về cơ bản, Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số) bao gồm một tệp trên trang web trỏ đến ứng dụng và một số siêu dữ liệu trong ứng dụng trỏ đến trang web của bạn.
Sau khi tạo tệp assetlinks.json
, hãy tải tệp đó lên trang web của bạn tại .well-known/assetlinks.json
so với thư mục gốc để trình duyệt có thể xác minh đúng cách ứng dụng của bạn. Hãy xem bài viết tìm hiểu chuyên sâu về Đường liên kết đến tài sản kỹ thuật số để biết thêm thông tin về mối liên hệ giữa đường liên kết này với khoá ký của bạn.
Kiểm tra trình duyệt của bạn
Hoạt động đáng tin cậy trên web sẽ cố gắng tuân thủ trình duyệt mặc định mà người dùng chọn. Nếu trình duyệt mặc định của người dùng hỗ trợ Hoạt động đáng tin cậy trên web, thì trình duyệt đó sẽ được khởi chạy. Nếu không, nếu có trình duyệt nào được cài đặt hỗ trợ Hoạt động đáng tin cậy trên web, thì trình duyệt đó sẽ được chọn. Cuối cùng, hành vi mặc định là chuyển về chế độ Thẻ tuỳ chỉnh.
Điều này có nghĩa là nếu đang gỡ lỗi một vấn đề liên quan đến Hoạt động đáng tin cậy trên web, bạn nên đảm bảo rằng mình đang sử dụng trình duyệt mà bạn cho là mình đang sử dụng. Bạn có thể sử dụng lệnh sau để kiểm tra trình duyệt đang được sử dụng:
> adb logcat -v brief | grep -e TWAProviderPicker
D/TWAProviderPicker(17168): Found TWA provider, finishing search: com.google.android.apps.chrome
Các bước tiếp theo
Hy vọng rằng nếu làm theo hướng dẫn này, bạn sẽ có Hoạt động đáng tin cậy trên web đang hoạt động và có đủ kiến thức để gỡ lỗi khi quy trình xác minh không thành công. Nếu không, hãy xem thêm các khái niệm về Android dành cho nhà phát triển web hoặc gửi vấn đề trên GitHub liên quan đến các tài liệu này.
Đối với các bước tiếp theo, bạn nên bắt đầu bằng cách tạo biểu tượng cho ứng dụng. Sau khi hoàn tất, bạn có thể cân nhắc triển khai ứng dụng lên Cửa hàng Play.