Premiers pas avec App Check avec un fournisseur personnalisé dans Unity

Cette page explique comment activer App Check dans une application Unity à l'aide de votre fournisseur App Check personnalisé. Lorsque vous activez App Check, vous vous assurez que seule votre application peut accéder aux ressources Firebase de votre projet.

Si vous souhaitez utiliser App Check avec les fournisseurs par défaut, consultez la section Activer App Check avec les fournisseurs par défaut dans Unity.

Avant de commencer

1. Ajouter la bibliothèque App Check à votre application

Incluez la bibliothèque App Check dans votre ensemble de dépendances, en suivant les instructions de configuration d'App Check.

2. Implémenter les interfaces App Check

Vous devez d'abord créer des classes qui implémentent les interfaces IAppCheckProvider et IAppCheckProviderFactory.

Votre classe AppCheckProvider doit comporter une méthode GetTokenAsync(), qui collecte toutes les informations requises par votre fournisseur App Check personnalisé comme preuve d'authenticité, et les envoie à votre service d'acquisition de jetons en échange d'un jeton App Check. Le SDK App Check gère le stockage en cache des jetons. Obtenez donc toujours un nouveau jeton dans votre implémentation de GetTokenAsync().

public class YourCustomAppCheckProvider : IAppCheckProvider {
  public Task<AppCheckToken> GetTokenAsync() {
    // Logic to exchange proof of authenticity for an App Check token and
    //   expiration time.
    // ...

    AppCheckToken appCheckToken = new AppCheckToken() {
      Token = tokenFromAbove,
      ExpireTime = DateTime.UtcNow.AddMinutes(60)
    };

    return Task<AppCheckToken>.FromResult(appCheckToken);
  }
};

Implémentez également une classe AppCheckProviderFactory qui crée des instances de votre implémentation AppCheckProvider:

public class YourCustomAppCheckProviderFactory : IAppCheckProviderFactory {
  IAppCheckProvider CreateProvider(FirebaseApp app) {
    // Create and return an AppCheckProvider object.
    return new YourCustomAppCheckProvider(app);
  }
}

3. Initialiser App Check

Ajoutez le code d'initialisation suivant à votre application pour qu'elle s'exécute avant d'utiliser d'autres SDK Firebase:

FirebaseAppCheck.SetAppCheckProviderFactory(
  new YourCustomAppCheckProviderFactory());

Étapes suivantes

Une fois la bibliothèque App Check installée dans votre application, commencez à distribuer l'application mise à jour à vos utilisateurs.

L'application cliente mise à jour commencera à envoyer des jetons App Check avec chaque requête envoyée à Firebase, mais les produits Firebase n'exigeront pas que les jetons soient valides tant que vous n'aurez pas activé l'application dans la section App Check de la console Firebase.

Surveiller les métriques et activer l'application

Toutefois, avant d'activer l'application, vous devez vous assurer qu'elle n'entraînera pas de perturbation pour vos utilisateurs légitimes existants. D'un autre côté, si vous constatez une utilisation suspecte des ressources de votre application, vous pouvez activer les mesures d'application dès que possible.

Pour vous aider à prendre cette décision, vous pouvez consulter les métriques App Check des services que vous utilisez:

Activer l'application des règles App Check

Une fois que vous avez compris l'impact de App Check sur vos utilisateurs et que vous êtes prêt à continuer, vous pouvez activer l'application de App Check :

Utiliser App Check dans les environnements de débogage

Si, après avoir enregistré votre application pour App Check, vous souhaitez l'exécuter dans un environnement que App Check ne classerait normalement pas comme valide, tel qu'un émulateur pendant le développement ou à partir d'un environnement d'intégration continue (CI), vous pouvez créer un build de débogage de votre application qui utilise le fournisseur de débogage App Check au lieu d'un véritable fournisseur d'attestation.

Consultez la section Utiliser App Check avec le fournisseur de débogage dans Unity.