Hệ sinh thái xung quanh Hoạt động đáng tin cậy trên web khá đa dạng và có thể khá khó để biết mọi thứ liên quan như thế nào và bạn nên sử dụng gì. Bài viết này hy vọng có thể giải quyết vấn đề đó.
Nếu bạn mới sử dụng tính năng Hoạt động đáng tin cậy trên web hoặc chỉ đang tìm kiếm bộ công cụ đề xuất mà bạn nên sử dụng ngay hôm nay, thì sau đây là những điều bạn cần lưu ý:
- Bubblewrap: một công cụ NodeJS cho phép nhà phát triển tạo và xây dựng một tệp APK Android bao bọc một PWA hiện có. Ứng dụng được tạo được cung cấp bởi Hoạt động đáng tin cậy trên web, nhưng nhà phát triển sẽ biết được điều này. Bạn không cần có kinh nghiệm phát triển Android. Hãy xem tài liệu về Bubblewrap để bắt đầu.
- android-browser-helper: một Thư viện Android đóng gói giao thức Hoạt động web đáng tin cậy. Nên dùng cho các nhà phát triển đã quen với việc phát triển Android và muốn sử dụng Hoạt động web đáng tin cậy làm một trong các Hoạt động trong Ứng dụng Android của họ hoặc thực hiện các tuỳ chỉnh không được Bubblewrap hỗ trợ. Để bắt đầu sử dụng android-browser-helper, hãy xem tài liệu và bản minh hoạ của chúng tôi.
Phần tiếp theo tóm tắt ngắn gọn tất cả các dự án liên quan đến nhau. Cuối cùng (dành cho những người thực sự tò mò), có một phần nhật ký để cho bạn biết chúng tôi đã đi đến đây như thế nào và chúng tôi dự định sẽ đi đến đâu trong tương lai gần.
Tổng quan về các thư viện
Dưới đây là một câu tóm tắt ngắn gọn về từng thư viện mà bạn có thể sử dụng:
- androidx.browser, một thư viện Android để tương tác với trình duyệt được cài đặt trên thiết bị của người dùng.
- Trình trợ giúp trình duyệt Android, một thư viện xây dựng trên androidx.browser cho ứng dụng Hoạt động đáng tin cậy trên web, cung cấp các phương thức thuận tiện và các giá trị mặc định hợp lý.
- Bubblewrap, một công cụ để tạo Hoạt động đáng tin cậy trên web từ PWA mà không cần chạm vào bất kỳ mã Java nào.
Ngoài ra, mỗi thư viện/công cụ trong số này sẽ thay thế một thư viện/công cụ cũ:
- androidx.browser thay thế Thư viện hỗ trợ thẻ tuỳ chỉnh.
- Bạn nên sử dụng Trình trợ giúp trình duyệt Android thay vì custom-tabs-client.
- Bạn nên sử dụng Bubblewrap thay vì svgomg-twa.
Cập nhật trước đây
Thư viện hỗ trợ Android
Thư viện hỗ trợ Android mở rộng nền tảng Android bằng các API mới và tính năng tương thích. Thư viện này được chia thành nhiều gói, trong đó Thư viện hỗ trợ thẻ tuỳ chỉnh chứa chức năng để tương tác với trình duyệt trên hệ thống của người dùng. Hoạt động phát triển Thư viện hỗ trợ thẻ tuỳ chỉnh chủ yếu được thực hiện trong kho lưu trữ GitHub custom-tabs-client, với các thay đổi được chuyển ngược về Thư viện hỗ trợ Android.
Thẻ tuỳ chỉnh là một Hoạt động Android sử dụng trình duyệt để hiển thị trang web. Lợi ích chính cho nhà phát triển là có thể tạo giao diện và có nút đóng, vì vậy, người dùng vẫn ở trong ứng dụng của nhà phát triển (thay vì rời khỏi ứng dụng và chuyển sang trải nghiệm duyệt web đầy đủ). Là một API Android, Thẻ tuỳ chỉnh có thể được hỗ trợ bởi mọi trình duyệt và sẽ sử dụng trình duyệt mặc định của người dùng (mặc dù nhà phát triển có thể ghi đè điều này).
Vì Hoạt động đáng tin cậy trên web được xây dựng dựa trên Thẻ tuỳ chỉnh, nên các hoạt động này bắt đầu hoạt động trong thư viện custom-tabs-client này. Hoạt động đáng tin cậy trên web sẽ xoá thanh trên cùng của Thẻ tuỳ chỉnh khi người dùng đang duyệt xem một trang web thuộc sở hữu của nhà phát triển ứng dụng. Điều này mở ra cơ hội tích hợp liền mạch trang web của bạn trong một ứng dụng Android gốc và có thể được dùng để tạo các ứng dụng mà tất cả chức năng đều do web cung cấp.
AndroidX
Sau đó, Thư viện hỗ trợ Android được đổi tên thành AndroidX. Đây là một phần trong nỗ lực lớn hơn nhằm cải thiện trải nghiệm của nhà phát triển có tên là JetPack. Vì vậy, Thẻ tuỳ chỉnh và Hoạt động đáng tin cậy trên web phải di chuyển từ Thư viện hỗ trợ thẻ tuỳ chỉnh sang androidx.browser mới.
Một số mã mà chúng ta đã viết trong custom-tabs-client phù hợp với thư viện các lớp trình trợ giúp Hoạt động web đáng tin cậy, nhưng không phù hợp với API Android. Mã xử lý việc kiểm tra các phiên bản Chrome đã lỗi thời và nhắc người dùng cập nhật hoặc đưa ra quyết định về cách lưu trữ dữ liệu không thể chuyển sang AndroidX. Do đó, chúng tôi đã tạo một thư viện thay thế để chứa các phần này của custom-tabs-client không thể đi vào androidx.browser, và vì vậy, Trình trợ giúp trình duyệt Android đã ra đời.
Trình trợ giúp trình duyệt Android được tạo để chứa mã có thể dành riêng cho trình duyệt (không chỉ Chrome, chúng tôi sẵn sàng cung cấp mã dành riêng cho các trình duyệt khác) và có thể đưa ra các quyết định cụ thể mà thư viện không nên đưa ra. Chúng tôi đã nhân cơ hội này để tách biệt vai trò của hai thư viện này:
- androidx.browser chứa các khối xây dựng cơ bản để tương tác với trình duyệt trên hệ thống của người dùng.
- Trình trợ giúp trình duyệt Android chứa các phương thức triển khai mặc định hợp lý và thuận tiện để sử dụng.
Tự khởi động
Nhà phát triển là những người bận rộn, có nhiều việc cần làm và phải tuân thủ các thời hạn. Để giúp giải quyết vấn đề này, chúng tôi đã tạo hai công cụ để cho phép người dùng tự khởi động Hoạt động đáng tin cậy trên web.
Dự án đầu tiên (và lâu đời nhất) là svgomg-twa. Đây là một Dự án Android được lưu trữ trên GitHub, chạy một Hoạt động web đáng tin cậy. Ban đầu, dự án này được thiết kế để trở thành một dự án minh hoạ, sau đó phát triển thành một mẫu. Người dùng có thể sao chép kho lưu trữ đó và sửa đổi tệp build.gradle để trỏ đến trang web của riêng họ, tạo trang web đó và tạo Hoạt động đáng tin cậy trên web mà không cần chạm vào bất kỳ mã Java nào. (Để xác minh được Đường liên kết đến tài sản kỹ thuật số, bạn cần phải nỗ lực nhiều hơn. Hãy đọc thêm tại đây.)
svgomg-twa ban đầu phụ thuộc vào custom-tabs-client, nhưng sau đó chuyển sang Trình trợ giúp trình duyệt Android (và chuyển đổi androidx.browser).
Công cụ mới nhất và sáng giá nhất là Bubblewrap, một công cụ Node.js sẽ lấy Tệp kê khai ứng dụng web và tạo Hoạt động web đáng tin cậy cho bạn. Đây là cách dễ nhất để tạo Hoạt động đáng tin cậy trên web từ một PWA hiện có và không yêu cầu bạn có bất kỳ kiến thức nào về phát triển Android.
Trong tương lai gần
Chúng tôi sẽ ngừng sử dụng svgomg-twa vì hai lý do:
- Về cơ bản, Bubblewrap tạo một svgomg-twa đã điền sẵn cho nhà phát triển. Trình này thực hiện việc này một cách tương tác và có thể lấy cấu hình từ tệp kê khai Ứng dụng web (mà PWA có thể đã có).
- Nếu muốn tham khảo cách bắt đầu dự án Hoạt động đáng tin cậy trên web từ đầu, nhà phát triển có thể xem thư mục minh hoạ của Trình trợ giúp trình duyệt Android.
Thay vào đó, nhà phát triển mới nên sử dụng Bubblewrap để tạo dự án. Nếu đang sử dụng svgomg-twa và đã thực hiện một số sửa đổi lớn, bạn có thể tiếp tục sử dụng nhưng sẽ không nhận được thông tin cập nhật.
Chúng tôi dự định cung cấp cho Bubblewrap nhiều tính năng nhất có thể. Vì vậy, nếu bạn thấy thiếu một tính năng rõ ràng hoặc gặp phải lỗi, hãy tạo vấn đề.