Technische Richtlinien

  • Der Dienst muss unsere technischen Richtlinien erfüllen. In der Dokumentation zur Vorbereitung der Einreichung findest du außerdem Tipps zur Vorbereitung auf die technische Überprüfung.

Auch wenn Smartphones sich weltweit immer mehr verbreiten, nutzen die meisten Personen in Schwellenländern nach wie vor traditionelle Mobiltelefone. Damit alle Free Basics nutzen können, legen wir großen Wert auf Handy-Webseiten mit geringen Verarbeitungsanforderungen.

Details

Damit deine Handy-Webseite auf der Free Basics-Plattform richtig angezeigt wird und Personen mit allen Telefontypen und Datentarifen zur Verfügung steht, muss sie bestimmte technische Anforderungen des Free Basics-Proxys erfüllen. Handy-Webseiten müssen insbesondere ohne folgende Elemente funktionieren:

  • JavaScript
  • iframes
  • Videos und hochauflösende Bilder
  • Flash- und Java-Applets

Webseiten, die nach der Implementierung eines dieser Elemente enthalten, werden gesperrt, bis wir bestätigen können, dass diese Inhalte entfernt wurden.

JavaScript

Damit der Dienst geräteunabhängig einwandfrei läuft, muss er auch bei deaktiviertem JavaScript funktionieren. Die Inhalte dürfen deshalb bei den Kernfunktionen nicht von JavaScript abhängen. Das betrifft insbesondere Navigations- und sonstige Kernfunktionen.

iframes

iframes werden möglicherweise unterdrückt. Deine Inhalte dürfen deshalb nicht davon abhängen. Wir empfehlen, iframes überhaupt nicht zu verwenden, da die Nutzung mit Mobilgeräten dadurch im Allgemeinen beeinträchtigt wird.

Videos und große Bilder

Damit die Free Basics-Nutzer*innen keinen großen Datenverbrauch haben, solltest du keine umfangreichen, datenintensiven Ressourcen wie Videos und Bilder in hoher Auflösung verwenden. Um das bestmögliche Erlebnis zu bieten, müssen wir möglicherweise einige der Videos und Bilder modifizieren und in einigen Fällen nicht anzeigen.

Flash- und Java-Applets

Flash-Ressourcen und Java-Applets werden von Free Basics nicht unterstützt. Sollte dein Dienst diese Technologien nutzen, musst du unbedingt Ersatzoptionen vorsehen, damit Flash und Java-Applets verborgen werden und die Seitenfunktionen nicht stören.

HTTPS-Unterstützung

Wir verschlüsseln Daten für Free Basics nach Möglichkeit. Sofern du den Dienst nicht als ausschließlich HTTP-basiert definierst, werden Besuche von Nutzer*innen der Free Basics-Android-App durchgängig verschlüsselt. Wir verwenden für die Free Basics-Webseite in Handy-Browsern ein Doppelzertifikatmodell, um den Datenaustausch zwischen Nutzer*innengeräten und unseren Servern in beide Richtungen zu verschlüsseln. Wenn dein Server HTTPS unterstützt, verschlüsseln wir auch den Datenaustausch zwischen unseren und deinen Servern. Sofern du uns nicht darauf hinweist, kein HTTPS mit Doppelzertifikat zu verwenden, verschlüsseln wir Daten zwischen unseren Servern und Nutzer*innengeräten auch dann, wenn dein Dienst HTTPS noch nicht unterstützt. Bei der Nutzung der Free Basics-Handy-Webseite werden Daten vorübergehend auf unseren sicheren Servern entschlüsselt, um den einwandfreien Betrieb der Dienste zu gewährleisten und unerwartete Gebührenbelastungen für die Nutzer*innen zu vermeiden.

Wir wahren die Vertraulichkeit dieser Daten für die Dauer der Entschlüsselung, indem wir nur den Domainnamen deines Dienstes und die Menge der verwendeten Daten speichern, d. h. dieselben Daten, die bei Ende-zu-Ende-Verschlüsselung sichtbar wären, und dazu Cookies, die in einem verschlüsselten, nicht lesbaren Format gespeichert werden.

Internet.org-Proxy

Sämtlicher von Free Basics ausgehender Datenaustausch wird über den Internet.org-Proxy geleitet. Damit sorgen wir für einen standardisierten Traffic-Fluss, anhand dessen Betreiber deinen Dienst richtig identifizieren. So fallen keine Gebühren dafür an. Wir weisen ausdrücklich darauf hin, dass Internet.org deinen Dienst weder hostet noch zwischenspeichert. Der Dienst wird trotzdem über deine Server ausgeführt und vollständig durch dich verwaltet. Mit der Erkennung von Anfragen, die über die Free Basics-Plattform geleitet werden, kannst du Steuerelemente wie die Geoblockierung für Inhalte und/oder die Messung deines Free Basics-Plattform-Traffics anwenden.

