Conversar com apps do Kodular e do App Inventor
Exporte em HTML, abra num WebViewer e troque eventos, pedidos e dados com o app.
Preparar
- Adicione a extensão App (Kodular / App Inventor) e programe o projeto.
- Exporte em HTML (plano Pro) e coloque o arquivo na Mídia do app (ou num endereço https).
- No app, use um WebViewer com a página:
file:///android_asset/jogo.html(App Inventor) ou o caminho da mídia no Kodular. Dá para mandar parâmetros:jogo.html?fase=2.
Projeto → app
- enviar o texto … para o app e enviar o evento … com os dados … disparam o evento WebViewer.WebViewStringChange. Leia a propriedade
value(texto ou JSON). - Formatos JSON:
{"tipo":"evento","nome":"pontos","dados":10},{"tipo":"acao","acao":"toast","valor":"Olá"}e{"tipo":"pedido","id":3,"nome":"tinydb_ler","dados":{"tag":"recorde"}}. - No app, transforme o texto em dicionário (JsonTextDecode / dicionário a partir de JSON) e escolha o que fazer pelo tipo e pela acao:
toast,vibrar,abrir_link,compartilhar,falar,copiar,notificacao,tela_ligada,orientacao,abrir_tela,fechar,tinydb_salvar.
App → projeto
- WebViewer.RunJavaScript (App Inventor) ou Evaluate JavaScript (Kodular):
blocosiaApp('voltar')oublocosiaApp('moeda', 5)disparam quando o app mandar o evento …. - Para responder a um pedido:
blocosiaApp.responder(3, 'valor')(use o mesmo id). - Ou mude a propriedade WebViewString: texto puro vira mensagem;
{"nome":"x","dados":1}vira evento;{"resposta":3,"valor":…}responde um pedido.
Dicas
- Botão Voltar do celular: no evento Screen.BackPressed, chame
blocosiaApp('voltar')e trate no projeto. - No editor não existe app: use simular o app mandando o evento … para testar.
- estou dentro de um app? ajuda a esconder botões que só fazem sentido no celular.