Code Monkey home page Code Monkey logo

fcm-toolbox's Introduction

FCM toolbox

This public toolbox allows you to easily test and debug the Firebase Cloud Messaging service.

  • Send and receive FCM messages
  • Manage registered devices
  • Self-hosting capabilities

On the public toolbox versions, users share the same FCM and FRD instances, be responsible!

demo

Android app

Download the latest public version on the Play Store or choose your release version.

  • Notify its presence and send its FCM token to a remote server
  • Issue a notification for each message
  • Retain all received messages

android_empty android_lis android_notifications

Configuration

You can build your own version of the Android FCM toolbox app and provide your own google-services.json file.
See official documentation.

Web app

The public web app is located at https://fcm-toolbox-public.web.app

  • Send multiple types of payloads
  • Maintain a local list of devices
  • See online devices

web

Configuration

You can host your own version of the web FCM toolbox or simply provide your own Firebase identifiers.
See official documentation.

web_configuration

fcm-toolbox's People

Contributors

dependabot[bot] avatar github-actions[bot] avatar gradle-update-robot avatar renovate[bot] avatar simonmarquis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fcm-toolbox's Issues

No token, just ```MISSING_INSTANCEID_SERVICE```

I get MISSING_INSTANCEID_SERVICE in titlebar and toast.

How can I debug?

I use microG. FCM-toolbox did not registered, but some other apps can receive message.

Versions

  • FCM toolbox : 1.8.4
  • microG Services Core : 0.2.22.212658
  • microG Services Framework Proxy : 0.1.0

Is it possible to migrate to Firebase Cloud Messaging API?

I just started using Firebase recently, the default configuration of Firebase is Firebase Cloud Messaging API, and it took me a while to find the API key for Cloud Messaging API.
Planning to migrate from Cloud Messaging API to Firebase Cloud Messaging API?

Support for topic conditions

Hi!

Thanks for this great tool ๐Ÿ‘ ! I wanted to ask whether topic conditions (search for condition) are supported or there is plan to support them in the future.

I could also offer to do a pull request to enable this.

Best,
Peter

Suggestion

Hi Simon,
great tool! However, I have a suggestion: is it hard for you to add a feature to receive notification when app is background?

Currently, even when app is running (is on task list) after sometime app disconnect from FCM service (app icon not green).

It would be very helpful is app could be running in the background (as a service) and receive notification even when the phone is locked- just like Signal or Whatsapp do.

Regards
Chris

display connected device

I cloned the project the system works amazing! Thank you!
If I understood correctly I should see on the messaging page, all the devices connected to the app, can you understand why I do not see the connected devices?

I want to point out that once I connect to the app on the phone, the connection appears in the Realtime Database, but is not updated in my web app.

image

Thank you very much ๐Ÿ‘

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

github-actions
.github/workflows/android.yml
  • actions/checkout v3
  • actions/setup-java v3
  • gradle/gradle-build-action v2.4.2@749f47bda3e44aa060e82d7b3ef7e40d953bd629
  • gradle/gradle-build-action v2.4.2@749f47bda3e44aa060e82d7b3ef7e40d953bd629
  • actions/upload-artifact v3
