Uma das funcionalidade que mais me foi útil no Adobe AIR, foi a adição de uma API mais bem elaborada para fazer atualização automatica de meus aplicativos. Isso pode ser muito importante porque nem todos os usuários tem tempo(ou vontade) de voltar no site do aplicativo para baixar a última versão.
Isso já é rotina para sistemas operacionais e softwares que usamos no dia-a-dia como o Mozilla Firefox e o Google Chrome.
A partir do Adobe AIR 1.5, temos a classe ApplicationUpdater e ApplicationUpdaterUI que tem como objetivo, definir o básico de funcionalidade de atualização para os aplicativos feitos com Adobe AIR
Gerenciar as atualizações pode ser complicado e o AIR update framework possui as API’s necessarias para que você faça isso de maneira prática e funcional. O desenvolvedor pode por exemplo:
- Verificar atualizações por intervalo de tempo ou por requisição do usuário.
- Baixar os arquivos de atualização da web
- Avisar o usuário na primeira execução do software recém-instalado
- Confirmar se o usuário deseja verificar se há atualizações
- Exibir informações sobre a nova versão de atualização para o usuário
- Exibir o status do download ou informação de erro para o usuário
As informações são obtidas a partir de arquivos XML onde você diz qual a Última versão do software, as novidades da nova versão etc. Vamos a um exemplo prático, no caso usarei o Flash Builder que já deve ter os arquivos applicationupdater.swc e applicationupdater_ui.swc como referencia na biblioteca.
Começamos pelo xml chamado updateConfig.xml, que “dira” a seu aplicativo onde estão os arquivos para atualização.
[XML]
[/XML]
Ele deve ser salvo no mesmo diretorio da sua aplicação, junto com os outros arquivos xml e swf. Agora no Flex, instanciaremos a classe ApplicationUpdateUI e setaremos o arquivo xml de configuração para que o Flex possa saber onde está a atualização.
[ACTIONSCRIPT3]
var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();
appUpdater.configurationFile = new File(“app:/updateConfig.xml”);
appUpdater.initialize();
//via ActionScript
//appUpdater.updateURL = ” http://example.com/updates/update.xml”;
//appUpdater.delay = 1;
[/ACTIONSCRIPT3]
O arquivo updateDescriptor.xml é onde fica setado a versão em si da atualização do seu aplicativo e onde você pode colocar a descrição das novidades da atualização.
[XML]
[/XML]
Basicamente é isso, vamos são implementar a chamada para que ao abrir o aplicativo, ele verifique se existe atualização.
[MXML]
[/MXML]
Criei uma segunda versão do meu aplicativo de teste para demonstração, deveremos ter o seguinte resultado:
Caso o usuário queira verificar se existe alguma atualização do aplicativos, basta clicar no botão “check for upadates. O arquivo atualizado é baixado e instalado.
Referências:
http://help.adobe.com/en_US/air/build/WS9CD40F06-4DD7-4230-B56A-88AA27541A1E.html
http://www.adobe.com/devnet/air/flex/quickstart/articles/update_framework.html
Adobe sempre a frente da concorrência…