Notificaciones push en Android paso a paso | Xamarin Forms

Поділитися
Вставка
  • Опубліковано 12 вер 2024
  • Implementa Notificaciones Push (Push Notification) de Firebase a tu proyecto Android con Xamarin Forms de manera sencilla
    Link del proyecto: github.com/Fon...
    Link de la documentación: docs.microsoft...

КОМЕНТАРІ • 71

  • @babakua01
    @babakua01 3 роки тому +1

    Excelente video, personalmente busque muchos videos y este fue el mas completo, corto, facil de entender. Aunque muchos puedan entender que es complicado pero tiene su complejidad realizar este integración de firebase con Xamarin y esta muy bien lo pude realizar. Nota deben de colocar las versiones de los nutget que se indican me puse a utilizar los mas recientes y me estaban dando un error lo hice tal cual como se explica en el video y todo perfecto, felicitaciones por este video!!!!

    • @fonsusproguer
      @fonsusproguer  3 роки тому +1

      Saludos amigo. Me alegra que te haya sido de ayuda 👌

  • @luisdavidacevedomunoz3857
    @luisdavidacevedomunoz3857 3 роки тому +3

    Qué gran apoyo, me sacaste de un mega apuro, ya siento que te amo 🥰🥰🥰🥰🥰🥰. jajajaja
    ¡Muchas gracias!

    • @fonsusproguer
      @fonsusproguer  3 роки тому +1

      jajaja. Me alegra que te sea de ayuda. Un saludo amigo

  • @AndresHernandez-lc9po
    @AndresHernandez-lc9po 3 роки тому +1

    Excelente información. Lo realice paso a paso y ya esta todo operativo. Gracias desde Venezuela. Saludos

  • @ballenatoskelly
    @ballenatoskelly 4 роки тому +1

    Muy buen video fácil, corto y funcional excelente saludos desde colombia.

  • @CodeWarpiece
    @CodeWarpiece 3 роки тому +1

    Seria genial que hagas esto pero para iOS, bueno video bro.

    • @fonsusproguer
      @fonsusproguer  3 роки тому +2

      Hola @Code War, estará en la lista 😉👌. Saludos

  • @marcosguerrero6403
    @marcosguerrero6403 3 роки тому +1

    Grande Crack, me ayudo un montón!
    Éxitos bro.

    • @fonsusproguer
      @fonsusproguer  3 роки тому +1

      Gracias, Saludos amigo, me alegra que te haya sido de ayuda

  • @jorgeleonardocastroarana9022

    Muy buen video compa, excelente. No tendras poor ahi el video de activar el metodo cuando se envie la notificacion y la app este minimizada? lo que decias a lo último del video que con una api

  • @drackkeyner
    @drackkeyner 3 роки тому +1

    Si les sale un Error al inciar la App instalen esto Xamarin.Google.Dagger

  • @nicolascrespo3932
    @nicolascrespo3932 2 роки тому +1

    Y que sucede cuando solo quieres enviar la notificacion a un solo cliente, sabiendo quien es ?

  • @AndrésSanJuan-j6p
    @AndrésSanJuan-j6p 8 місяців тому

    Hola, actualmente aplique el código y funciono solo tengo una duda quiero que se solicite el permiso para mostrar las notificaciones al instalar la app pero no se cuales son los permisos que hay que solicitar para las notificaciones trabajo con el permiso de camara y location pero el de notificaciones no se cuales sean, utilizo el siguiente codigo en MainActivity
    readonly string[] Permission =
    {
    Android.Manifest.Permission.Camera
    };
    //Solicitar permisos declarados en el array
    RequestPermissions(Permission, RequestApp);
    Me solicita los declarados pero no el de notificaciones, ese lo solicita en tiempo de ejecución al enviar el primer mensaje.

  • @juanpablopatinobedoya1561
    @juanpablopatinobedoya1561 Рік тому

    muchas gracias, me sirvió bastante

  • @helmerherreraherrera1124
    @helmerherreraherrera1124 10 місяців тому

    no puedo obtener el token en visial studio 2022, no se detiene en el punto de interrupcion

  • @lucianojuarez1106
    @lucianojuarez1106 3 роки тому +2

    Exelente el tutorital, yo tengo una consulta : Si yo quiero entrar(abirir) a la notificación y que me lleve hacia la una pág especifica, como se hace?.

    • @fonsusproguer
      @fonsusproguer  3 роки тому +3

      Hola amigo, si puedes puedes obtener la información de la notificación haciendo uso del método en Android: OnNewIntent
      Te comparto el link donde puedes obtener más información detallada: docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/local-notifications#create-the-ios-interface-implementation
      Para abrir una página específica no existe ningún método que pueda hacer eso, pero puedo sugerirte lo siguiente:
      1.- Al momento de recibir la notificación en segundo plano, en el método OnMessageReceived guardes un Preference por Ejemplo:
      string initPage= "ChatPage";
      Preferences.Set("initPage", initPage);
      2.-Al momento de inicar la app en tu App.xaml.cs valides si existe esa prefencia, en caso de existir, validar que página va iniciar
      Preferences: docs.microsoft.com/en-us/xamarin/essentials/preferences?tabs=android

  • @epsalao
    @epsalao Рік тому

    Muito obrigado pelo conteúdo! Fiz aqui e deu tudo certo! Grande abraço!!!!

    • @fonsusproguer
      @fonsusproguer  Рік тому

      Amigo, me alegra que te sea de ayuda 👌. Saludos

  • @XBRAVO10
    @XBRAVO10 3 роки тому

    Muchas gracias, excelente video

  • @erwincortes2015
    @erwincortes2015 2 роки тому

    Hola que tal, he visto los videos que tienes de notificación y muy bien explicado!! Seguí este video y me funcióno perfecto la notificación, pero a la hora de implementarlo en un proyecto que tiene un login y una ventana de presentación antes de login la notificaciones no me funcionan, ni siquiera entra a la función para crear un token, como en tu video mencionas quite la app y la volví a instalar y no. He buscado información pero no. Sabrás a que se debe?? Espero que se entienda mi problema, saludos.

  • @concienciahiphop
    @concienciahiphop 7 місяців тому

    una consulta, si tuviera la app abierta en 5 dispositivos, a los 5 les llega la notificación?

  • @madrigalnaranjosluisarturo5585

    Excelente!! Gracias..

  • @bomboschgonzalez7179
    @bomboschgonzalez7179 4 роки тому +1

    Hola, muchas gracias!!!!

  • @salazarcontreraserickferna9713
    @salazarcontreraserickferna9713 2 роки тому +1

    si instalo la apk en un telefono fisico como obtendria el token?

    • @fonsusproguer
      @fonsusproguer  2 роки тому +1

      Hola amigo, el proceso para obtener el token es el mísmo tanto en un dispositivo físico como en el emulador.
      Mas bien al momento de obtener el token, debes almacenarlo en tu base de datos, esto puede ser en el método SendRegisterToken
      Puedo sugerirte lo siguiente:
      1.- En el método OnNewToken almacenar el token en un Preference (puedes usar SecureStorage)
      2.- Al momento que el usuario se loguee, enviar el token del dispositivo que guardaste en un Preference, a tu Web Api a través del método POST, para guardarlo vinculado al ID del usuario.
      Saludos.

    • @salazarcontreraserickferna9713
      @salazarcontreraserickferna9713 2 роки тому

      @@fonsusproguer ok amigo el problema es que no tengo cel y pues un amigo me hizo el favor de descargar la app y pues quiero saber como puedo registrarlo, esa es mi duda, se puede hacer y como, estoy un poco perdido y apenas voy empezando, gracias por responderme :))

  • @alejandrodiaz1172
    @alejandrodiaz1172 Рік тому

    Hola, tendrias un video asi pero para iOS?

  • @spaywareml2016
    @spaywareml2016 Рік тому

    A mi no me funcionó, voy a intentar de nuevo

  • @pn_slender1408
    @pn_slender1408 3 роки тому +1

    como se haria cuando la app esta cerrada?

    • @fonsusproguer
      @fonsusproguer  3 роки тому +2

      Hola amigo. Te comparto el link del video donde te explico como puedes seguir recibiendo notificaciones push, aún cuando la app está cerrada, o en primer y segundo plano
      ua-cam.com/video/DN6jeF6_M8E/v-deo.html

  • @MiguelPrieto
    @MiguelPrieto 3 роки тому +1

    Muy buen video me ayudo un monton.... pero esta obsoleto, el metodo OnNewToken no es invocado nunca. Conoces alguna solucion?

    • @fonsusproguer
      @fonsusproguer  3 роки тому +1

      Hola amigo, el IDE te indica que el método está obsoleto? o simplemente por que al hacer tus pruebas no entra al método?
      Quizá pueda ser parte de la implementación.
      Te recomiendo revisar, que tengas intalados los nuget solicitados en el video, tambien puedes intentar probando las versiones de nuget que se usan en este tutorial.
      De todas maneras te comparto el link de la documentación. Espero que te sea de ayuda. Saludos👌
      docs.microsoft.com/en-us/xamarin/android/data-cloud/google-messaging/remote-notifications-with-fcm?tabs=windows

    • @MiguelPrieto
      @MiguelPrieto 3 роки тому +1

      @@fonsusproguer Si hay una diferencia muy grande en las versiones... tu usas Firebase.Messaging 71.1740 GooglePlayService.Base 71.1610.4 - Actualmente las ultimas versiones son 121.0.1 y 117.6.0 respectivamente. Cuento 6 versiones atras, sería de mucha ayuda si lo actualizas :D ... muchisimas gracias tu aporte ayuda un monton

  • @anthonyinuma2933
    @anthonyinuma2933 4 роки тому +1

    Hola muchas gracias podrias hacer un crud mostrar, insertar,modificar ,eliminar y buscar muchas gracias saludos desde Peru

    • @fonsusproguer
      @fonsusproguer  4 роки тому

      Saludos amigo, claro, ¿te refieres a un crud con api rest o sqlite?

    • @fonsusproguer
      @fonsusproguer  3 роки тому

      @Anthony Inuma, te comparto el link donde puedes encontrar los videos de CRUD con SQLite y Entity Framework Core: ua-cam.com/video/bQJLH8no01E/v-deo.html
      Un saludo amigo.

  • @helkinchacon8479
    @helkinchacon8479 2 роки тому +1

    Hola, oye hay alguna manera de refrescar ese Token? sucede que queda estatico pero en mi backend del proyecto web lo relacionamos al usuario que haga login en la app, en el login se registra, pero en caso de cerrar sesion e iniciar sesion con otro usuario podria tener problemas, como podria hacer un refresh de ese token?

    • @fonsusproguer
      @fonsusproguer  2 роки тому +1

      Hola @Helkin Chacon, te comento, el token para las notificaciones no son un tipo de token para sesión de usuario. Para entenderlo más fácilmente, el token generado por firebase, realmente es similar a un ID de dispositivo, el cual no debe cambiar. Aunque existen circunstancias drásticas por la cual el token se refresca, explicado en el siguiente enlace:
      firebase.google.com/docs/cloud-messaging/manage-tokens?hl=es-419#retrieve-and-store-registration-tokens
      Por otro lado, por lo que veo, lo que realmente tú necesitas es implementar JWT authentication, usando la clase estática Preferences para almacenar los tokens con SecureStorage.
      Espero te sea de ayuda. Saludos 👌

    • @helkinchacon8479
      @helkinchacon8479 2 роки тому +1

      @@fonsusproguer Gracias, fijate que si, no habia comprendido bien el tema del token, realmente no habia ningun problema ya que al registrar el token en mi servicio, en el backend podian configurar para que se enviara notificacion donde coincidiera id de usuario y token, no hay problema, fijate que me surge otra duda, tienes alguna guia o video donde expliques como redirigir a diferentes pages de la app dependiende de algun key o identificador de la notificacion, ejemplo notificacion de chat a pantalla de chat, de nueva orden a pantalla de ordenes y asi?
      Gracias por responder, un saludo!

    • @fonsusproguer
      @fonsusproguer  2 роки тому

      Hola, Para abrir una página específica (hasta la fecha) no existe ningún método que pueda hacer eso, pero puedo sugerirte lo siguiente:
      1.- Al momento de recibir la notificación en segundo plano, en el método OnMessageReceived guardes un Preference por Ejemplo:
      string initPage= "ChatPage";
      Preferences.Set("initPage", initPage);
      2.-Al momento de inicar la app en tu App.xaml.cs valides si existe esa preferencia, en caso de existir, validar que página se debe iniciar en tu MainPage = new MyCustomPage();
      El valor de "initPage" también lo puedes enviar desde tu WebApi, en el siguiente video explico muy bien, como puedes enviar valores personalizados
      Enviar Notificaciones Push en Android desde Web Service PHP | Xamarin Forms 📲
      ua-cam.com/video/DN6jeF6_M8E/v-deo.html
      Documentación:
      Preferences: docs.microsoft.com/en-us/xamarin/essentials/preferences?tabs=android
      Saludos 👌

    • @helkinchacon8479
      @helkinchacon8479 2 роки тому

      @@fonsusproguer Mira fijate que antes de venir a ver el comentario llegue a esa conclusion, pero el problema es onmessagereceived es ejecutado solo en primer plano, osea para que mi preference sea digamos true que es para ir a mi dashboard de notifcaciones la app tiene que esta en primer plano, si esta en segundo plano la notificacion cae pero nunca se ejecura onmessagereceived, esto lo se debuggeando la app.
      En resumen si la app esta en primer plano se ejectua on messagereceived pero la notificacion no cae, y en segundo plano cae la notificacion pero onmesssagereceived no es ejectuado :(
      Disculpa molestarte tanto de antemano.

    • @fonsusproguer
      @fonsusproguer  2 роки тому

      Amigo, al parecer no has revisado el video que te recomendé, no se como podré ayudarte. Revisa el video, te dará un mejor panorama, ahí te explico como puedes recibir notificaciones push en primer plano, segundo plano o cuando la app está cerrada. El link es el siguiente:
      Enviar Notificaciones Push en Android desde Web Service PHP | Xamarin Forms 📲
      ua-cam.com/video/DN6jeF6_M8E/v-deo.html
      Espero que te sea de ayuda. Saludos 👌

  • @EdRawrDev5813
    @EdRawrDev5813 3 роки тому +1

    Hola , muchas gracias por el video, tengo una duda, justo cuando le doy el break point a OnNewToken en MyFireBaseMessagingService despues de correrlo jamas llega ese break point, hay algo que me salte o alguna razon por la cual no esta llegando, revise el repo de git y creo que tengo todo bien , no me da ningun error simplemente nunca se ejecuta mi clase MyFireBaseMessagingService, sabes que podra estar haciendo mal? excelente video muchas gracias de verdad

    • @fonsusproguer
      @fonsusproguer  3 роки тому +1

      Hola amigo, puedes revisar lo siguiente:
      1.- Desinstalar y volver a instalar la app en tu dispositivo
      2.- Revisa que los Servicios de Google Play esté activo en el dispositivo.
      3.- Revisa que el método OnNewToken sea un método Override.
      4.- Revisa que tu clase MyFirebaseMessagingService esté declarado como un servicio ya sea en la clase como se muestra en el video, o en el manifiesto de Android
      Saludos 👍

    • @EdRawrDev5813
      @EdRawrDev5813 3 роки тому

      @@fonsusproguer ok ya cheque y el resultCode del googleApiAviablility me da 0 , supongo que necesito un 100, isGooglePlayServce me da false , hay alguna forma de resolver esto??

    • @fonsusproguer
      @fonsusproguer  3 роки тому

      Hola @Ed Push & Pop
      Me imagino que estás utilizando un emulador para tus pruebas, si es el caso, necesitas instalar Google Play Service en tu emulador y reiniciarlo posteriormente, también puedes revisar la validación que agregué en el MainActivity.cs para la comprobación ua-cam.com/video/ULcrCsdOMu0/v-deo.html
      En cuanto el valor que retorna googleApiAviablility, te comparto este link que describe los diferentes números de respuesta: developers.google.com/android/reference/com/google/android/gms/common/GoogleApiAvailability#isGooglePlayServicesAvailable(android.content.Context)
      Saludos

    • @EdRawrDev5813
      @EdRawrDev5813 3 роки тому

      @@fonsusproguer si estoy implementando el IsPlayServicesAvailable() para verificar ahi es donde me voy cuenta que esta en false, debo instalar algo dentro del telefono desde el app store?

    • @fonsusproguer
      @fonsusproguer  3 роки тому

      Así es @Ed Push & Pop, como mencionaba debes instalar Google Play Service, no de la app store, sino de Google Play Store en Android, en caso de que lo estés realizando para iOS no funcionará ya que el tutorial está orientado hacia la plataforma de Android
      Adicional a esto, en caso de que estés usando el emulador en Genymotion, éste emulador cuenta con un botón en el dispositivo emulado que se llama Open GApps que te permite instalar los servicios de Google sin tener que entrar a la Play Store
      Saludos

  • @famafinanciera2042
    @famafinanciera2042 3 роки тому

    Hola una pregunta, para cada dispositivo se genera un token?

    • @fonsusproguer
      @fonsusproguer  3 роки тому

      Hola @FAMA FINANCIERA, así es, ya que Firebase lo utiliza como identificador, y así poder enviar las notificaciones a dispositivos específicos. Saludos

  • @bliitzeg
    @bliitzeg 3 роки тому

    Y como se puede enviar las notificaciones de un telefono a otro. por ejemplo etelefono uno envia la notificacion y el telefono 2 lo recibe.

    • @fonsusproguer
      @fonsusproguer  3 роки тому +1

      Hola @Eduardo Guzman, no sería buena práctica, ya que tendrías que almacenar datos secretos en tu app, pero puedes realizarlo ejecutando la url del servicio de FCM a través de HttpClient

    • @bliitzeg
      @bliitzeg 3 роки тому

      @@fonsusproguer Estaba revisando con el servicio de azure para notificaciones push pero solo es gratuito hasta 500 dispositivos activos.

    • @fonsusproguer
      @fonsusproguer  3 роки тому +1

      @Eduardo Guzman Si entiendo, te recomiendo crear tu propio servicio. Por lo pronto no tengo un video para el envio de notificaciones con .Net, pero te comparto uno que realiza lo envios de la notificaciones a través un servicio web con PHP, igual y pueda servirte para tomar ideas. Saludos
      ua-cam.com/video/DN6jeF6_M8E/v-deo.html
      "Enviar Notificaciones Push en Android desde Web Service PHP | Xamarin Forms 📲"

  • @informatica-unt513
    @informatica-unt513 3 роки тому +1

    Hola bro que tal, porque mi proyecto ya creado funciona bien y al agregar los nuggets y clases ahora me bota este error.
    Could not find 19 Android X assemblies, make sure to install the following NuGet packages:
    - Xamarin.AndroidX.Lifecycle.LiveData
    - Xamarin.AndroidX.Browser
    - Xamarin.Google.Android.Material
    - Xamarin.AndroidX.Legacy.Support.V4
    You can also copy-and-paste the following snippet into your .csproj file:



    app.Android

    • @fonsusproguer
      @fonsusproguer  3 роки тому

      Hola Informática-unt, al parecer el error es aislado al tema del video y las clases que se usan, pero puedes intentar lo siguiente:
      1.-Antes que nada prueba reiniciar tu proyecto en VS 🔃
      2.-Actualizar tus paquetes nuget o reinstalar lo paquetes faltantes 📦
      3.-Probablemente se produjo una migración de proyecto y tengas que realizar la migración de packages.config a PackageReference, te dejo el link de la documentación: docs.microsoft.com/en-us/nuget/consume-packages/migrate-packages-config-to-package-reference

    • @informatica-unt513
      @informatica-unt513 3 роки тому

      ​ @Fonsus Proguer hola, no tube exito, al parecer apenas agrego los 2 nuggets para firebase, hago debug y me aparece ese error, agrego los nuggets que me dice que tengo que agregar y ya no me sale ese error si no que me falta 3 errores que segun tengo entendido es por el cambio de java 7 y 8, entonces no podría usar esos nuggets?.

    • @informatica-unt513
      @informatica-unt513 3 роки тому +1

      hola bro, lo que soluciono mi problema fue, instalar los nuggets pero las versiones que muestras en tu video.

    • @fonsusproguer
      @fonsusproguer  3 роки тому

      Saludos Informatica - unt , me alegra que se haya solucionado el problema. Gracias por tu solución 👌