Spanish [SOLUCIONADO] Problemas con el chat de Firebase Cloud Messaging

GeoT

Active Member
Licensed User
Hola.
Estoy probando el chat de dar2o3: https://www.b4x.com/android/forum/threads/firebase-integrando-a-tu-app.70551/page-2#post-455751

Y me da el siguiente error:

B4X:
firebasemessaging_subscribetotopics (java line: 184)
java.lang.NoSuchMethodError: com.google.firebase.messaging.FirebaseMessaging.subscribeToTopic
    at anywheresoftware.b4a.objects.FirebaseNotificationsService$FirebaseMessageWrapper.SubscribeToTopic(FirebaseNotificationsService.java:126)
    at xerp.xerpchat.firebasemessaging._subscribetotopics(firebasemessaging.java:184)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:186)
    at anywheresoftware.b4a.keywords.Common$11.run(Common.java:1135)
    at android.os.Handler.handleCallback(Handler.java:725)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:176)
    at android.app.ActivityThread.main(ActivityThread.java:5319)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
    at dalvik.system.NativeStart.main(Native Method)
--------- beginning of /dev/log/system

Y se cierra la aplicación.

¿Qué está fallando? ¿Cómo se resuelve?
Gracias.
 
Last edited:

Seneca

Active Member
Licensed User
Hola.

Hace un tiempo probé ese Chat que indicas y me funcionaba correctamente. En aquel momento yo tenía B4A v6.5.
.
A raíz de tu consulta, ahora vuelvo a probar el chat con B4A v8.00 y me lanza un error parecido al que tú indicas.

No sé qué versión de B4A estarás usando, pero he buscado al respecto y parece ser que hay alguna incompatibilidad de B4A v.8 con las suscripción de temas en FCM. En el hilo: https://www.b4x.com/android/forum/t...ging-issue-with-v8-00-subscribetotopic.93423/ lo comentan y en el mensaje #4 Erel aporta una nueva version de la librería Firebase Notifications. Aunque la he descargado e instalado en B4A (sustituyendo a la interna), no he conseguido resolver el problema. Pero me da a mí que van por aquí los tiros.

Es posible que haya de instalar una Rev. de Android superior en el Manager.

Puedes investigar por el hilo que te comenté antes o por este otro: https://www.b4x.com/android/forum/threads/error-firebase-with-b4a-v8.93434/ a ver si tienes suerte.

Saludos.
 

GeoT

Active Member
Licensed User
Hola Séneca. Gracias.

Estoy utilizando la versión 7.80 de B4A.
Actualicé la librería FirebaseNotifications a la versión 1.21, tal como me dijiste.

Pero esos hilos no me aclaran nada y me muestra otro error sobre el mismo método. :(

B4X:
firebasemessaging_subscribetotopics (java line: 189)
java.lang.NullPointerException
    at com.google.firebase.messaging.FirebaseMessaging.subscribeToTopic(Unknown Source)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at anywheresoftware.b4a.agraham.reflection.Reflection.runmethod(Reflection.java:216)
    at anywheresoftware.b4a.agraham.reflection.Reflection.RunMethod2(Reflection.java:817)
    at xerp.xerpchat.firebasemessaging._subscribetotopics(firebasemessaging.java:189)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:186)
    at anywheresoftware.b4a.keywords.Common$11.run(Common.java:1135)
    at android.os.Handler.handleCallback(Handler.java:725)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:176)
    at android.app.ActivityThread.main(ActivityThread.java:5319)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
    at dalvik.system.NativeStart.main(Native Method)
 

Seneca

Active Member
Licensed User
Hola.

Como comentaba, este chat me funcionó perfectamente con B4A v6.5, y es por lo que pienso que algo debe de haber de incompatible entre las nuevas versiones de B4A y las librería de FCM usada. A ver si el compañero @dar2o3 tuviese ocasión de repasar su chat y diese con la causa del problema.

Saludos.
 

Seneca

Active Member
Licensed User
He seguido investigando y en uno de lo hilos que te indiqué anteriormente leo que hay que actualizar el Manifest Editor a la hora de usar Firebase.

Prueba a sustituir en el Manifest Editor todo lo relativo a Firebase por lo siguiente:

B4X:
CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)
CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)

Yo no puedo probarlo porque el error que a mí me salta al ejecutar el chat es otro distinto al tuyo.

Suerte.
 

GeoT

Active Member
Licensed User
Hola Séneca.

Lo prové, pero como mi versión de B4A no es la 8, me muestra el error

B4X:
Referencia a objeto no establecida como instancia de un objeto.

Si, a ver si alguien encuentra la solución.
 

Seneca

Active Member
Licensed User
Hola Séneca.

Lo prové, pero como mi versión de B4A no es la 8, me muestra el error

B4X:
Referencia a objeto no establecida como instancia de un objeto.

Si, a ver si alguien encuentra la solución.

A ver si el compañero @dar2o3 viese este hilo y diese con la solución.

Saludos.
 
Top