BlocosIA Wiki Editor

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

  1. Adicione a extensão App (Kodular / App Inventor) e programe o projeto.
  2. Exporte em HTML (plano Pro) e coloque o arquivo na Mídia do app (ou num endereço https).
  3. 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') ou blocosiaApp('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.