Além de cumprir as Diretrizes Técnicas, consulte nossa documentação sobre como preparar seu envio para obter dicas relacionadas à preparação para a análise técnica.
Embora os smartphones estejam cada vez mais disponíveis em todo o mundo, a maioria das pessoas em mercados emergentes ainda possui celulares básicos. Para garantir que o programa Free Basics seja acessível a todos, oferecemos suporte a sites móveis leves.
Para garantir a exibição correta na plataforma Free Basics e o acesso em todos os tipos de smartphones e planos de dados, seu site para dispositivos móveis precisa atender a determinadas condições técnicas criadas pelo proxy do Free Basics. Especificamente, os sites para dispositivos móveis devem funcionar sem estes componentes:
Os sites que contiverem um dos itens acima após a implementação serão bloqueados até que possamos confirmar que o conteúdo foi removido.
Para oferecer uma experiência completa em todos os dispositivos, seu serviço deverá permanecer funcional e útil quando o JavaScript estiver desabilitado. Isso significa que seu conteúdo não deve depender de JavaScript para nenhuma das principais experiências do usuário, especialmente navegação ou outras funcionalidades essenciais.
Os iframes podem gerar omissões. Por isso, não inclua esses componentes no seu conteúdo. Recomendamos evitar os iframes, já que eles tendem a prejudicar a experiência do usuário em dispositivos móveis.
Para respeitar o baixo uso de dados das pessoas que participam do programa Free Basics, evite recursos que exijam alto consumo de dados, como vídeos e imagens de alta definição. Trabalhamos para proporcionar a melhor experiência possível. Para isso, talvez tenhamos que modificar e, em alguns casos, não exibir alguns vídeos e imagens.
O Free Basics não é compatível com recursos em Flash nem miniapps Java. Caso seu serviço use essas tecnologias, implemente fallbacks adequados para que elas fiquem ocultas e não interrompam a funcionalidade do site.
Criptografamos informações do Free Basics sempre que possível. O uso do app Free Basics para Android gerará um tráfego com criptografia de ponta a ponta, a menos que você especifique que seu serviço deve ser somente HTTP. Quando o site Free Basics for usado em um navegador para celular, aplicaremos um modelo de "certificado duplo" para criptografar o tráfego entre o dispositivo da pessoa e nossos servidores em ambas as direções. Caso seu servidor seja compatível com HTTPS, também criptografaremos o tráfego entre ele e nossos servidores. Mesmo que seu serviço ainda não seja compatível com HTTPS, sempre que possível, criptografaremos essas informações entre nossos servidores e os dispositivos das pessoas, a menos que você nos peça para não usar HTTPS de certificado duplo. Quando as pessoas usam o site para dispositivos móveis do Free Basics, as informações ficam temporariamente descriptografadas nos nossos servidores seguros para garantir a funcionalidade adequada dos serviços e evitar cobranças inesperadas.
Garantimos a privacidade dessas informações enquanto elas estão descriptografadas, armazenando apenas o nome de domínio do seu serviço e a quantidade de dados em uso (as mesmas informações que ficariam visíveis usando criptografia de ponta a ponta), bem como os cookies que são armazenados em um formato criptografado e ilegível.
No Free Basics, todo o tráfego é roteado pelo proxy da Internet.org. Fazemos isso para criar um fluxo de tráfego padrão, permitindo que as operadoras possam identificar corretamente seu serviço e aplicar uma taxa gratuita. Importante: seu serviço não será hospedado nem armazenado em cache pela Internet.org; ele será operado nos seus servidores e administrado por você. Além disso, ao detectar solicitações que passam pela plataforma Free Basics, você poderá aplicar controles como bloqueio geográfico do seu conteúdo e/ou mensurar o tráfego na plataforma Free Basics.

Esteja ciente de que, devido à criptografia SSL, o app Free Basics para Android não é compatível com os campos de cabeçalho HTTP x-iorg-fbs-uip e x-iorg-fbs.
Como as solicitações passam pelo proxy da Internet.org, o endereço IP da solicitação HTTP sempre será referente aos nossos servidores, e não ao solicitante original. Você pode obter o IP do solicitante original no campo de cabeçalho HTTP X-IORG-FBS-UIP (que é criado pelo nosso proxy).
Nosso proxy também segue a convenção X-Forwarded-For. Isso significa que o mesmo endereço IP será encontrado nesse campo também (como um primeiro endereço IP não privado).
Todas as solicitações que passam pelo proxy da Internet.org conterão o campo X-IORG-FBS (sempre definido como true). Basta verificar a existência dele dentro do cabeçalho.
Além disso, a string Internet.org será inserida no campo de cabeçalho Via, que é outra maneira de identificar solicitações que passaram pelo nosso proxy.
Todas as solicitações provenientes do app para Android conterão um valor único de cabeçalho HTTP do user-agent (que depende da versão do app). Veja um exemplo desse 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;]
Para detectar a solicitação, você pode verificar se a string contém "InternetOrgApp".
Há compatibilidade com cookies.
A string do UA do solicitante original não é alterada pelo proxy da Internet.org.
Você pode usar serviços de rastreamento, como Google Analytics, Effective Measure e Chartbeat, no seu site. Conforme mencionado acima, nosso ambiente web não oferece compatibilidade com JavaScript no momento. É importante estar ciente disso, já que muitos serviços de análise dependem dessa tecnologia para oferecer a funcionalidade completa, embora a maioria forneça um fallback para quando o JavaScript não está disponível. Consulte a documentação do serviço que você está usando.
Para facilitar o uso do Google Analytics sem JavaScript na plataforma Free Basics, confira abaixo algumas diretrizes sobre como configurar seu serviço.
Para detectar o país do usuário com precisão, você precisa preencher corretamente o parâmetro de substituição UIP da solicitação do Google Analytics. A maneira mais fácil de fazer isso é utilizar o campo de cabeçalho HTTP X-IORG-FBS-UIP. Consulte a seção Proxy da Internet.org. Na solicitação do Google Analytics, o parâmetro UIP precisa ser definido no lado do servidor.
Para realizar a análise de tráfego sem JavaScript, será preciso utilizar o lado do servidor do seu serviço.
As solicitações do Google Analytics podem ser gerenciadas pelo back-end, e o servidor pode cuidar do gerenciamento de cookies (ou distinguir usuários de alguma outra forma). Você pode decidir quais parâmetros de solicitação preencher e usar na análise. Isso é feito usando o Measurement Protocol do Google Analytics.
Caso você já tenha uma solução de iframe, basta fazer uma solicitação POST no seu servidor para o endereço do Google Analytics. A maioria dos parâmetros será consistente com aqueles usados pela solução de iframe.
Antes de enviar seu site para análise, execute testes para verificar todos os requisitos acima. Os recursos a seguir podem ajudar a fornecer feedback em tempo real para você saber se está tudo pronto.
O navegador Chrome pode emular uma experiência para dispositivos móveis, o que facilita muito o processo de testes. Recomendamos ativar a emulação de dispositivos e testar todo seu site com o seguinte:
Confira as instruções aqui: https://developer.chrome.com/devtools/docs/device-mode
O Opera fornece um emulador próprio que permite a realização de testes mais específicos para você verificar a renderização e o comportamento do seu site no navegador Opera Mini.
Veja as instruções aqui: http://dev.opera.com/articles/installing-opera-mini-on-your-computer/