Catch up on highlights from Firebase at Google I/O 2023. Learn more

Crea collegamenti dinamici con Unity

Puoi creare collegamenti dinamici brevi o lunghi con l'API Firebase Dynamic Links. L'API utilizza diverse strutture di parametri facoltative per creare collegamenti. I collegamenti brevi possono anche essere creati da un collegamento lungo generato in precedenza. L'API Dynamic Links genererà un URL simile al 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, allora è già registrato e configurato per Firebase.

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

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

Tieni presente che l'aggiunta di Firebase al progetto Unity comporta attività sia nella console Firebase che 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 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 hai già un prefisso URI Dynamic Links, prendine nota. Devi fornire un prefisso URI per i collegamenti dinamici quando crei collegamenti dinamici a livello di codice.

  3. Consigliato : specifica i pattern URL consentiti nei link diretti e nei link di fallback. In questo modo, impedisci a parti non autorizzate di creare collegamenti dinamici che reindirizzano dal tuo dominio a siti che non controlli. Consulta Pattern URL della whitelist .

Usa 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 può 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 branding di Dynamic Link utilizzando il tuo dominio invece di un sottodominio goo.gl o page.link . Segui queste istruzioni per impostare un dominio personalizzato per il tuo progetto.

Utilizzo dell'API Firebase Dynamic Links

Creazione di un collegamento dinamico lungo dai parametri

Per creare un collegamento dinamico, crea un oggetto DynamicLinkComponents , imposta 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 collegamento 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

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 come sopra.

GetShortLinkAsync accetta facoltativamente un parametro di configurazione DynamicLinkOptions aggiuntivo con la proprietà PathLength , che consente di controllare la modalità di generazione del collegamento. La generazione di collegamenti brevi richiede una richiesta di rete al back-end Firebase, pertanto 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 usa un'espressione lambda che viene attivata al completamento dell'attività.