Pedoman Teknis

Sementara smartphone semakin tersedia di seluruh dunia, mayoritas orang di pasar negara berkembang masih memiliki ponsel fitur. Untuk memastikan bahwa Free Basics dapat diakses oleh semua orang, kami berfokus mendukung situs web seluler ringan.

Detail

Untuk membuat situs web Anda ditampilkan dengan benar dalam Platform Free Basics dan dapat diakses oleh orang-orang di semua jenis ponsel dan paket data, situs web seluler Anda harus memenuhi kondisi teknis tertentu yang dibuat oleh proxy Free Basics. Secara khusus, situs web seluler harus berfungsi tanpa adanya:

  • JavaScript
  • iframes
  • Video dan gambar definisi tinggi
  • Applet Flash dan Java

Jika situs web ditemukan berisi salah satu setelah penerapan di atas, kami akan memblokirnya sampai kami dapat mengonfirmasi bahwa konten tersebut telah dihapus.

JavaScript

Untuk menawarkan pengalaman yang dapat berfungsi di seluruh perangkat, layanan Anda harus tetap fungsional dan berguna saat JavaScript dinonaktifkan. Ini berarti bahwa konten Anda tidak boleh bergantung pada JavaScript untuk pengalaman pengguna inti apa pun, terutama navigasi atau fungsi inti lainnya.

iframes

Beberapa penekanan mungkin terjadi untuk iframe, jadi pastikan konten Anda tidak bergantung padanya. Kami merekomendasikan untuk menghindari iframe sama sekali karena cenderung mengurangi pengalaman seluler.

Video dan gambar besar

Untuk menjaga konsumsi data rendah bagi orang yang menggunakan Free Basics, harap hindari sumber daya yang memakan data yang besar seperti video dan gambar definisi tinggi. Untuk memberikan pengalaman terbaik, kami mungkin harus memodifikasi, dan dalam beberapa kasus, tidak menampilkan beberapa video dan gambar.

Applet Flash dan Java

Free Basics tidak mendukung sumber daya Flash atau applet Java. Jika layanan Anda menggunakan teknologi ini, pastikan untuk menerapkan fallback yang tepat sehingga Flash atau applet Java tersembunyi dengan tepat dan tidak mengganggu fungsi situs Anda.

Dukungan HTTPS

Kami mengenkripsi informasi untuk Free Basics sebisa mungkin. Saat orang menggunakan aplikasi Android Free Basics, traffic mereka akan dienkripsikan end-to-end kecuali Anda menentukan bahwa layanan Anda seharusnya hanya HTTP. Untuk situs web Free Basics di browser seluler, kami menggunakan model "sertifikat ganda" untuk mengenkripsi traffic antara perangkat seseorang dan server kami di kedua arah. Jika server Anda mendukung HTTPS, kami juga akan mengenkripsi traffic antara server kami dan server Anda. Bahkan jika layanan Anda belum mendukung HTTPS, jika memungkinkan, kami akan mengenkripsi informasi tersebut antara server kami dan perangkat orang-orang kecuali Anda meminta kami untuk tidak menggunakan HTTPS sertifikat ganda. Ketika orang menggunakan situs web seluler Free Basics, informasi untuk sementara didekripsi di server aman kami untuk memastikan fungsi layanan yang tepat dan untuk menghindari biaya tak terduga bagi orang-orang.

Kami menjaga privasi informasi itu saat didekripsi dengan hanya menyimpan nama domain layanan Anda dan jumlah data yang digunakan, seperti halnya informasi yang bisa dilihat menggunakan enkripsi end-to-end, serta cookie yang tersimpan di format yang terenkripsi dan tidak bisa dibaca.

Proxy Internet.org

Dari dalam Free Basics, semua traffic dirutekan melalui proxy Internet.org. Kami melakukan ini untuk menciptakan arus traffic standar sehingga operator dapat mengidentifikasi dengan benar dan memberi peringkat nol pada layanan Anda. Penting untuk disadari bahwa layanan Anda tidak di-hosting maupun di-caching oleh Internet.org — itu masih beroperasi di server Anda sendiri dan sepenuhnya dapat dipelihara oleh Anda — dan dengan mendeteksi permintaan yang melalui Platform Free Basics, Anda dapat menerapkan kontrol seperti pemblokiran geografis untuk konten Anda dan/atau mengukur traffic Platform Free Basics Anda.