IP-Adressen

  • Denke daran, dass die Free Basics-Android-App aufgrund der SSL-Verschlüsselung die HTTP-Header-Felder x-iorg-fbs-uip und x-iorg-fbs nicht unterstützt.

Da Anfragen über den Internet.org-Proxy geleitet werden, wird als HTTP-IP-Anfrageadresse immer eine unserer Serveradressen und nicht die Adresse des ursprünglichen Anforderers angegeben. Du kannst die IP-Adresse des ursprünglichen Anforderers aus dem HTTP-Header-Feld X-IORG-FBS-UIP (das von unserem Proxy erstellt wird) abrufen.

Unser Proxy folgt außerdem der X-Forwarded-For-Konvention. D. h., dieselbe IP-Adresse wird auch in diesem Feld angegeben (als erste nicht private IP-Adresse).

Erkennung von Anfragen

Alle Anfragen, die über den Internet.org-Proxy geleitet werden, enthalten das Feld X-IORG-FBS (immer auf true gesetzt). Es reicht, wenn du einfach im Header prüfst, ob dies vorhanden ist.

Davon abgesehen wird der String Internet.org in das Via-Header-Feld eingefügt. So können Anfragen, die durch unseren Proxy geleitet wurden, auf sekundäre Weise identifiziert werden.

Alle Anfragen von Android-Apps enthalten einen eindeutigen User-Agent-HTTP-Header-Wert (der von der Version der App abhängt). Hier ist ein Beispiel für einen solchen User-Agent:

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

Um die Anfrage zu erkennen, kannst du überprüfen, ob der String „InternetOrgApp“ enthält.

Cookies

Cookies werden unterstützt.

User Agent (UA-String)

Der UA-String des ursprünglichen Anforderers wird durch den Internet.org-Proxy nicht geändert.

Analyse und Messung

Du kannst auf deiner Webseite Tacking-Dienste wie Google Analytics, Effective Measure, Chartbeat und andere verwenden. Wie oben erwähnt, unterstützt unsere Webumgebung JavaScript derzeit nicht und du solltest diesen Umstand unbedingt berücksichtigen, da der volle Funktionsumfang vieler Analysedienste nur mit JavaScript verfügbar ist. Die meisten Dienste bieten jedoch auch eine Ersatzoption für JavaScript an, wenn dies nicht verfügbar ist. Beachte hierzu die Dokumentation der von dir genutzten Dienste.

Google Analytics

Weiter unten findest du einige Richtlinien zum Einrichten deines Dienstes, damit die Nutzung von Google Analytics ohne JavaScript in der Free Basics-Plattform erleichtert wird.

Erkennung des Landes

Um das Land des*der Nutzer*in korrekt zu erkennen, musst du den UIP-Überschreibungsparameter für Google Analytics-Anfragen richtig ausfüllen. Am besten verwendest du dazu das HTTP-Header-Feld X-IORG-FBS-UIP (siehe Internet.org-Proxy). Der UIP-Parameter müsste serverseitig für die Anfrage an Google Analytics festgelegt werden.

Tracking ohne JavaScript

Um eine Traffic-Analyse ohne JavaScript auszuführen, musst du die Serverseite deines Dienstes verwenden.

Google Analytics-Anfragen können komplett vom Backend verwaltet werden und der Server kann die Cookie-Verwaltung übernehmen (oder Nutzer*innen auf andere Arten unterscheiden). Du kannst entscheiden, welche Anfrageparameter du für Analysen ausfüllen und verwenden möchtest. Dazu verwendest du das Google Analytics-Messprotokoll.

Wenn du bereits eine iframe-Lösung hast, musst du eine POST-Anfrage von deiner Serverseite an die Google Analytics-Adresse übermitteln. Die meisten Parameter stimmen mit denen der iframe-Lösung überein .

Testen

Bevor du deine Webseite zur Überprüfung einreichst, solltest du testen, ob sie alle der oben aufgeführten Anforderungen erfüllt. Die folgenden Ressourcen geben Feedback in Echtzeit zum Grad der Vorbereitung.

Chrome-Geräteemulator

Der Chrome-Browser kann Handy-Funktionen emulieren und vereinfacht die meisten Testaspekte erheblich. Wir empfehlen, die Funktion zur Geräteemulation zu aktivieren und die gesamte Webseite unter folgenden Bedingungen zu testen:

Anleitungen findest du hier: https://developer.chrome.com/devtools/docs/device-mode

Opera-Emulator

Opera bietet einen eigenen Emulator an, mit dem sich die Darstellung und das Verhalten der Webseite mit dem Opera Mini-Browser testen lassen.

Anleitungen findest du hier: http://dev.opera.com/articles/installing-opera-mini-on-your-computer/