Ihr Wunsch, einen benutzerkonfigurierbaren Client zu erstellen, ist ungewöhnlich. Sie müssen einige sehr spezielle Anforderungen haben. Ich glaube nicht, dass der Typ der FCM-Client-Konfiguration, die Sie vornehmen möchten, möglich ist. Ich werde meine Argumentation erklären.
Zuerst wird die google-services.json
Datei wird bei Build Zeit verarbeitet, nicht Lauf Zeit. Es wird von der Google Services Gradle Plugin analysiert, die eine XML-Datei der Zeichenfolge Ressourcen unter .../app/build/generated/res/google-services/{buildType}/values/values.xml
generiert. Wenn eine App, die Firebase verwendet, gestartet wird, konfiguriert sich die FirebaseInitProvider selbst mit diesen Zeichenfolgenressourcen und erstellt die Standardinstanz FirebaseApp. Der Standardwert FirebaseApp
wird von FirebaseMessaging.getInstance() verwendet.
Einige Firebase APIs, FirebaseDatabase und FirebaseStorage sind zwei Beispiele, bieten getInstance()
Methoden, die einen FirebaseApp
Parameter akzeptieren. Für diese kann eine benutzerdefinierte FirebaseApp
mit initializeApp() und FirebaseOptions.Builder erstellt werden, um die Werte, die normalerweise von google-services.json
bereitgestellt werden, anzugeben. Aber FirebaseMessaging hat keinen getInstance()
, der einen FirebaseApp
Parameter akzeptiert, der die Verwendung des Standards FirebaseApp
erzwingt, der mit der Datei google-services.json
erstellt wurde.
Sie versuchen also, sich bei mehreren Firebase-Cloud-Messaging-Servern "anzumelden"? Es ist kein Chatroom - so funktioniert es nicht –