A Hubchannel possui uma solução perfeita para seu portal de notícias, podendo manter seu fornecedor de portal atual e realizando a integração com nosso aplicativo. Para realizar essa integração precisamos que seja entregue 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