2016-08-04 2 views
3

Ich möchte einen Firebase Cloud Messaging-Client erstellen. Ich möchte ID, Projekt-ID, Paketname usw. vom Benutzer erhalten und meine google-service.json Datei bearbeiten. Aus Textansichten können Benutzer Informationen ändern und können mit ihren Projekten Informationen verwenden. Gibt es eine Möglichkeit, dies zu tun?Wie kann ich google-service.json wo im Stammordner von App bearbeiten?

Vielen Dank für Ihre Antworten!

+0

Sie versuchen also, sich bei mehreren Firebase-Cloud-Messaging-Servern "anzumelden"? Es ist kein Chatroom - so funktioniert es nicht –

Antwort

0

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.

0

Eine Anwendung kann registriert werden, um Nachrichten von mehreren Projekten zu empfangen. Standardmäßig wird das in der Datei google-services.json definierte Projekt verwendet. Sie können jedoch ein anderes Instanz-ID-Token mithilfe der Methode getToken anfordern und manuell eine andere Absender-ID angeben.

Wenn der Benutzer eine andere Absender-ID definiert, können Sie dann getToken anrufen und Nachrichten, die sowohl an das ursprünglich generierte als auch das manuell generierte Token gesendet wurden, werden von der App empfangen.

Verwandte Themen