terça-feira, 30 de junho de 2009

Lançar uma aplicação para diferentes devices

Se tiver que lançar uma aplicação para diferentes devices como por exemplo 8110 Pearl, 8900 Curve, 9000 Bold e 9500 Storm, é necessário criar uma estrutura de directórios que o servicor BES irá analisar e lançar para os dispositivos. Consoante o modelo e de forma automática.

Tomemos por exemplo a aplicação Windows Live Messenger:

Debaixo da pasta Applications (ver post anterior), criar a seguinte estrutura de directórios:
WLM :Pasta
43 :Pasta debaixo de WLM
46 :Pasta debaixo de WLM
47 :Pasta debaixo de WLM
msn.alx :Ficheiro dentro da pasta WLM

As pastas 43, 46 e 47 correspondem às versões de OS dos dispositivos, e guardam lá dentro o ficheiro .COD da respectiva versão. O ficheiro .ALX é que guarda toda a "magia", que aqui se encontra aqui. Para o editarem podem usar o notepad do windows.

msn.alx

Reindexar com o comando apploader.exe /index e seguir as instruções indicadas no post anterior
Este exemplo é para lançar o WLM em inglês para dispositivos com as versões 4.3, 4.6 e 4.7 de OS.
Onde encontrar os ficheiros .COD ? Pesquisar a net numa primeira instância ou instalar os pacotes de software upgrade que a RIM disponibiliza. Uma vez instalado o pacote no PC ir ao directório C:\Program Files\Common Files\Research In Motion\Shared\Loader Files\9000-v4.6.0.266_P4.0.0.223\Java por exemplo e encontrar os ficheiros .COD a utilizar. Neste caso é o software para um Blackberry Bold 9000 na versão 4.6.0.266.

Atenção que se forem lançar software para BB's mais recentes, têm que instalar o software de OS no servidor BES. Pois só com esse software instalado é que o BES reconhece os modelos para onde enviar as versões.

Basta procurar na net uma das últimas versões do OS para o 9500 Storm ou 8900 Curve, uma vez instalado o ficheiro vendor.xml é actualizado.

Se não quiserem procurar podem usar estes links:
https://www.blackberry.com/Desktop/Download/XML/Device.xml
https://www.blackberry.com/Desktop/Download/XML/Vendor.xml

Deploy de applicações usando o BES Server

Lutei durante algum tempo com o lançamento de aplicações com o BES server, mas já está tudo controlado. Ficam aqui algumas dicas para fazerem a tarefa.

BES Server 4.1.6

Documento base: http://www.blackberry.com//btsc/dynamickc.do?cmd=show&forward=nonthreadedKC&docType=kc&externalId=KB03748&sliceId=1

O que não está no documento:
Na task 1 acrescentar:
7. Escolher o tabulador Security e adicionar o grupo Everyone com as permissões Read & Execute, List Folder Contents, Read

Na task 2 tomar nota:
Que os ficheiros .ALX têm o caminho correcto para os ficheiros .COD. Se estiverem na raíz da pasta não é necessário indicar caminho. Ex: Aplicação GMAIL C:\Program Files\Common Files\Research In Motion\Shared\Applications\GMail , dentro desta pasta estão todos os ficheiros .COD, .ALX.

Na task 4 tomar nota:
Se quiser autorizar apenas o software que está a enviar e nenhum outro (inibir o utilizador de instalar outras aplicações), na policy que estiverem a usar devem Security policy group -> Disallow Third Party Application Downloads: False
Acrescentar o seguinte step 8. Seleccionar a entrada "Application Software" e da disposition escolher "Disallowed", isto inibe a instalação de software. Pois expandindo a opção aparecem as aplicações a enviar e é aqui que se escolhe Optional ou Required.

Concluídos estes passos é:
1. Right-click no utilizador e escolher Assign Software Configuration e escolher o pacote
2. Right-click no utilizador e escolher Deploy Applications

Em qualquer altura que queiram actualizar uma aplicação é necessário:
1. Copiar os novos ficheiros .COD para o mesmo local, tomar atenção que os nomes se mantêm.
2. Apagar os ficheiros PkgDBCache.xml e specification.pkg
3. Executar os pontos 5 e 6 da task 2
4. Escolher Blackberry Domain->Software Configurations->Applications right-click Edit Configuration
5. Expandir a configuração e reassignar as permissões
6. Voltar a escolher os utilizadores e fazer deploy

Muita atenção às versões que fazem deploy, têm que ser compatíveis com os devices. Caso contrário aparecem na lista de aplicações do device mas o icone não aparece.