Spanish Ya no puedo capturar mensaje!! cambio algo en google???

gainax00

Member
B4X:
Sub Service_Create
    fm.Initialize("fm")
    aviso.Initialize(300, 500) '300 milliseconds, 500 hzLEVE
End Sub

Public Sub SubscribeToTopics
    fm.SubscribeToTopic("general") 'you can subscribe to more topics
End Sub

Sub Service_Start (StartingIntent As Intent)
    If StartingIntent.IsInitialized Then fm.HandleIntent(StartingIntent)
    Sleep(0)
End Sub

Sub fm_MessageArrived (Message As RemoteMessage)
    Log("Message arrived")'ya no arroja los logs
    Log($"Message data: ${Message.GetData}"$)'ya no arroja los logs
    Dim n As Notification
    n.Initialize
    n.Icon = "icon"
    n.SetInfo(Message.GetData.Get("title"), Message.GetData.Get("body"), Main)
    n.Notify(1)
    
    If Message.GetData.Get("title")=="XXX" Then 'si llegaba esto lanzaba el beep
        aviso.Beep
    Else
        aviso.Beep
    End If

End Sub
Hola!! a todos!!!
hace unos días me dedique a actualizar unas apps que capturaban el mensaje que llegaba y si ese mensaje traia XXX lanzaba un beep.
actualmente ya no realizar ninguna accion, ni los logs captura B4A
que paso?? alguna idea de que suceda??
tengo el B4A 10.9 y actualizado hasta donde se puede mis librerias y los maven
 

josejad

Expert
Licensed User
Longtime User
Hola:

Estás usando la herramienta de Erel para enviar los mensajes?

Note that messages sent from Firebase Console will not arrive in some cases. Use the B4J code to test it


También deberías actualizar a la última versión de B4A, han actualizado la librería de notificaciones:
  • Updated internal libraries: OkHttp v1.50, OkHttpUtils2 v3.00, PreoptimizedCLV v1.21, Network v1.53, B4XTable v1.22, KeyValueStore v2.31, SMM v1.12, NB6 v1.02, FirebaseNotifications v2.01, B4XCollections v1.13
 

gainax00

Member
Hola José J.!!!
no, no ocupo el senditool de erel, mando las notificaciones desde PHP.
Eh actualizado a b4a11.2 y me sale este error y no sale ahí


qué puede ser????????
 

gainax00

Member
Hola de nuevo en una nueva instalación (borre temporales, b4a, librerias, jdk, etc etc)
instale el b4a11.5 y pasa esto... alguna idea de que sale mal??


La verdad ya llevo todo el día y ninguna instalación funciona, salvo la que tenia previamente, b4a 10.9
pero está ultima no acepta ni capta notificaciones siempre me manda un NULL en la recepción de los mensajes
pero compila de maravilla las apps sin errores redundantes cómo los que mostré
 

josejad

Expert
Licensed User
Longtime User
Hola:

Borra (o mejor, crea una nueva carpeta para la instalación) y sigue en orden las instrucciones

Es decir, sigue uno a uno estos pasos
Indica que descargues uno de los dos SDK, es decir o OpenJDK 11 u Oracle JDK 8, y después al paso 2 (Si ya tienes la carpeta Android de la instalación anterior, crea por ejemplo AndroidNew, pero recuerda luego en el path de la versión 11.5 poner esta carpeta y no la de Android).


Installation​

Video tutorial:


1.Oracle Java 8 or OpenJDK 11(recommended)​

  • Download one of the following JDKs. Note that OpenJDK 11 requires Windows 64 bit.
  • OpenJDK 11 + OpenJFX 11: download link.
    License: GPL + classpath exception. License permits usage in closed commercial projects.
    (package components: OpenJDK and OpenJFX)
    Download the zip and unpack it. C:\java is a good place for it.
    It is recommended to use a tool such as 7-Zip to unzip the large package. Windows Explorer might fail to extract it properly. Installation is not required.

  • Oracle JDK 8: download link (requires creating an account).
    Check the Accept License Agreement button.
    Select "Windows x86" or "Windows x64" (for 64 bit machines) in the platforms list.
    Download the file and install it.

2. Android SDK + Required Resources​

  • You need to download two components, both of them do not require installation.
  • Download Android SDK Command line tools
    Make sure to read and agree to the SDK license. Click on the Windows command line tools to see the license.
    Android Studio is not needed and will not be affected by the command line tools (which are always required).
  • Unzip it in a folder such as C:\Android
  • Download the required resources.
  • Unzip in the same folder. It should look like this:
  • Note that you don't need to run B4A Sdk Manager, unless you want to use the Android emulator, which is less recommended.
  • These are two large zip files. It is recommended to use a tool such as 7-Zip to unzip them. We see many cases where Windows built-in zip tool fails to extract the files properly.

En cuanto a los otros errores, prueba con la aplicación de Erel, si funciona, entonces ya sabes que puede haber algún error o habría que cambiar algo en el código PHP.
Para el error de multidex, prueba a poner
B4X:
#Multidex: True

Intenta pegar los errores como texto, puedes ponerlo como "SPOILER" para que no ocupe tanto en el hilo, pero hace más cómodo copiarlo por si hay que hacer alguna búsqueda o algo.

saludos,
 

gainax00

Member
Hola de nuevo José!!
Sí, así lo hice segui paso a paso, hasta descargue el 7zip para extraer las carpetas en ese orden y las instalciones todas!!!!fueron nuevas en carpetas como AndroidX javaX o AndroidN y javaN y pasa esos errores que menciono antes.
cabe mencionar que el la instalación 11.5 beta#1, la barra de compilacion avanza y retrocede avanza y retrocede y se qeuda en ese loop.

B4X:
#Multidex: True

con respecto a eso? dónde lo veo o lo checo? o en que parte del código va, que no allo lugar??
 

gainax00

Member
Esto es el código que me lanza b4a cuando llega una notificación
B4X:
Message arrived
Message data: {}
firebasemessaging_fm_messagearrived (java line: 155)
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Object.equals(java.lang.Object)' on a null object reference
    at com.auresoftaviso.firebasemessaging._fm_messagearrived(firebasemessaging.java:155)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
    at anywheresoftware.b4a.BA$1.run(BA.java:352)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5305)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

Gracias de antemano!!!!!!!!!

Feliz!! C0d1f1c4c10n!!!!!
 

josejad

Expert
Licensed User
Longtime User
¿Puedes poner el código en tu servicio FirebaseMessaging?
 

Rubsanpe

Active Member
Licensed User
Hola. Respecto a lo de la versión 11.5 es normal, la primera vez que se compila la app se generan las versiones dex de las librerias que tienes instaladas.

Respecto a #Multidex: True debes ponerlo en el fichero Main en el apartado "#Region Project Attributes"

En el log que muestras indica "Message data: {}", asi que parece que llega vacio y eso es lo que indica el error de java.

Rubén
 

gainax00

Member
OK gracias Rubén!!
con respecto a mensaje vacio, lo raro es que
1.- sí la app está cerrada (reposo) el mensaje llega normal (texto e imagen)
2.- sí la app está abierta (activa) el mensaje marca Null, con su respectivo Log "Message data: {}"
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…