2017-02-16 4 views
0

Ich benötige die Werte des Registrierungs-Tokens, das ich von meiner Android-App an die FCM-Datenbank gesendet habe. Wie kann ich darauf zugreifen und wo ist es in der FCM-Datenbank gespeichert?FCM-Registrierungs-Token

Vielen Dank im Voraus.

Antwort

0

Ein Code-Snippet, wie Sie das Registrierungs-Token an die Datenbank senden, wäre besser. FCM speichert das Token nicht automatisch, Sie müssen die Sicherungslogik implementieren. Kann es an Ihren Benutzerknoten anhängen und immer innerhalb der Methode onTokenRefresh() aktualisieren. So etwas wie das:

@Override 
public void onTokenRefresh() { 

    String refreshToken = FirebaseInstanceId.getInstance().getToken(); 
    Log.e("FCM TokenID:", refreshToken); 
    saveToServer(refreshToken); 
} 

    void saveToServer(){ 
    //Implement save/update logic here 

} 
0

Schritt1: Erstellen Sie zuerst Ihr Android-Projekt, und kopieren Sie den Paketnamen von AndroidManifest.xml. nehmen Paketnamen Paket = "com.learn.fbc.cloudmessaging"

Schritt 2: Zum https://console.firebase.google.com/

Click 'project'

Set Projektname

Set Land

und tippen Sie auf "Projekt erstellen"

Schritt3: Klicken Sie auf "Firebase zu Ihrer Android App hinzufügen"

Step4 (wichtiger Schritt): set Paketnamen (in unserem Beispiel sollte es com.learn.fbc.cloudmessaging werden)

Schritt 5: Klicken Sie auf 'Register App'

Step6: Downlod ‚Google- services.json‘auf Ihren Rechner

Step7: copy 'google-services.json' zu app/Ordner Ihres Projekts [wichtiger Schritt]

Step8. gehe zur Projektebene build.gradle und setze

dependencies 
{ 
classpath 'com.google.gms:google-services:3.0.0'
  
} 

Schritt 9. Fügen Sie Folgendes zu Ihrer App-Ebene build.gradle

dependencies 
{ 
    compile 'com.google.firebase:firebase-core:9.6.0' 
    compile 'com.google.firebase:firebase-messaging:9.6.0' 
} 

apply plugin: 'com.google.gms.google-services' 

Schritt 10: Synchronisieren Sie Ihre gradle

Schritt 11: Erweitern FirebaseInstanceIdService Klasse z.B.

public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService { 

    private static final String TAG = 
     MyFirebaseInstanceIDService.class.getSimpleName(); 
@Override 
    public void onTokenRefresh() { 
    super.onTokenRefresh(); 
    String refreshedToken = FirebaseInstanceId.getInstance().getToken(); 

    sendRegistrationToServer(refreshedToken); 

    Log.d(TAG, "onTokenRefresh: "+refreshedToken); 

} 

private void sendRegistrationToServer(final String token) { 
    // sending gcm token to server 
    Log.d(TAG, "sendRegistrationToServer: " + token); 
} 
} 

Schritt 12: Erweitern FirebaseMessagingService Klasse zB

public class MyFirebaseMessagingService extends FirebaseMessagingService { 
private static final String TAG = "FCM Service"; 
@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 
    // TODO: Handle FCM messages here. 
    // If the application is in the foreground handle both data and notification messages here. 
    // Also if you intend on generating your own notifications as a result of a received FCM 
    // message, here is where that should be initiated. 
    Log.d(TAG, "From: " + remoteMessage.getFrom()); 
    Log.d(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody()); 
} 
} 

Schritt 13: Führen Sie Ihre App auf Ihrem Gerät

: beide Dienste Ihrer Manifest-Datei zB

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:roundIcon="@mipmap/ic_launcher_round" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 


    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 

      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
    <!-- Firebase Notifications --> 
    <service android:name=".MyFirebaseMessagingService"> 
     <intent-filter> 
      <action android:name="com.google.firebase.MESSAGING_EVENT" /> 
     </intent-filter> 
    </service> 

    <service android:name=".MyFirebaseInstanceIDService"> 
     <intent-filter> 
      <action android:name="com.google.firebase.INSTANCE_ID_EVENT" /> 
     </intent-filter> 
    </service> 
    <!-- ./Firebase Notifications -->`` 
</application> 

Step14 erklären Schritt 15: Jetzt können Sie eine Push-Benachrichtigung von der Firebase Clouding se senden rvice zu testen.