{"id":28221232,"url":"https://github.com/pierre-juarez/push_notifications_app_android","last_synced_at":"2026-05-05T23:31:45.623Z","repository":{"id":293695167,"uuid":"984855605","full_name":"pierre-juarez/push_notifications_app_android","owner":"pierre-juarez","description":"Proyecto Flutter que implementa notificaciones push usando Firebase Cloud Messaging (FCM) en Android, con sonido e ícono personalizados.  👀🔥","archived":false,"fork":false,"pushed_at":"2025-05-16T16:17:57.000Z","size":317,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-10T11:42:07.380Z","etag":null,"topics":["custom-notifications","firebase","firebase-messaging","flutter","local-notifications"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pierre-juarez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-16T16:12:04.000Z","updated_at":"2025-05-16T16:20:55.000Z","dependencies_parsed_at":"2025-05-16T17:39:29.763Z","dependency_job_id":null,"html_url":"https://github.com/pierre-juarez/push_notifications_app_android","commit_stats":null,"previous_names":["pierre-juarez/push_notifications_app_android"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pierre-juarez/push_notifications_app_android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierre-juarez%2Fpush_notifications_app_android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierre-juarez%2Fpush_notifications_app_android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierre-juarez%2Fpush_notifications_app_android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierre-juarez%2Fpush_notifications_app_android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pierre-juarez","download_url":"https://codeload.github.com/pierre-juarez/push_notifications_app_android/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierre-juarez%2Fpush_notifications_app_android/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32672557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["custom-notifications","firebase","firebase-messaging","flutter","local-notifications"],"created_at":"2025-05-18T05:16:03.019Z","updated_at":"2026-05-05T23:31:45.615Z","avatar_url":"https://github.com/pierre-juarez.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔔 Flutter Firebase Push Notifications (Android Custom Sound \u0026 Icon)\n\nEste proyecto Flutter implementa notificaciones push en Android utilizando **Firebase Cloud Messaging (FCM)**. Incluye configuración para reproducir **sonido personalizado** y mostrar un **ícono personalizado** al recibir la notificación, incluso cuando la app está en segundo plano o cerrada.\n\n## 🚀 Características\n\n- 📲 Integración con Firebase Cloud Messaging.\n- 🌓 Recepción de notificaciones en foreground, background y terminated.\n- 🔊 Sonido personalizado para notificaciones.\n- 🎨 Ícono de notificación personalizado.\n- 🤖 Soporte exclusivo para Android.\n\n## 📦 Dependencias principales\n\n```yaml\nfirebase_core: ^2.x.x\nfirebase_messaging: ^14.x.x\n```\n\n\u003e Asegúrate de revisar [pub.dev](https://pub.dev/packages/firebase_messaging) para las versiones más recientes.\n\n---\n\n## 🔧 Configuración\n\n### 1. 🔥 Firebase Setup\n\n- Crea un proyecto en [Firebase Console](https://console.firebase.google.com).\n- Agrega tu app Android (`com.tuempresa.tuapp`).\n- Descarga el archivo `google-services.json` y colócalo en `android/app/`.\n\n### 2. ⚙️ Configura Android\n\nEn tu `android/build.gradle`:\n\n```gradle\nclasspath 'com.google.gms:google-services:4.4.0'\n```\n\nEn `android/app/build.gradle`:\n\n```gradle\napply plugin: 'com.google.gms.google-services'\n```\n\nAgrega los permisos al `AndroidManifest.xml`:\n\n```xml\n\u003cuses-permission android:name=\"android.permission.INTERNET\"/\u003e\n\u003cuses-permission android:name=\"android.permission.POST_NOTIFICATIONS\"/\u003e\n```\n\n### 3. 🔊 Sonido Personalizado\n\n1. Crea una carpeta `res/raw` dentro de `android/app/src/main/`.\n2. Agrega tu archivo de sonido `.mp3` o `.wav` (ejemplo: `noti_sound.mp3`).\n3. El nombre **debe estar en minúsculas** y sin guiones ni espacios.\n\n### 4. 🖼️ Ícono Personalizado\n\n1. Crea tu ícono en blanco (formato `.png`, fondo transparente).\n2. Agrégalo en `android/app/src/main/res/drawable` con el nombre `ic_notification.png`.\n3. También puedes usar [Android Asset Studio](https://romannurik.github.io/AndroidAssetStudio/icons-notification.html).\n\n---\n\n## 📬 Envío de notificaciones desde Firebase\n\nEjemplo de payload desde Firebase Console:\n\n```json\n{\n  \"to\": \"FCM_TOKEN\",\n  \"notification\": {\n    \"title\": \"¡Hola Pierre!\",\n    \"body\": \"Esto es una notificación con sonido e ícono personalizado\",\n    \"sound\": \"noti_sound\"\n  },\n  \"android\": {\n    \"notification\": {\n      \"icon\": \"ic_notification\"\n    }\n  }\n}\n```\n\n---\n\n## 🧪 Pruebas en Foreground / Background / Terminated\n\nAsegúrate de manejar bien los distintos estados con los métodos de `FirebaseMessaging`:\n\n```dart\nFirebaseMessaging.onMessage.listen((RemoteMessage message) {\n  // App en primer plano\n});\n\nFirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {\n  // Notificación clickeada\n});\n```\n\n---\n\n## ✅ Estado del proyecto\n\n🚧 En desarrollo — ¡contribuciones y sugerencias son bienvenidas!\n\n---\n\n## 👨‍💻 Créditos\n\nDesarrollado con ♥️ por [Pierre Juarez](https://www.linkedin.com/in/pierre-juarez/) 😊\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpierre-juarez%2Fpush_notifications_app_android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpierre-juarez%2Fpush_notifications_app_android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpierre-juarez%2Fpush_notifications_app_android/lists"}