Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Class Conflict between two Firebase modules.

Abierto
#891 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
android, firebase, java

Línea de trabajo

Comienza con las dependencias de Gradle a nivel de aplicación mostradas en el issue y compara los artefactos firebase-admin y firebase-messaging con el tutorial de Cloud Messaging enlazado. Determina si ambos módulos pueden coexistir sin el paquete duplicado com.google.firebase.messaging; se considera terminado cuando una configuración de dependencias documentada resuelve FirebaseMessaging y expone la API sendMulticast del tutorial.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

needs-triage
Environment

This is currently the dependencies used in my app-level Gradle build script

dependencies {
  implementation("androidx.appcompat:appcompat:1.6.1")
  implementation("com.google.android.material:material:1.10.0")
  implementation("androidx.constraintlayout:constraintlayout:2.1.4")
  implementation("androidx.navigation:navigation-fragment:2.7.5")
  implementation("androidx.navigation:navigation-ui:2.7.5")

  implementation("com.squareup.retrofit2:converter-gson:2.9.0")
  coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")

  implementation("com.google.firebase:firebase-admin:9.2.0")
  implementation("com.google.firebase:firebase-messaging:23.4.0")
}
Description

TL;DR: firebase-admin and firebase-messaging has the same classpath com.google.firebase.messaging.*, but their class's content is totally different.

Currently, I want to use both the module firebase-admin and firebase-messaging to learn about the feature Cloud Messaging, so I have installed my dependencies as above. The issue arose when I wanted to import the class FirebaseMessaging.

// Create a list containing up to 500 registration tokens.
// These registration tokens come from the client FCM SDKs.
List<String> registrationTokens = Arrays.asList(
    "YOUR_REGISTRATION_TOKEN_1",
    // ...
    "YOUR_REGISTRATION_TOKEN_n"
);

MulticastMessage message = MulticastMessage.builder()
    .putData("score", "850")
    .putData("time", "2:45")
    .addAllTokens(registrationTokens)
    .build();
BatchResponse response = FirebaseMessaging.getInstance().sendMulticast(message);
// See the BatchResponse reference documentation
// for the contents of response.
System.out.println(response.getSuccessCount() + " messages were sent successfully");

While I was following [this tutorial] (https://firebase.google.com/docs/cloud-messaging/send-message#send-messages-to-multiple-devices) to build a send request to multiple devices, my IDE could not resolve the method sendMutlicast()

It turned out that while the imported class was com.google.firebase.messaging.FirebaseMessaging, the class was from the module firebase-messaging , which did not contain any of useful send method, rather than firebase-admin.

Is there anyway I can import the class FirebaseMessaging from firebase-admin and still keeping the two modules? I had switching the import order in Gradle file but still to no avail.

Thank you very much!

Lenguaje dominante
Java
Estrellas
620
Forks
305
Merge medio
3 h 23 min
PR fusionados (30 d)
1

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de firebase/firebase-admin-java

Todos los issues de firebase/firebase-admin-java

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.