A Maven possui uma solução perfeita para seu Portal de Notícias, podendo manter seu fornecedor do portal e realizar a integração com nosso aplicativo. Para realizar essa integração precisamos que seja entregue de preferência em JSON as informações abaixo:
Requisitos do webservice:
- Deve funcionar com HTTP em modo REST
- Deve entregar conteúdo em json
- Deve entregar no mínimo as informações abaixo.
Serviços obrigatórios
Serviço 1 - Lista de menus
O aplicativo precisa construir um menu para a navegação do usuário. Normalmente esse menu possui as seções do portal, sejam elas categorias de notícias ou links web responsivos.
Exemplo de retorno abaixo.
[ { /* Atributos obrigatorios */ "id":"id do menu", "name":"Nome do menu" /* Atributos opcionais */ "pageUrl":"caso o menu seja webview, fornecer o link http", "color":"#hexadecimal da cor da fonte", "bgcolor":"#hexadecimal da cor de fundo", "iconeMenuapp":"Link http do ícone 32x32", "iconcolor":"Cor do ícone caso não tenha imagem acima", "appVertical":"S se deve aparecer no menu vertical. N para não aparecer", "appHorizontal":"S se deve aparecer no menu horizontal. N para não aparecer", "subMenus": [ .. outros menus igual acima .. ] }, { .. outros menus ..} ]
Se o item do menu tiver uma pageURL então ele vai abrir uma webview no app. Senão ele vai buscar as notícias do serviço 2 com base no ID do menu clicado.
Serviço 2 - Lista de notícias
O serviço de busca de notícias deve entregar as matérias paginadas para o aplicativo de forma rápida e respeitando alguns parâmetros. Recomendamos no máximo 10 matérias por página pois o aplicativo fica consultando várias vezes o serviço mesmo em background.
A lista de matérias deve receber no mínimo os seguintes parâmetros:
- page = Número da página para que seja feita a paginação de scroll infinito no aplicativo.
- timestamp = O app envia o timestamp da matéria mais recente que ele buscou para que o serviço entregue apenas matérias novas.
- menuID = Opcional, é o ID do menu para trazer matérias somente deste menu. Senão informado ele deve buscar as matérias da home
Exemplo de retorno:
[ { /* Atributos obrigatorios */ "id":"id da noticia", "title":"titulo da noticia", "url":"URL da webview - recomendamos que seja no padrão AMP", "summary": "chamada destaque da noticia", "timestamp":"Data, hora, minuto, milisegundo da noticia", "priority":"high, medium, low - notícias high ficam no topo - por padrão todas são medium", "cartola": "Texto da cartola, senão será usado o nome do menu" , "bloqueio":"S para Sim, somente usuarios logados podem ler. N para não, matéria publica" /* Atributos opcionais */ "thumb": "URL da imagem da noticia - recomendada, "copyrightThumb":"Se a imagem possui direito autoral, informar o nome", "color":"Cor da cartola da matéria", "bgColor":"Cor de fundo da cartola", "videoCapa":"Se ao inves da foto for um video - só aparece na primeira materia do topo - Suporta apenas Youtube" }, { .. outras matérias ..} ]
Serviços opcionais
Serviço 3 - Pesquisa de notícias
Se você quiser fornecer o recurso de busca para seus leitores, precisamos de um serviço de pesquisa conforme especificação abaixo.
A pesquisa deve receber os seguintes parâmetros:
- keyword = Termo da pesquisa
- page = Número da página para que seja feita a paginação de scroll infinito no aplicativo.
- resumo = S se sim, N se não. Se for pesquisa resumida a entrega do conteúdo é menor - veja mais abaixo.
Exemplo de retorno da entrega resumida:
- Você deve limitar este retorno em no máximo 10 itens, sem paginação.
[ { "id":"id da noticia", "title":"titulo da noticia", "url":"URL da webview - recomendamos que seja no padrão AMP", "summary": "chamada destaque da noticia", "timestamp":"Data, hora, minuto, milisegundo da noticia"}, {... outras materias ..} ]
Exemplo de retorno da entrega completa:
Exatamente igual ao Serviço 2.
O que é a "entrega resumida" ? Quando o usuário começa a digitar o termo a ser pesquisado o aplicativo faz uma consulta parcial e apresenta uma prévia do resultado ao usuário e nisso ele usa a pesquisa resumida. Se ele não escolhe nenhuma matéria da pesquisa resumida, então ele faz a pesquisa completa.
Serviço 4 - Banners
Os banners aparecem no scroll vertical do aplicativo entre as matérias. Você não precisa criar um novo serviço para isso, basta mudar o serviço 2 de lista de notícias para incluir um objeto diferente entre as notícias, mas com os mesmos atributos - exemplo abaixo.
[ {... materia A.. }, { .. materia B ..} { "id":"id do banner", "title":"Nome do banner - identificador", "timestamp":"Data, hora, minuto, milisegundo da campanha", "url":"URL clicavel - caso o banner nao seja um script", "thumb": "URL da imagem do banner, caso não seja um script", "videoCapa":"Se a campanha for um video, informar a URL - Suporta apenas Youtube", "html": "Se o banner for em javascript, colocar o script aqui. Você pode usar CDATA ou codificar em base64" }, { .. outras matérias ..} ]
Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo