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ẽ:
- Đã 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à bạn đang dùng để phát triển ứng dụng Android.
- 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 dùng để phát triển
- Điện thoại Android hoặc trình mô phỏng đã 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)
- 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
- Một trang web 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 một Thẻ trình duyệt ở chế độ toàn màn hình mà không có giao diện người dùng trình duyệt nào. Chỉ các trang web mà bạn sở hữu mới có thể sử dụng tính năng này. 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 chạy một Hoạt động đáng tin cậy trên web, trình duyệt sẽ kiểm tra để đảm bảo rằng Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số) đã thanh toán. Quá trình này gọi là xác minh. Nếu xác minh không thành công, 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:
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 để công cụ này thực hiện việc này vì công cụ này đảm bảo rằng các phần phụ thuộc được định cấu hình chính xác. Kiểm tra tài liệu về Bubblewrap để sử dụng một Bộ phát triển Java (JDK) hoặc cách cài đặt công cụ dòng lệnh hiện có của Android.
Khởi chạy và tạo dự án
Bạn có thể khởi chạy một dự án Android gói PWA bằng cách chạy lệnh init:
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 dự án được tạo, hãy tạo một APK bằng cách chạy:
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:
Ngoài ra, bạn có thể sử dụng công cụ adb.
Lưu ý: công cụ dòng lệnh **adb**
nằm bên trong các công cụ dòng lệnh của Android trong **android_sdk/platform-tools/**
.
Ứng dụng hiện có trên trình chạy thiết bị. Khi mở ứng dụng, bạn sẽ 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 đáng tin cậy trên web. Điều này là do 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 để hỗ trợ việc tạo 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 ứng dụng web tiến bộ để 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 APK sẽ được tạo với một thiết lập khoá trong bước init
. Tuy nhiên, khi bạn phát hành ứng dụng trong 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ý các 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.
Đang thiết lập tệp đường liên kết đến tài sả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ủ lựa chọn trình duyệt mặc định của người dùng. 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à quay lại chế độ Thẻ tuỳ chỉnh.
Điều này có nghĩa là nếu bạn đang gỡ lỗi liên quan đến Hoạt động đáng tin cậy trên web, bạn phải đảm bảo rằng bạn đang sử dụng trình duyệt đúng như bạn đang sử dụng. Bạn có thể sử dụng lệnh sau để kiểm tra xem trình duyệt nào đang được sử dụng:
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.