Créer des liens dynamiques avec Unity

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

https://example.page.link/aSDf

Avant que tu commences

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 exemple d'application .

  • Ajoutez le SDK Firebase Unity (en particulier, 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 les fichiers de configuration Firebase à partir de la console, puis les déplacez dans votre projet Unity).

Définir un préfixe URI Dynamic Links

  1. Dans la console Firebase, ouvrez la section Liens dynamiques .

  2. Si vous n'avez pas encore accepté les conditions d'utilisation et défini un préfixe URI pour vos liens dynamiques, faites-le lorsque vous y êtes invité.

    Si vous avez déjà un préfixe URI Dynamic Links, notez-le. Vous devez fournir un préfixe d'URI de liens dynamiques lorsque vous créez des liens dynamiques par programmation.

  3. Recommandé : spécifiez les modèles d'URL autorisés dans vos liens profonds et vos liens de secours. Ce faisant, vous empêchez des parties non autorisées de créer des liens dynamiques qui redirigent depuis votre domaine vers des sites que vous ne contrôlez pas. Voir Modèles d'URL de la liste blanche .

Utiliser la console Firebase

Si vous souhaitez générer un seul lien dynamique, soit à des fins de test, soit pour que votre équipe marketing crée facilement un lien pouvant être utilisé dans quelque chose comme une publication sur les réseaux sociaux, le moyen le plus simple serait de visiter la console Firebase et d'en créer un. manuellement en suivant le formulaire étape par étape.

Domaines personnalisés

Vous pouvez avoir un meilleur contrôle sur la marque de votre lien dynamique 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.

Utilisation de l'API Firebase Dynamic Links

Création d'un long lien dynamique à partir de paramètres

Pour créer un lien dynamique, créez un objet DynamicLinkComponents , en définissant 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 court lien dynamique

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

GetShortLinkAsync prend éventuellement un paramètre de configuration DynamicLinkOptions supplémentaire avec la propriété PathLength , vous permettant 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 au backend Firebase, de sorte que la méthode GetShortLinkAsync est exécutée de manière asynchrone. GetShortLinkAsync renvoie un Task<Firebase.DynamicLinks.ShortDynamicLink> .

Par 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ée.