Crea collegamenti dinamici con Unity

Puoi creare collegamenti dinamici brevi o lunghi con l'API Firebase Dynamic Links. L'API accetta diverse strutture di parametri opzionali per creare collegamenti. È inoltre possibile creare collegamenti brevi da un collegamento 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 per utilizzare Firebase.

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

    • Se non disponi di 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 tuo progetto Unity comporta attività sia nella console Firebase che nel tuo progetto Unity aperto (ad esempio, scarichi i file di configurazione Firebase dalla console, quindi li sposti nel tuo progetto Unity).

Imposta un prefisso URI per i collegamenti dinamici

  1. Nella console Firebase, apri la sezione Collegamenti dinamici .

  2. Se non hai già accettato i termini di servizio e impostato un prefisso URI per i tuoi collegamenti dinamici, fallo quando richiesto.

    Se disponi già di un prefisso URI Dynamic Links, prendine nota. È necessario fornire un prefisso URI di collegamenti dinamici quando si creano collegamenti dinamici a livello di codice.

  3. Consigliato : specifica i pattern URL consentiti nei link diretti e nei link di riserva. In questo modo, impedisci a soggetti non autorizzati di creare collegamenti dinamici che reindirizzano dal tuo dominio a siti che non controlli. Consulta Modelli URL della lista bianca .

Utilizza la console Firebase

Se desideri generare un singolo collegamento dinamico, a scopo di test o per consentire al tuo team di marketing di creare facilmente un collegamento che possa essere utilizzato in qualcosa come un post sui social media, il modo più semplice sarebbe visitare la console Firebase e crearne uno manualmente seguendo il modulo passo passo.

Domini personalizzati

Puoi avere un maggiore controllo sul marchio del tuo collegamento dinamico utilizzando il tuo dominio anziché un sottodominio goo.gl o page.link . Segui queste istruzioni per impostare un dominio personalizzato per il tuo progetto.

Utilizzando l'API Firebase Dynamic Links

Creazione di un lungo collegamento dinamico dai parametri

Per creare un collegamento dinamico, crea un oggetto DynamicLinkComponents , impostando uno qualsiasi dei membri facoltativi per una configurazione aggiuntiva, quindi accedi alla proprietà LongDynamicLink per ottenere l'URL del collegamento.

Il seguente esempio minimo crea un lungo collegamento dinamico a https://www.example.com/ che si apre con l'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 un breve collegamento dinamico

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

GetShortLinkAsync accetta facoltativamente un parametro di configurazione DynamicLinkOptions aggiuntivo con la proprietà PathLength , consentendoti di controllare come deve essere generato il collegamento. La generazione di collegamenti brevi richiede una richiesta di rete al backend Firebase, quindi il metodo GetShortLinkAsync viene eseguito in modo asincrono. GetShortLinkAsync restituisce un Task<Firebase.DynamicLinks.ShortDynamicLink> .

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