Olá! Preciso de uma ajuda.
Estou dentro de uma rede que exige uma configuração de proxy, para fazer uso de links externos. Consigo manipular normalmente no Android Studio e rodar no emulador as requisições que utilizam, tanto o acesso de servidor (localhost:8080), quanto o uso Firebase e Cloud messaging.
Porém, entre o servidor (localhost), configurado no arquivo server.jar, e o Firebase, estou tendo problemas. Pois, ao inserir a "Chave do servidor" do Firebase no Api Key, de configuração do Firebase no servidor local, recebo uma mensagem de Timeout:
There was an unexpected error (type=Internal Server Error, status=500).
connect timed out
Necessito de configurar o proxy interno no server localhost, como posso fazer este ajuste?
Agradeço pela ajuda!
UPDATE - 15/06 - 16:20
Consegui configurar o proxy, da seguinte forma:
java -Dhttp.proxyHost=seuproxy -Dhttp.proxyPort=80 -Dhttps.proxyHost=seuproxy -Dhttps.proxyPort=80 -jar server.jar
Conforme descrevi na resposta abaixo e, com isso, consegui inserir o API KEY, com sucesso.
O problema agora é, ao inserir o Aluno no servidor local, não está aparecendo o Log ("Mensagem recebida"), com a aplicação executando, no Android Studio.
OBS: As demais funcionalidades, de atualização de dados do SQLite, efetuada manualmente, executada com o Swipe Refresh e a mensagem feita no google cloud, pelo Firebase, estão funcionando na aplicação.
UPDATE - 18/06 - 11:00
Continuo tentando resolver o problema da notificação de atualização de cadastro de alunos. Eu não consigo identificar a causa do problema.
Preciso de um auxílio, já que ao adicionar um novo aluno, eu não recebo o Log de "mensagem recebida" na classe AgendaMessagingService.
public class AgendaMessagingService extends FirebaseMessagingService {
@Override public void onMessageReceived(RemoteMessage remoteMessage) { super.onMessageReceived(remoteMessage); Map mensagem = remoteMessage.getData(); Log.i("Mensagem recebida", String.valueOf(mensagem)); }
Primeira ponto de possível causa:
Estou recebendo uma mensagem de Warning: The app gradle file must have a dependency on com.google.firebase:firebase-core for Firebase services to work as intended.
Segue abaixo o gradle:
// restante do código
dependencies {
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-jackson:2.3.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
implementation 'com.google.firebase:firebase-messaging:17.0.0'
implementation 'com.google.firebase:firebase-analytics:16.0.0'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-location:15.0.1'
implementation 'com.androidhuman.rxfirebase2:firebase-core:16.0.0.0'
}
apply plugin: 'com.google.gms.google-services'
O único "firebase-core", que encontrei na busca de dependências foi o "com.androidhuman.rxfirebase2:firebase-core:16.0.0.0".
Segundo ponto, mas não sei como analisar:
Como eu identifico que o servidor local, está conectado corretamente com o firebase, além do "check" da API Key? Pois, toda vez que entro novamente em "configuração do firebase", este "check" só aparece quando eu clico em salvar novamente.
Como eu verifico que, quando ao inserir um novo aluno, o firebase está de fato enviando a notificação para o aplicativo?
Fico no aguardo, desde já agradeço qualquer ajuda!