Nguyên tắc kỹ thuật

Mặc dù điện thoại thông minh đang ngày càng phổ biến trên thế giới, nhưng phần lớn mọi người ở các thị trường mới nổi vẫn sử dụng điện thoại thông thường. Để đảm bảo tất cả mọi người đều có thể truy cập Free Basics, chúng tôi tập trung hỗ trợ các trang web di động có dung lượng nhẹ.

Chi tiết

Để giúp trang web của bạn hiển thị đúng cách trong Nền tảng Free Basics và mọi người có thể truy cập Free Basics trên tất cả loại điện thoại và gói dữ liệu, (các) trang web di động của bạn phải đáp ứng một số điều kiện kỹ thuật do proxy Free Basics tạo ra. Đặc biệt, trang web di động phải hoạt động khi thiếu:

  • JavaScript
  • iframe
  • Video và hình ảnh có độ phân giải cao
  • Applet Flash và Java

Nếu phát hiện trang web có chứa bất kỳ yếu tố hậu triển khai nào ở trên, chúng tôi sẽ chặn trang web đó cho đến khi có thể xác nhận rằng nội dung đã bị gỡ.

JavaScript

Để cung cấp trải nghiệm có thể hoạt động trên các thiết bị, dịch vụ của bạn phải duy trì hoạt động và hữu ích khi JavaScript bị vô hiệu hóa. Điều này có nghĩa là nội dung của bạn không được phụ thuộc vào JavaScript đối với bất kỳ trải nghiệm người dùng chính nào, đặc biệt là chức năng điều hướng hoặc chức năng chính khác.

iframe

iframe có thể bị chặn trong một số trường hợp. Vì vậy, hãy đảm bảo rằng nội dung của bạn không phụ thuộc vào iframe. Bạn nên tránh sử dụng kết hợp các iframe vì điều đó sẽ làm giảm trải nghiệm di động.

Video và hình ảnh lớn

Để tôn trọng mức sử dụng dữ liệu thấp của những người đang sử dụng Free Basics, vui lòng tránh các tài nguyên sử dụng dữ liệu lớn, chẳng hạn như video và hình ảnh có độ phân giải cao. Để cung cấp trải nghiệm tốt nhất có thể, chúng tôi sẽ phải sửa đổi và có thể không hiển thị một số video và hình ảnh trong một số trường hợp.

Applet Flash và Java

Free Basics không hỗ trợ tài nguyên Flash hoặc applet Java. Nếu dịch vụ của bạn sử dụng những công nghệ này, hãy đảm bảo triển khai phương thức dự phòng phù hợp để ẩn các công nghệ này một cách thích hợp và không gây ảnh hưởng đến hoạt động của trang web.

Hỗ trợ HTTPS

Chúng tôi mã hóa thông tin cho Free Basics mỗi khi có thể. Khi mọi người sử dụng ứng dụng Free Basics dành cho Android, lưu lượng truy cập của họ sẽ được mã hóa đầu cuối trừ khi bạn chỉ định rằng dịch vụ của bạn sẽ chỉ dành cho HTTP. Đối với trang web Free Basics trong trình duyệt di động, chúng tôi sử dụng mô hình "chứng chỉ kép" để mã hóa lưu lượng truy cập giữa thiết bị của người dùng và máy chủ của chúng tôi theo cả hai chiều. Nếu máy chủ của bạn hỗ trợ HTTPS, chúng tôi cũng sẽ mã hóa lưu lượng truy cập giữa máy chủ của chúng tôi và máy chủ của bạn. Ngay cả khi dịch vụ của bạn chưa hỗ trợ HTTPS, chúng tôi vẫn sẽ mã hóa thông tin đó giữa máy chủ của chúng tôi và thiết bị của người dùng (nếu có thể), trừ khi bạn yêu cầu chúng tôi không sử dụng HTTPS chứng chỉ kép. Khi người dùng sử dụng trang web di động Free Basics, thông tin sẽ tạm thời được giải mã trên máy chủ bảo mật của chúng tôi để đảm bảo dịch vụ hoạt động đúng cách, cũng như tránh các khoản phí không mong muốn cho người dùng.

Chúng tôi bảo vệ quyền riêng tư của thông tin đó khi thông tin được giải mã bằng cách chỉ lưu trữ tên miền của dịch vụ và lượng dữ liệu được dùng - đây cũng là thông tin hiển thị khi mã hóa đầu cuối - cùng với cookie được lưu trữ ở định dạng mã hóa và không đọc được.

Proxy Internet.org

Từ trong Free Basics, tất cả lưu lượng truy cập được định tuyến qua proxy Internet.org. Chúng tôi thực hiện điều này để tạo luồng lưu lượng truy cập tiêu chuẩn giúp nhà mạng có thể xác định đúng cách và miễn cước cho dịch vụ của bạn. Bạn cần biết rằng dịch vụ của bạn không được Internet.org lưu trữ hoặc lưu vào bộ nhớ đệm - dịch vụ này vẫn hoạt động trên máy chủ riêng của bạn và bạn hoàn toàn có thể duy trì. Bằng cách phát hiện các yêu cầu chuyển qua Nền tảng Free Basics, bạn có thể áp dụng các biện pháp kiểm soát như chặn theo địa lý đối với nội dung của mình và/hoặc đo lường lưu lượng truy cập Nền tảng Free Basics.

