Crea link dinamici con Unity

Puoi creare Dynamic Links brevi o lunghi con l'API Firebase Dynamic Links. L'API richiede diverse strutture di parametri facoltative per creare i link. I link brevi possono 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 già accettato i Termini di servizio e non hai impostato un prefisso URI per il tuo Dynamic Links, fallo quando richiesto.

    Se hai già un prefisso URI Dynamic Links, prendine nota. Devi fornisci un prefisso URI Dynamic Links quando crei Dynamic Links in modo programmatico.

  3. Consigliato: specifica i pattern URL consentiti nei link diretti e link di fallback. In questo modo, impedisci a parti non autorizzate di creando Dynamic Links che reindirizzano dal tuo dominio a siti non coinvolti 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 di Dynamic Link utilizzando i tuoi invece di un sottodominio goo.gl o page.link. Segui questi istruzioni per configurare un dominio personalizzato del 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.

L'esempio minimo riportato di seguito crea un link dinamico lungo 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

Creazione di uno Short Dynamic Link in corso...

Per creare un link dinamico breve, passa un link lungo generato in precedenza a Firebase.DynamicLinks.GetShortLinkAsync o build DynamicLinkComponents in come illustrato sopra.

GetShortLinkAsync richiede facoltativamente una configurazione DynamicLinkOptions aggiuntiva con la proprietà PathLength, che ti consente di controllare il modo in cui il collegamento deve essere generato. 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à.