scieloorg / pulsemob_app

Aplicativo mobile para visualização de artigos publicados na rede SciELO.
BSD 2-Clause "Simplified" License
2 stars 3 forks source link

SciELO Mobile

Configuração de ambiente de desenvolvimento

Pré-requisitos

Para montar o ambiente de desenvolvimento do aplicativo da SciELO, as seguintes ferramentas são necessárias:

Script de Configuração

O script a baixo foi desenvolvido para auxiliar a configuração do projeto. Ele deve ser executado na pasta raiz do projeto.

Antes de executá-lo, substitua os ids das redes sociais pelos ids de suas contas nas respectivas redes.

"prepare.sh"

#!/bin/bash
cordova platform rm ios
cordova platform rm android 
cd pluginsrm -rf \*
cd .. 
cordova platform add android
cordova platform add ios 
cordova -d plugin add https://github.com/Infobase/oauth\_patch\_plugin.git --variable FACEBOOK\_APP\_ID="<REPLACE HERE WITH YOUR APP ID>" 
cordova -d plugin add cordova-plugin-googleplus --variable REVERSED\_CLIENT\_ID="<REPLACE HERE WITH YOUR REVERSED\_CLIENT\_ID>" 
cordova -d plugin add https://github.com/marcellus-sb/phonegap-facebook-plugin.git --variable APP\_ID="<REPLACE HERE WITH YOUR APP ID>" --variable APP\_NAME="SciELO" 
cordova -d plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git 
cordova -d plugin add https://github.com/Glitchbone/CordovaYoutubeVideoPlayer.git 
cordova -d plugin add https://github.com/apache/cordova-plugin-inappbrowser.git 
cordova -d plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization.git 
cordova -d plugin add cordova-plugin-x-socialsharing 
cordova -d plugin add https://github.com/marcellus-sb/ionic-plugins-keyboard.git 
cordova -d plugin add https://github.com/marcellus-sb/phonegap-plugin-loading-spinner.git 
cordova -d plugin add https://github.com/apache/cordova-plugin-whitelist
cordova -d plugin add https://github.com/danwilson/google-analytics-plugin.git |

O script deve ser executado para criar os projetos Android e iOS com os devidos plugins.

Para compatibilidade de todos os plugins, a configuração a baixo deve ser inserida no arquivo "platforms/android/build.gradle".

  configurations {    all*.exclude group: 'com.android.support', module: 'support-v4'}

Também dever incluido o valor a baixo no grupo android -> defaultConfig

  applicationId "br.com.scielo"

Por exemplo:

    android {
    ...
        defaultConfig {
            applicationId "br.com.scielo"
            ...
        }
    }

Altrando Endereço dos Serviços

Para alterar o endereço dos serviços utilizados pelo aplicativo, as seguintes variaveis no arquivo /js/SciELO.js devem ser alteradas:

    SciELO.solrURL = "http://<SERVER ADDRESS>/"; //Endereço do SOLR com os dados da SciELO indexados
    SciELO.imageBaseURL = "http://<SERVER ADDRESS>/"; //Endereço das imagens submetidas pelo backoffice
    SciELO.serverURL = "http://<SERVER ADDRESS>/webservices/mobile/"; //Endereço dos serviços utilizados pelo aplicativo

Altrando Google Analytics

Para alterar o Tracking Id do Google Analytics utilizado pelo aplicativo, o métedo no arquivo /js/App.js deve ser alterado:

    analytics.startTrackerWithId('<TRACKING ID>'); //ID de acompanhamento do app, vinculado a uma conta do Google

Gerando versão Android

O script a baixo executa os passos necessários para gerar o pacote APK que possa ser submetido para Google Play Store.

#!/bin/bash 
cordova build android --release 
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore SciELO.keystore platforms/android/build/outputs/apk/android-release-unsigned.apk scielo -storepass <REPLACE WITH STORE PASS> -keypass <REPLACE WITH KEY PASS> -tsa http://timestamp.digicert.com 
zipalign -f -v 4 platforms/android/build/outputs/apk/android-release-unsigned.apk platforms/android/build/outputs/apk/SciELO.apk

Keystore utilizado para gerar o pacote:

Gerando versão iOS

Para gerar a versão para iOS, o comando a baixo deve ser executado na pasta raiz do projeto.

cordova build ios

Em seguida, o projeto para Xcode é gerado na pasta platforms/ios. Para sumbter uma versão para o itunes deve seguir os procedimentos padrões.

Habilitando o login do Google

Para habilitar o login tem que ser criada credencias em oauthclient

A primeira é a credencial de Aplicativo da Web usando as configurações:

No final desta configuração será gerada uma Id do cliente. Ela tem que ser inserida no arquivo LoginController.js nos campos: LoginController.IOS_API_KEY e webClientId.

- Versão para Android -

A variável Id do cliente gerada anteriormente, na credencial de Aplicativo da Web, tem que ser usada no campo REVERSED_CLIENT_ID no prepare.sh(sem aspas), mas de forma invertida.

Tem que se criar uma credencial para Android usando a configuração:

Também tem que informar o SHA-1, na pópia página Credenciais informa como obter. Para informações mais detalhadas acesse app-signing.

- Versão para IOS -

Acesse o link para criar a credencial do IOS, escolha o nome do projedo da SciELO e depois informe, como IOS Bundle ID, o nome do pacote presente no arquivo config.xml.

Após isso, habilite o Google sign-in e gere o arquivo de configuração, será apresentada uma opção de download do arquivo GoogleService-Info.plist. Neste arquivo existe a variável REVERSED_CLIENT_ID, use ela no prepare.sh(sem aspas) no campo REVERSED_CLIENT_ID