gradle
gradle.properties
settings.gradle.kts
build.gradle.kts
app/build.gradle.kts
gradle/libs.versions.toml
  • androidx.appcompat:appcompat 1.6.1
  • androidx.constraintlayout:constraintlayout 2.1.4
  • androidx.core:core-ktx 1.10.1
  • androidx.test.espresso:espresso-core 3.5.1
  • androidx.lifecycle:lifecycle-livedata-ktx 2.6.1
  • androidx.lifecycle:lifecycle-viewmodel-ktx 2.6.1
  • androidx.preference:preference-ktx 1.2.0
  • androidx.recyclerview:recyclerview 1.3.0
  • androidx.room:room-compiler 2.5.1
  • androidx.room:room-ktx 2.5.1
  • androidx.room:room-runtime 2.5.1
  • androidx.room:room-testing 2.5.1
  • androidx.test.ext:junit 1.1.5
  • androidx.transition:transition 1.4.1
  • com.google.firebase:firebase-bom 32.1.0
  • com.google.android.material:material 1.9.0
  • com.google.gms:google-services 4.3.15
  • junit:junit 4.13.2
  • io.insert-koin:koin-android 3.4.0
  • io.insert-koin:koin-test 3.4.0
  • org.jetbrains.kotlin:kotlin-gradle-plugin 1.8.21
  • org.jetbrains.kotlinx:kotlinx-coroutines-android 1.7.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.7.1
  • org.jetbrains.kotlinx:kotlinx-coroutines-play-services 1.7.1
  • com.squareup.moshi:moshi 1.15.0
  • com.squareup.moshi:moshi-adapters 1.15.0
  • com.squareup.moshi:moshi-kotlin 1.15.0
  • com.squareup.moshi:moshi-kotlin-codegen 1.15.0
  • com.android.application 8.0.2
  • org.jetbrains.kotlin.android 1.8.21
  • com.android.library 8.0.2
  • com.android.lint 8.0.2
  • com.android.test 8.0.2
  • org.jetbrains.kotlin.jvm 1.8.21
  • com.google.devtools.ksp 1.8.21-1.0.11
  • com.google.gms.google-services 4.3.15
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.1.1
html
docs/index.html
  • popper.js 1.14.7@sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1

  • Check this box to trigger a request for Renovate to run again on this repository

Build failed

Hi! I want to rebuild your app with my FCM credentials but i have an error "No matching client found for package name 'fr.smarquis.fcm'"
What i do wrong? i build it throught Android Studio using Build tab. Thanks!

self-compiled FCM-toolbox crash while receiving notification

What I have done

  1. Git clone the project, download google-services.json, replace the original one in app folder, compile using Android studio 2022.2.1
  2. Launch FCM-toolbox app, get token
  3. Configurate the FCM-toolbox webpage with my Cloud Messaging API (Legacy) and Realtime Database url and the device token

What happened

  1. The indicator of FCM-toolbox is green
  2. While I click the "Sent" botton on the webpage, it shows

{
"to": "token",
"time_to_live": 60,
"priority": "high",
"data": {
"ping": {}
}
}
{
"multicast_id": xxxxxxx,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [
{
"message_id": "0:xxxxxxx"
}
]
}

  1. The APP on my phone crash, possibly related logcat

E AndroidRuntime: FATAL EXCEPTION: Firebase-Messaging-Intent-Handle
E AndroidRuntime: Process: fr.smarquis.fcm, PID: 6444
E AndroidRuntime: java.lang.IllegalArgumentException: Cannot serialize abstract class k5.a
E AndroidRuntime: at e5.a.a(SourceFile:29)
E AndroidRuntime: at e5.d0.c(SourceFile:163)
E AndroidRuntime: at e5.d0.a(SourceFile:4)
E AndroidRuntime: at fr.smarquis.fcm.services.FcmService.c(SourceFile:319)
E AndroidRuntime: at com.google.firebase.messaging.FirebaseMessagingService.b(SourceFile:846)
E AndroidRuntime: at androidx.emoji2.text.n.run(SourceFile:88)
E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E AndroidRuntime: at p1.n.run(SourceFile:26)
E AndroidRuntime: at java.lang.Thread.run(Thread.java:920)

Enviroment:

  • Sender:

    • FCM-toolbox webpage
  • Receiver:

    • Android 12, with self configurated and compiled FCM-toolbox
  • FCM config:

    • Messaging:
      • Add package fr.smarquis.fcm
      • Enable Cloud Messaging API (Legacy)
    • Realtime Database:
      • Create new database
      • Set rules for read and write to be "true"

I tried the official FCM-toolbox, everything works well.

Sorry but I'm new to FCM and android, is there anything wrong with my config?

Build error

Hi Simon
Great project as always..
Thanks for sharing the source code!
I encountered an error while building in the build.gradle file sync phase
This version of the Android Support plugin for IntelliJ IDEA (or Android Studio) cannot open this project, please retry with version 2021.1.1 or newer.
I tried to find solutions to this error in Google, but they created other errors in the project.
Is there a way to build properly?

(I'm using the latest Android Studio version)

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.