Địa chỉ IP

  • Lưu ý rằng do phương thức mã hóa SSL, ứng dụng Free Basics dành cho Android không hỗ trợ các trường tiêu đề HTTP x-iorg-fbs-uipx-iorg-fbs.

Vì các yêu cầu chuyển qua proxy Internet.org, địa chỉ IP của Yêu cầu HTTP sẽ luôn bắt nguồn từ máy chủ của chúng tôi thay vì từ người yêu cầu ban đầu. Bạn có thể lấy địa chỉ IP của người yêu cầu ban đầu từ trường tiêu đề HTTP X-IORG-FBS-UIP (do proxy của chúng tôi tạo).

Proxy của chúng tôi cũng tuân theo quy ước X-Forwarded-For. Vì vậy, bạn cũng sẽ thấy cùng một địa chỉ IP trong trường đó (là địa chỉ IP công khai đầu tiên).

Phát hiện yêu cầu

Tất cả yêu cầu chuyển qua proxy Internet.org đều sẽ chứa trường X-IORG-FBS (luôn được đặt là true). Bản thân trường này đã đủ để kiểm tra sự tồn tại của nó bên trong tiêu đề.

Ngoài ra, chuỗi Internet.org cũng được chèn vào trường tiêu đề Via - đây là cách thứ hai để xác định các yêu cầu đã chuyển qua proxy của chúng tôi.

Tất cả yêu cầu đến từ ứng dụng Android sẽ chứa giá trị tiêu đề HTTP tác nhân người dùng duy nhất (tùy thuộc vào phiên bản ứng dụng). Dưới đây là ví dụ về tác nhân người dùng đó:

Mozilla/5.0 (Linux; Android 7.1.2; Pixel Build/N2G47E; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 Mobile Safari/537.36[FBAN/InternetOrgApp; FBAV/7.0;]

Để phát hiện yêu cầu này, bạn có thể kiểm tra xem chuỗi có chứa "InternetOrgApp" hay không

Cookie

Cookie được hỗ trợ.

Tác nhân người dùng (Chuỗi UA)

Chuỗi UA từ người yêu cầu ban đầu không bị proxy Internet.org thay đổi.

Phân tích và đo lường

Bạn có thể sử dụng các dịch vụ theo dõi, chẳng hạn như Google Analytics, Effective Measure, Chartbeat, v.v. trên trang web của mình. Như đã đề cập ở trên, môi trường web của chúng tôi hiện không hỗ trợ JavaScript. Bạn cần lưu ý điều này vì nhiều dịch vụ phân tích dựa vào JavaScript để có đầy đủ chức năng - mặc dù hầu hết các dịch vụ đều cung cấp phương thức dự phòng khi không có JavaScript. Vui lòng tham khảo tài liệu dành cho (các) dịch vụ bạn đang sử dụng.

Google Analytics

Dưới đây là một số nguyên tắc thiết lập dịch vụ để giúp bạn sử dụng Google Analytics dễ dàng hơn mà không có JavaScript bên trong Nền tảng Free Basics.

Phát hiện quốc gia

Để phát hiện chính xác quốc gia của người dùng, bạn cần phải điền chính xác thông số ghi đè UIP cho yêu cầu Google Analytics. Cách dễ dàng nhất để làm việc này là sử dụng trường tiêu đề HTTP X-IORG-FBS-UIP (xem phần proxy Internet.org ). Thông số UIP phải được đặt bên phía máy chủ cho yêu cầu đến Google Analytics.

Theo dõi mà không cần JavaScript

Để tiến hành phân tích lưu lượng truy cập mà không cần JavaScript, bạn sẽ phải sử dụng phía máy chủ của dịch vụ.

Các yêu cầu Google Analytics có thể được quản lý hoàn toàn bằng chương trình phụ trợ và máy chủ có thể đảm nhận việc quản lý cookie (hoặc phân biệt người dùng theo cách khác nào đó). Bạn có thể quyết định thông số nào của yêu cầu cần điền vào và sử dụng cho dữ liệu phân tích. Điều này được thực hiện bằng cách sử dụng Giao thức đo lường Google Analytics.

Nếu đã có giải pháp iframe, bạn chỉ cần thực hiện một yêu cầu POST ở phía máy chủ của mình đến địa chỉ Google Analytics. Hầu hết các thông số sẽ nhất quán với thông số được giải pháp iframe sử dụng.

Thử nghiệm

Trước khi gửi trang web đi xem xét, bạn nên thử nghiệm trang web đó dựa theo tất cả những yêu cầu ở trên. Những tài nguyên sau đây có thể cung cấp cho bạn phản hồi theo thời gian thực về mức độ sẵn sàng của bạn.

Trình mô phỏng thiết bị của Chrome

Trình duyệt Chrome có thể mô phỏng trải nghiệm di động, từ đó hỗ trợ đắc lực cho hầu hết các khía cạnh thử nghiệm. Bạn nên bật Mô phỏng thiết bị và thử nghiệm toàn bộ trang web của mình ở các điều kiện sau:

Bạn có thể tham khảo hướng dẫn tại đây: https://developer.chrome.com/devtools/docs/device-mode

Trình mô phỏng của Opera

Opera cung cấp một trình mô phỏng riêng, cho phép thử nghiệm cụ thể hơn về cách trang web của bạn hiển thị và hoạt động trên trình duyệt Opera Mini.

Bạn có thể tham khảo hướng dẫn tại đây: http://dev.opera.com/articles/installing-opera-mini-on-your-computer/