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. Vous pouvez également créer des liens courts à partir d'un lien long généré précédemment. L'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 ne disposez pas d'un projet Unity, vous pouvez télécharger un exemple d'application.

  • 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 à la fois dans la console Firebase et dans votre projet Unity ouvert (par exemple, vous téléchargez des fichiers de configuration Firebase à partir de la console, puis les 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, faites-le 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 de manière programmatique.

  3. Recommandé : indiquez les formats d'URL autorisés pour vos liens profonds et liens de remplacement. Vous empêchez ainsi des tiers non autorisés de créer des Dynamic Links qui redirigent de votre domaine vers des sites que vous ne contrôlez pas. 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 votre propre domaine au lieu d'un sous-domaine goo.gl ou page.link. Suivez ces instructions pour configurer un domaine personnalisé pour 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, définissez l'un des membres facultatifs pour une configuration supplémentaire, puis accédez à la propriété LongDynamicLink pour obtenir l'URL du lien.

L'exemple minimal suivant crée un long lien dynamique vers https://www.example.com/ qui s'ouvre avec 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 créez DynamicLinkComponents de la même manière que ci-dessus.

GetShortLinkAsync peut éventuellement prendre un paramètre de configuration DynamicLinkOptions supplémentaire avec la propriété PathLength, ce qui vous permet de contrôler la génération du lien. La génération de liens courts nécessite une requête réseau au backend Firebase. La méthode GetShortLinkAsync est donc exécutée 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 déclenchée lorsque la tâche est terminée.