Além de seguir as Diretrizes Técnicas, consulte nossa documentação sobre como preparar seu envio para obter dicas sobre a 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 comuns. Para garantir que o Free Basics esteja ao alcance de todos, nosso foco está no suporte a sites móveis leves.
Para fazer com que seu site seja exibido de forma apropriada na Plataforma Free Basics, e para que ele seja acessível a pessoas com todos os tipos de celulares e planos de dados, seus sites móveis devem atender a certas condições técnicas criadas pelo proxy do Free Basics. Especificamente, os sites móveis devem funcionar na falta de:
Se os sites contiverem qualquer um dos itens acima após a implementação, eles serão bloqueados até que possamos confirmar se o conteúdo foi removido.
Para oferecer uma experiência capaz de funcionar nos mais variados dispositivos, seu serviço deve continuar funcional e útil quando o JavaScript for desabilitado. Isso significa que seu conteúdo não deve depender do JavaScript para realizar as principais experiências do usuário, especialmente a navegação ou outras funcionalidades essenciais.
Algumas supressões podem ocorrer com os iframes, portanto, certifique-se de que seu conteúdo não dependa deles. Recomendamos evitar completamente os iframes, uma vez que eles tendem a restringir uma experiência móvel.
Para respeitar o baixo consumo de dados para pessoas que usam o Free Basics, evite recursos que tenham elevado consumo de dados, como vídeos e imagens em alta definição. Não exibiremos arquivos de vídeo e cortaremos recursos com mais de 200 KB.
O Free Basics não suporta recursos em Flash ou applets Java. Se seu serviço utilizar essas tecnologias, certifique-se de implementar os devidos fallbacks para que elas possam ser ocultadas de maneira apropriada e não interrompam a funcionalidade do seu site.
Nós criptografamos as informações para o Free Basics sempre que possível. Quando as pessoas usam o aplicativo para Android do Free Basics, o tráfego delas é completamente criptografado, a menos que você especifique que seu serviço deve ser somente HTTP. Para o site do Free Basics em um navegador móvel, nós usamos um modelo de “certificado duplo” para criptografar o tráfego entre o dispositivo de uma pessoa e nossos servidores em ambas as direções. Se seu servidor suportar HTTPS, também criptografaremos o tráfego entre nossos servidores e o seu. Mesmo que seu serviço ainda não ofereça suporte a HTTPS, quando possível, criptografaremos as informações entre nossos servidores e os dispositivos das pessoas, a menos que você nos peça para não usar o HTTPS de certificado duplo. Quando as pessoas usam o site móvel do Free Basics, as informações são descriptografadas temporariamente em nossos servidores seguros para garantir o funcionamento apropriado dos serviços e evitar cobranças inesperadas.
Garantimos a privacidade dessas informações enquanto elas são descriptografadas, só armazenando o nome do domínio do seu serviço e a quantidade de dados que está sendo usada (as mesmas informações que estariam visíveis com o uso da criptografia completa), bem como os cookies que são armazenados em um formato criptografado e ilegível.
A partir do Free Basics, todo o tráfego é roteado por meio do proxy da Internet.org. Fazemos isso para criar um fluxo de tráfego padrão, para que as operadoras possam identificar devidamente o seu serviço e oferecer uma tarifa gratuita para ele. É importante observar que seu serviço não é hospedado nem armazenado em cache pela Internet.org (ele ainda operará nos seus próprios servidores e será completamente mantido por você), e, ao detectar solicitações que são transferidas pela Plataforma Free Basics, você pode aplicar controles como o bloqueamento geográfico para seu conteúdo e/ou medir o tráfego da sua Plataforma Free Basics.
Saiba que, devido à criptografia SSL, o aplicativo Free Basics para Android não oferece suporte aos 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 de solicitação de HTTP sempre será dos nossos servidores, não do solicitante original. Você pode obter o IP do solicitante original no campo de cabeçalho HTTP X-IORG-FBS-UIP
(que é criado por nosso proxy).
Nosso proxy também segue a convenção X-Forwarded-For, portanto, o mesmo endereço IP será encontrado nesse campo (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 apenas verificar sua existência dentro do cabeçalho.
Além disso, a cadeia Internet.org
é inserida no campo de cabeçalho Via
, que é uma maneira secundária de identificar solicitações que passaram por nosso proxy.
Todas as solicitações recebidas do aplicativo Android conterão um valor de cabeçalho HTTP usuário-agente único (que depende da versão do aplicativo). Um exemplo de usuário-agente é:
Mozilla/5.0 (Linux; Android 7.1.2; Pixel Build/N2G47E; wv) AppleWebKit/537.36 (KHTML, como 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 cadeia de caracteres contém “InternetOrgApp”
Há suporte para cookies.
A Cadeia de caracteres do UA do solicitante original não é alterada pelo proxy da Internet.org.
Você pode usar no seu site os serviços de monitoramento, como Google Analytics, Effective Measure, Chartbeat etc. Conforme mencionado acima, nosso ambiente da Web não oferece suporte a JavaScript no momento, e é importante estar ciente disso, uma vez que muitos serviços de análise dependem do JavaScript para sua total funcionalidade, ainda que a maioria ofereça um fallback para quando o JavaScript não está disponível. Consulte a documentação do serviço que você estiver usando.
Para facilitar o uso do Google Analytics sem JavaScript dentro da Plataforma do Free Basics, confira algumas diretrizes sobre como configurar seu serviço.
Para detectar corretamente o país do usuário, 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 é usar o campo de cabeçalho HTTP X-IORG-FBS-UIP
(consulte Proxy da Internet.org). Seria necessário definir o parâmetro UIP no lado do servidor para a solicitação para o Google Analytics.
Para realizar a análise de tráfego sem JavaScript, você precisará usar o lado do servidor de seu serviço.
As solicitações do Google Analytics podem ser gerenciadas completamente pelo back-end, e o servidor pode assumir o gerenciamento de cookies (ou diferenciar os usuários de alguma outra forma). Você pode decidir quais parâmetros da solicitação preencher e usar para a análise. Isso é feito usando o Protocolo de medição do Google Analytics.
Se você já tiver uma solução iframe
, precisará realizar uma solicitação POST no lado do servidor para o endereço do Google Analytics. A maioria dos parâmetros será consistente com aqueles usados pela solução iframe
.
Antes de enviar seu site para consideração, você deve testá-lo em relação a todos os requisitos acima. Os seguintes recursos podem ajudar a fornecer feedback em tempo real, informando se você está pronto.
O Navegador Chrome pode emular uma experiência móvel, o que facilita imensamente a maioria dos aspectos de teste. Recomendamos ativar o Emulador de dispositivos e testar todo seu site com:
As instruções podem ser encontradas aqui: https://developer.chrome.com/devtools/docs/device-mode
O Opera oferece um emulador próprio, que permite realizar testes mais específicos de como seu site renderiza e se comporta no navegador Opera Mini.
As instruções podem ser encontradas aqui: http://dev.opera.com/articles/installing-opera-mini-on-your-computer/