Créer des liens dynamiques avec Unity

Vous pouvez créer des Dynamic Links courts ou longs avec l'API Firebase Dynamic Links. L'API utilise plusieurs structures de paramètres facultatives pour créer des associations. Les liens courts peuvent ou à partir d'un lien long généré précédemment. API Dynamic Links génère une URL semblable à celle-ci:

https://example.page.link/aSDf

Avant de commencer

Avant de pouvoir utiliser Firebase Dynamic Links vous devez:

  • Enregistrez votre projet Unity et configurez-le pour utiliser Firebase.

    • Si votre projet Unity utilise déjà Firebase, il est déjà enregistré et configuré pour Firebase.

    • Si vous n'avez pas de projet Unity, vous pouvez télécharger un application exemple.

  • Ajoutez le SDK Unity Firebase (plus précisément, FirebaseDynamicLinks.unitypackage) à votre projet Unity.

Notez que l'ajout de Firebase à votre projet Unity implique des tâches dans le Console Firebase et dans votre projet Unity ouvert Par exemple, vous téléchargez les fichiers de configuration Firebase depuis la console, puis vous déplacez dans votre projet Unity).

Définir un préfixe d'URI Dynamic Links

  1. Dans la console Firebase, ouvrez la section Dynamic Links.

  2. Si vous n'avez pas encore accepté les conditions d'utilisation et défini un préfixe d'URI pour votre Dynamic Links lorsque vous y êtes invité.

    Si vous disposez déjà d'un préfixe d'URI Dynamic Links, prenez-en note. Vous devez fournir un préfixe d'URI Dynamic Links lorsque vous créez Dynamic Links par programmation.

  3. Recommandé: spécifiez les formats d'URL autorisés dans vos liens profonds et des liens de remplacement. Ainsi, vous empêchez les tiers non autorisés création de Dynamic Links qui redirigent les utilisateurs de votre domaine vers des sites que vous n'utilisez pas le contrôle. Consultez la section Ajouter des formats d'URL à la liste blanche.

Utiliser la console Firebase

Si vous souhaitez générer un seul Dynamic Link, à des fins de test ou pour que votre équipe marketing crée facilement un lien pouvant être utilisé dans un post sur les réseaux sociaux, le moyen le plus simple est d'accéder à la console Firebase et d'en créer un manuellement en suivant le formulaire par étapes.

Domaines personnalisés

Vous pouvez mieux contrôler le branding de votre Dynamic Link en utilisant le vôtre au lieu d'un sous-domaine goo.gl ou page.link. Suivez ces instructions de configuration d'un domaine personnalisé votre projet.

Utiliser l'API Firebase Dynamic Links

Créer une Dynamic Link longue à partir de paramètres

Pour créer un lien dynamique, créez un objet DynamicLinkComponents, en définissant des membres facultatifs pour une configuration supplémentaire, puis accédez à LongDynamicLink pour obtenir l'URL du lien.

L'exemple minimal suivant crée un lien dynamique long vers https://www.example.com/ qui s'ouvre sur votre application Android com.example.android sur Android et l'application com.example.ios sur iOS:

var components = new Firebase.DynamicLinks.DynamicLinkComponents(
    // The base Link.
    new System.Uri("https://www.example.com/"),
    // The dynamic link URI prefix.
    "https://example.page.link") {
      IOSParameters = new Firebase.DynamicLinks.IOSParameters("com.example.ios"),
      AndroidParameters = new Firebase.DynamicLinks.AndroidParameters(
        "com.example.android.package_name"),
    };
// do something with: components.LongDynamicLink

Création d'un Dynamic Link court

Pour créer un lien dynamique court, transmettez un lien long généré précédemment à Firebase.DynamicLinks.GetShortLinkAsync ou compilez DynamicLinkComponents dans de la même manière que ci-dessus.

GetShortLinkAsync accepte éventuellement une configuration DynamicLinkOptions supplémentaire avec la propriété PathLength, ce qui vous permet de contrôler la façon dont le lien doit être généré. La génération de liens courts nécessite une requête réseau auprès du backend Firebase, de sorte que la méthode GetShortLinkAsync s'exécute de manière asynchrone. GetShortLinkAsync renvoie un Task<Firebase.DynamicLinks.ShortDynamicLink>.

Exemple :

var options = new Firebase.DynamicLinks.DynamicLinkOptions {
  PathLength = DynamicLinkPathLength.Unguessable
};

Firebase.DynamicLinks.DynamicLinks.GetShortLinkAsync(components, options).ContinueWith(task => {
  if (task.IsCanceled) {
    Debug.LogError("GetShortLinkAsync was canceled.");
    return;
  }
  if (task.IsFaulted) {
    Debug.LogError("GetShortLinkAsync encountered an error: " + task.Exception);
    return;
  }

  // Short Link has been created.
  Firebase.DynamicLinks.ShortDynamicLink link = task.Result;
  Debug.LogFormat("Generated short link {0}", link.Url);

  var warnings = new System.Collections.Generic.List<string>(link.Warnings);
  if (warnings.Count > 0) {
    // Debug logging for warnings generating the short link.
  }
});

L'exemple ci-dessus utilise une expression lambda qui est déclenchée lorsque la tâche est terminé.