Alamat IP

  • Perlu diketahui bahwa, karena adanya enkripsi SSL, aplikasi Android Free Basics tidak mendukung kolom header HTTP x-iorg-fbs-uip dan x-iorg-fbs.

Karena permintaan melalui proxy Internet.org, alamat IP Permintaan HTTP akan selalu berasal dari server kami, bukan dari pemohon asli. Anda bisa mendapatkan IP pemohon asli dari kolom header HTTP X-IORG-FBS-UIP (yang dibuat oleh proxy kami).

Proksi kami juga mengikuti konvensi X-Forwarded-For, sehingga alamat IP yang sama akan ditemukan di kolom itu juga (sebagai alamat IP nonpribadi pertama).

Mendeteksi Permintaan

Semua permintaan yang melalui proxy Internet.org akan berisi kolom X-IORG-FBS (selalu diatur ke true). Cukup periksa eksistensinya di dalam header.

Selain itu, string Internet.org disisipkan ke kolom header Via, yang merupakan cara kedua untuk mengidentifikasi permintaan yang sudah melalui proxy kami.

Semua permintaan yang berasal dari aplikasi Android akan berisi nilai header HTTP agen pengguna yang unik (yang tergantung pada versi aplikasi). Contoh dari agen pengguna tersebut adalah:

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

Untuk mendeteksi permintaan, Anda dapat memeriksa apakah string berisi “InternetOrgApp”

Cookie

Cookie didukung.

Agen Pengguna (String UA)

String UA dari pemohon asli tidak diubah oleh proxy Internet.org.

Analytics dan Pengukuran

Anda boleh menggunakan layanan pelacakan, seperti Google Analytics, Effective Measure, Chartbeat, dsb. di situs Anda. Seperti yang disebutkan di atas, lingkungan web kami tidak mendukung JavaScript saat ini dan ini penting untuk diperhatikan, karena banyak layanan analytics bergantung pada JavaScript untuk fungsi penuhnya — meskipun sebagian besar memberikan fallback saat tidak tersedia. Silakan baca dokumentasi layanan apa pun yang Anda gunakan.

Google Analytics

Untuk mempermudah penggunaan Google Analytics tanpa JavaScript di dalam Platform Free Basics, berikut adalah beberapa pedoman penyiapan layanan Anda.

Mendeteksi negara

Untuk mendeteksi negara pengguna dengan benar, Anda perlu mengisi parameter pengesampingan UIP untuk permintaan Google Analytics. Cara termudah untuk melakukannya adalah dengan memanfaatkan kolom header HTTP X-IORG-FBS-UIP (lihat proxy Internet.org). Parameter UIP harus diatur sisi server untuk permintaan ke Google Analytics.

Melacak tanpa JavaScript

Untuk melakukan analisis traffic tanpa JavaScript, Anda perlu memanfaatkan sisi server dari layanan Anda.

Permintaan Google Analytics dapat dikelola sepenuhnya oleh back-end, dan server dapat mengurus pengelolaan cookie (atau membedakan pengguna dengan cara lain). Anda dapat memutuskan parameter permintaan mana yang akan diisi dan digunakan untuk analytics. Ini dilakukan menggunakan Protokol Pengukuran Google Analytics.

Jika Anda sudah memiliki solusi iframe, yang perlu Anda lakukan adalah melakukan permintaan POST di sisi server Anda ke alamat Google Analytics. Sebagian besar parameter akan konsisten dengan yang digunakan oleh solusi iframe.

Pengujian

Sebelum Anda mengirimkan situs web Anda untuk dipertimbangkan, Anda harus menguji melalui semua persyaratan di atas. Sumber daya berikut dapat membantu memberikan masukan realtime tentang kesiapan Anda.

Emulator Perangkat Chrome

Browser Chrome dapat meniru pengalaman seluler, yang sangat memfasilitasi sebagian besar aspek pengujian. Kami rekomendasikan untuk mengaktifkan Emulasi Perangkat dan menguji seluruh situs Anda dengan berikut ini:

Petunjuk dapat ditemukan di sini: https://developer.chrome.com/devtools/docs/device-mode

Emulator Opera

Opera menyediakan emulator mereka sendiri yang memungkinkan untuk pengujian yang lebih spesifik tentang bagaimana cara situs Anda me-render dan berperilaku di browser Opera Mini.

Petunjuk dapat ditemukan di sini: http://dev.opera.com/articles/installing-opera-mini-on-your-computer/