Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro no Firebase

Meu computador é AMD e não tem aceleração de hardware então não consigo ter uma emulação com o play store somente google api e não consigo o codigo do firebase quando dou o start da aplicação;

Name: Nexus_5X_API_25

CPU/ABI: Google APIs ARM (armeabi-v7a)

Path: C:\Users\Rodrigo\.android\avd\Nexus_5X_API_25.avd

Target: google_apis [Google APIs] (API level 25)

Skin: nexus_5x

SD Card: 100M

hw.dPad: no

runtime.network.speed: full

hw.accelerometer: yes

hw.device.name: Nexus 5X

vm.heapSize: 256

skin.dynamic: yes

hw.device.manufacturer: Google

hw.gps: yes

hw.initialOrientation: Portrait

image.androidVersion.api: 25

hw.audioInput: yes

image.sysdir.1: system-images\android-25\google_apis\armeabi-v7a\

hw.cpu.model: cortex-a8

tag.id: google_apis

showDeviceFrame: yes

hw.camera.back: emulated

hw.mainKeys: no

AvdId: Nexus_5X_API_25

hw.camera.front: emulated

hw.lcd.density: 420

avd.ini.displayname: Nexus 5X API 25

hw.gpu.mode: auto

hw.device.hash2: MD5:1be89bc42ec9644d4b77968b23474980

hw.ramSize: 1536

hw.trackBall: no

hw.battery: yes

hw.cpu.ncore: 4

hw.sdCard: yes

tag.display: Google APIs

runtime.network.latency: none

hw.keyboard: yes

hw.sensors.proximity: yes

disk.dataPartition.size: 800M

hw.sensors.orientation: yes

avd.ini.encoding: UTF-8

hw.gpu.enabled: yes

Então estou tentando usar um celular para o teste do projeto e recebo esse erro (fiz busca pela palavra firebase):

07-31 12:04:50.682 25653-25709/br.com.alura.agenda W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
07-31 12:04:50.692 25653-25709/br.com.alura.agenda W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
07-31 12:04:50.832 25653-25653/br.com.alura.agenda I/FirebaseCrashApiImpl: FirebaseCrashApiImpl created by ClassLoader t[DexPathList[[zip file "/data/data/com.google.android.gms/app_chimera/m/00000007/DynamiteModulesC_GmsCore_prodlmp_xhdpi_release.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]]
07-31 12:04:50.882 25653-25653/br.com.alura.agenda I/FirebaseCrashApiImpl: FirebaseCrash reporting API initialized
07-31 12:04:50.977 25653-25653/br.com.alura.agenda I/FA: To enable faster debug mode event logging run:
                                                           adb shell setprop debug.firebase.analytics.app br.com.alura.agenda
07-31 12:04:51.047 25653-25653/br.com.alura.agenda I/FirebaseCrash: FirebaseCrash reporting initialized com.google.android.gms.internal.zzbnq@9439fa8
07-31 12:04:51.047 25653-25653/br.com.alura.agenda I/FirebaseInitProvider: FirebaseApp initialization successful
07-31 12:05:03.692 25653-25917/br.com.alura.agenda I/FirebaseCrash: Sending crashes

Eu testei em dois celulares diferentes ( moto x play e galaxy s3). Como eu posso resolver o problema?

3 respostas
solução!

Oi Rodrigo, blz?

Observe que o Firebase foi inicializado já que ele apresenta a seguinte mensagem "07-31 12:04:51.047 25653-25653/br.com.alura.agenda I/FirebaseInitProvider: FirebaseApp initialization successful". Não entendi exatamente qual o problema baseando-se no que apresentou.

Apenas fazendo algumas considerações:

  • Quando o token for gerado ele vai chamar o método onTokenRefresh() e para pegar o token do FCM precisa do código conforme abaixo:
public class AgendaInstanceIDService extends FirebaseInstanceIdService {

    @Override
    public void onTokenRefresh() {
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
        Log.d("token firebase", "Refreshed token: " + refreshedToken);

    }

}

Essa parte do código não está sendo chamada? Caso for, verifique se essa classe está como serviço no manifest, também, veja que o arquivo google-services.json está adicionando no seu projeto.

Caso estiver tudo certinho, recomendo que baixe novamente o arquivo json no console do firebase e adicione no seu projeto no módulo app.

[]s

Nossa passei metade da semana passada e final de semana pesquisando. Primeiro sobre como colocar play services no emulador depois , quando fui para o celular, pesquisei sobre o "problema" do firebase.

Fui conferir o código que você apontou e eu nomeei errado:

Estava assim (Errado):

public void OnTokenRefresh(){
     ///codigo
    }

Correto:

   public void onTokenRefresh() {
     /// codigo
    }

desinstalei e subi o app novamente e :

07-31 13:51:40.427 23832-23906/br.com.alura.agenda D/token firebase: Refreshed token: fOeuZNy0d5g:APA91bFDPmrY-a1crXKTjCzFROZBDyyubZ-cT-cA04h3rhG3KKcplDd6YM621M7Wvr7Q_V27-ChphseAcpxrYbgpKYkeVEENnZhQRPI09CB6ECiXi-gMVWYFdbrFgy_bRz-7kD-U6M

Obrigado Alex pela ajuda. :)

Opa Rodrigo de nada, que bom que deu tudo certo!

Normal, às vezes acontece mesmo hehe

Precisando de ajuda é só avisar.

Bons estudos.

[]s