web-dev-qa-db-fra.com

Quand un jeton FCM expire-t-il?

Quand les jetons FCM expirent-ils? Est-ce à 6 mois?

9

il n'expire pas tho. il se renouvelle si l'une des situations suivantes se produit.

  1. -L'application supprime l'ID d'instance
  2. -L'application est restaurée sur un nouvel appareil
  3. -L'utilisateur désinstalle/réinstalle l'application
  4. -L'utilisateur efface les données de l'application.

Génération de jetons de surveillance

Le onTokenRefreshcallback se déclenche chaque fois qu'un nouveau jeton est généré, donc appeler getToken dans son contexte garantit que vous accédez à un fichier jeton d'inscription actuel et disponible. Assurez-vous que vous avez ajouté le service à votre manifeste, puis appelez getToken dans le contexte de onTokenRefresh, et enregistrez la valeur comme indiqué:

@Override
public void onTokenRefresh() {
    // Get updated InstanceID token.
    String refreshedToken = FirebaseInstanceId.getInstance().getToken();
    Log.d(TAG, "Refreshed token: " + refreshedToken);

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // Instance ID token to your app server.
    sendRegistrationToServer(refreshedToken);
}
21
user2967888

Comme indiqué dans la documentation ici le jeton n'expire pas, il ne change que lors de certains événements. Chaque fois qu'un nouveau jeton est généré, une méthode onTokenRefereshId est appelée. Pour l'implémenter, créez une classe qui étend FirebaseInstanceIdService et remplace le onRefreshToken comme suit: 

public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
    @Override
    public void onTokenRefresh() {
        // Get updated InstanceID token.
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
        Log.d(TAG, "Refreshed token: " + refreshedToken);

        // If you want to send messages to this application instance or
        // manage this apps subscriptions on the server side, send the
        // Instance ID token to your app server.
        sendRegistrationToServer(refreshedToken);
    }
}

N'oubliez pas non plus d'inscrire ce service dans les manifestes

<service
    Android:name=".MyFirebaseInstanceIDService">
    <intent-filter>
        <action Android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
    </intent-filter>
</service>
0
shashank chandak