Spanish [SOLUCIONADO] Icono en notificación Firebase

RAFA BRAVO

Active Member
Licensed User
Longtime User
Hola buenas tardes, envió notificaciones desde firebase basándome en el tutorial: https://www.b4x.com/android/forum/t...s-firebase-cloud-messaging-fcm.67716/#content
todo funciona bien, excepto que el icono en la notificación no aparece. Entiendo que con:
B4A:
n.Icon = "icon"
debería de aparece el Icono de la app, pero aparece solo un cuadrado gris, sin mas. Tengo entendido que el icono aparecerá sin color, en tono gris, pero yo no consigo que aparezca nada.
mi icono es un archivo .png. he leído algo de la librería NB6. Alguna idea?
 

josejad

Expert
Licensed User
Longtime User
Hola Rafa:

Creo recordar que para que me funcionara tuve que usar la librería NB6 porque me pasaba lo mismo.

Añades la librería, y en el servicio FirebaseMessaging lo pones así

B4X:
Sub Process_Globals
    Private fm As FirebaseMessaging
    Private iconoNotificacion As Bitmap
End Sub

Sub Service_Create
    fm.Initialize("fm")
    iconoNotificacion = LoadBitmapResize(File.DirAssets, "logo.png", 36dip, 24dip, False)
End Sub

Sub fm_MessageArrived (Message As RemoteMessage)
    Log("Message arrived")
    Log($"Message data: ${Message.GetData}"$)
'    Dim n As Notification
'    n.Initialize
'    n.Icon = "notificacion"
'    n.AutoCancel = True
'    n.SetInfo(Message.GetData.Get("title"), Message.GetData.Get("body"), Main)
'    n.Notify(1)
    Dim n As NB6
    n.Initialize("default", Application.LabelName, "DEFAULT").AutoCancel(True).SmallIcon(iconoNotificacion)
    n.Build(Message.GetData.Get("title"), Message.GetData.Get("body"), "tag1", Main).Notify(4) 'It will be Main (or any other activity) instead of Me if called from a service.
    Service.StopAutomaticForeground 'remove if not using B4A v8+.
End Sub
 

RAFA BRAVO

Active Member
Licensed User
Longtime User
Si, lo he descargado y le he estado pegando un vistazo. Luego probare tus indicaciones, ademas de otras cosas interesantes que he visto por ahí. Gracias, luego comento.
 
Top