技術指南

雖然智能手機在世界各地越來越普及,但在新興市場還有大多數人在使用功能手機。為確保所有人都能使用 Free Basics,我們專注於支援輕量級流動版網站。

詳細資訊

為使您的網站在 Free Basics 平台上正確顯示,且能供使用所有手機類型和數據計劃的用戶存取,您的流動網站必須符合 Free Basics 代理伺服器設定的特定技術條件。具體而言,流動網站不應包含以下內容:

  • JavaScript
  • iframe
  • 影片和高解像度圖片
  • Flash 與 Java Applet

如果在執行後,我們發現網站含有上述任何內容,便會封鎖網站,直至確認相關內容已移除。

JavaScript

為提供跨裝置使用體驗,您的服務應在停用 JavaScript 後仍能保有功能性和實用性。換言之,您的內容不應依賴 JavaScript 來提供任何核心用戶體驗,尤其是導覽或其他核心功能。

iframe

部分 iframe 內容會受抑制,因此請確保您的內容不依賴 iframe。建議完全避免使用 iframe,以免影響流動版使用體驗。

影片和大型圖片

考慮到 Free Basics 用戶的數據消耗量較低,請避免使用高數據消耗量的資源,例如影片和高解像度圖片。為提供最佳體驗,我們可能需要修改部分影片和圖片,甚至不顯示有關影片和圖片。

Flash 與 Java Applet

Free Basics 不支援 Flash 資源或 Java Applet。如果您的服務使用了這些技術,請務必執行適當遞補,以便適當隱藏這些內容,確保網站功能正常運作。

HTTPS 支援

我們盡可能加密 Free Basics 資訊。用戶使用 Free Basics Android 應用程式時,除非您指定服務只使用 HTTP,否則我們會端對端加密處理用戶的流量。對於流動瀏覽器中的 Free Basics 網站,我們使用「雙重憑證」模組,加密用戶裝置與我們伺服器之間的雙向流量。如果您的伺服器支援 HTTPS,我們還會加密我們伺服器與您伺服器之間的流量。即使您的服務尚未支援 HTTPS,但除非您要求我們不使用雙重憑證 HTTPS,否則我們也會盡可能加密我們伺服器與用戶裝置之間的資訊。用戶使用 Free Basics 流動網站時,我們的安全伺服器會暫時解密資訊,以確保服務正常運作,避免意外收取用戶費用。

我們會保護資訊的私隱,解密時只會儲存您服務的網域名稱和使用的流動數據量(使用端對端加密時也可看到相同資訊),還有以加密且無法閱讀的格式儲存的 Cookie。

Internet.org 代理伺服器

Free Basics 中的所有流量都透過 Internet.org 代理伺服器傳送。這樣做的目的是建立標準流量流,方便網絡供應商正確識別您的服務並免於計費。請務必了解,您的服務並非由 Internet.org 主控或快取,服務仍是在您自己的伺服器上運作,且您擁有完全維護權,而藉由偵測透過 Free Basics 平台傳遞的要求,您可針對內容套用地理位置封鎖等控制功能,和/或衡量您的 Free Basics 平台流量。

IP 位址

  • 請注意,由於使用了 SSL 加密,Free Basics Android 應用程式不支援 x-iorg-fbs-uipx-iorg-fbs HTTP 標題欄位。

由於要求需透過 Internet.org 代理伺服器傳遞,HTTP 要求 IP 位址一律會從我們的伺服器而非原始要求者的伺服器傳出。您可以透過 X-IORG-FBS-UIP HTTP 標題欄位(由我們的代理伺服器建立)取得原始要求者 IP。

我們的代理伺服器也遵循 X-Forwarded-For 慣例,因此您也會在該欄位中找到相同的 IP 位址(顯示為第一個非私人 IP 位址)。

偵測要求

透過 Internet.org 代理伺服器傳遞的所有要求都會包含 X-IORG-FBS 欄位(一律設為 true),因此只需在標題中查看該欄位是否存在即可。

除此之外,Internet.org 字串會插入 Via 標題欄位,這是可以辨識透過我們代理伺服器傳遞的要求的次要方式。

來自 Android 應用程式的所有要求都會包含不重複的用戶代理 HTTP 標題值(視乎應用程式版本而定)。此類用戶代理範例如下:

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;]

如要偵測要求,您可以檢查字串中是否含有「InternetOrgApp」

Cookie

支援 Cookie。

用戶代理(UA 字串)

Internet.org 代理伺服器不會更改原始要求者的 UA 字串。

分析與成效衡量

您可以在您的網站上使用追蹤服務,例如 Google AnalyticsEffective MeasureChartbeat 等。如上所述,我們的網絡環境目前不支援 JavaScript,這一點需要特別注意,因為許多分析服務依賴 JavaScript 來提供完整功能(雖然在無法使用 JavaScript 時,大多數服務都提供後援功能)。請參閱您所用服務的相關文件了解詳情。

Google Analytics

為更輕鬆地在 Free Basics 平台內不透過 JavaScript 使用 Google Analytics,請在設定服務時參考以下指南。

偵測國家/地區

如要正確偵測用戶所在國家/地區,您需要正確填寫 Google Analytics 要求的 UIP 覆寫參數。最輕鬆的方式是利用 X-IORG-FBS-UIP HTTP 標題欄位(請參閱 Internet.org 代理伺服器)。向 Google Analytics 傳遞要求時,您需要在伺服器端設定 UIP 參數。

不透過 JavaScript 追蹤

如要不透過 JavaScript 進行流量分析,您需要利用服務的伺服器端。

後端可全權管理 Google Analytics 要求,而伺服器可負責管理 Cookie(或以其他方式區分用戶)。您可以決定在傳遞分析要求時要填寫和使用的參數。以上操作都可以透過 Google Analytics 衡量通訊協定完成。

如果您已採用 iframe 解決方案,您需要在伺服器端向 Google Analytics 位址傳遞 POST 要求。大多數參數都與 iframe 解決方案所使用的參數一致

測試

您應根據上述所有要求測試網站,然後再提交網站以供審查。以下資源可協助您即時取得網站準備情況的意見。

Chrome 裝置模擬器

Chrome 瀏覽器能夠模擬流動體驗,為多數測試工作提供極大便利。建議您開啟裝置模擬功能,並依照下列情況測試整個網站:

相關指示:https://developer.chrome.com/devtools/docs/device-mode

Opera 模擬器

Opera 擁有自己的模擬器,可方便您對網站在 Opera Mini 瀏覽器上的呈現和行為方式進行更深入的測試。

相關指示:http://dev.opera.com/articles/installing-opera-mini-on-your-computer/