Crea link dinamici con Unity

Puoi creare Dynamic Links brevi o lunghi con l'API Firebase Dynamic Links. L'API accetta diverse strutture di parametri facoltativi per creare i link. I link brevi possono essere creati anche da un link lungo generato in precedenza. L'API Dynamic Links genererà un URL come il seguente:

https://example.page.link/aSDf

Prima di iniziare

Prima di poter utilizzare Firebase Dynamic Links, devi:

  • Registra il tuo progetto Unity e configuralo in modo che utilizzi Firebase.

    • Se il tuo progetto Unity utilizza già Firebase, è già registrato e configurato per Firebase.

    • Se non hai un progetto Unity, puoi scaricare un'app di esempio.

  • Aggiungi l'SDK Firebase Unity (in particolare FirebaseDynamicLinks.unitypackage) al tuo progetto Unity.

Tieni presente che l'aggiunta di Firebase al progetto Unity comporta attività sia nella console Firebase sia nel progetto Unity aperto (ad esempio, scarichi i file di configurazione di Firebase dalla console, quindi li sposti nel progetto Unity).

Imposta un prefisso URI Dynamic Links

  1. Nella console Firebase, apri la sezione Dynamic Links.

  2. Se non hai ancora accettato i Termini di servizio e impostato un prefisso URI per il tuo Dynamic Links, fallo quando richiesto.

    Se hai già un prefisso URI Dynamic Links, prendine nota. Devi fornire un prefisso URI Dynamic Links quando crei Dynamic Links tramite programmazione.

  3. Consigliato: specifica i pattern URL consentiti nei link diretti e di fallback. In questo modo, impedisci a terze parti non autorizzate di creare Dynamic Links che reindirizzano dal tuo dominio a siti che non sono sotto il tuo controllo. Consulta la sezione Pattern URL per la whitelist.

Utilizzare la console Firebase

Se vuoi generare un singolo Dynamic Link, a scopo di test o per consentire al tuo team di marketing di creare facilmente un link che possa essere utilizzato, ad esempio, in un post sui social media, il modo più semplice è visitare la console Firebase e crearne uno manualmente seguendo la procedura dettagliata.

Domini personalizzati

Puoi avere un maggiore controllo sul branding del tuo Dynamic Link utilizzando il tuo dominio anziché un sottodominio goo.gl o page.link. Segui queste istruzioni per configurare un dominio personalizzato per il tuo progetto.

Utilizzo dell'API Firebase Dynamic Links

Creazione di un valore lungo Dynamic Link dai parametri

Per creare un link dinamico, crea un oggetto DynamicLinkComponents, imposta uno dei membri facoltativi per una configurazione aggiuntiva e poi accedi alla proprietà LongDynamicLink per ottenere l'URL del link.

Il seguente esempio minimo crea un link dinamico lungo a https://www.example.com/ che si apre con la tua app Android com.example.android su Android e l'app com.example.ios su 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

Creare uno Short Dynamic Link

Per creare un link dinamico breve, passa un link lungo generato in precedenza a Firebase.DynamicLinks.GetShortLinkAsync o crea DynamicLinkComponents nello stesso modo indicato sopra.

GetShortLinkAsync facoltativamente accetta un parametro di configurazione DynamicLinkOptions aggiuntivo con la proprietà PathLength, che ti consente di controllare il modo in cui deve essere generato il link. La generazione di link brevi richiede una richiesta di rete al backend di Firebase, pertanto il metodo GetShortLinkAsync viene eseguito in modo asincrono. GetShortLinkAsync restituisce un Task<Firebase.DynamicLinks.ShortDynamicLink>.

Ad esempio:

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'esempio riportato sopra utilizza un'espressione lambda che viene attivata al completamento dell'attività.