Создавайте динамические ссылки с помощью Unity

Вы можете создавать короткие или длинные динамические ссылки с помощью Firebase Dynamic Links API. API использует несколько необязательных структур параметров для построения ссылок. Короткие ссылки также могут быть созданы из ранее созданной длинной ссылки. API динамических ссылок сгенерирует URL-адрес, подобный следующему:

https://example.page.link/aSDf

Прежде чем вы начнете

Перед тем, как можно использовать Firebase Dynamic Links , вам необходимо:

  • Зарегистрируйте свой проект Unity и настройте его для использования Firebase.

    • Если ваш проект Unity уже использует Firebase, значит, он уже зарегистрирован и настроен для Firebase.

    • Если у Вас нет проекта Unity, вы можете загрузить пример приложения .

  • Добавьте Firebase Unity SDK ( в частности, FirebaseDynamicLinks.unitypackage ) для вашего проекта Unity.

Обратите внимание , что добавление Firebase в свой проект Unity включает в себя задачу , как в Firebase консоли и в своем открытом проекте Unity (например, загрузки Firebase конфигурационных файлов из консоли, а затем переместить их в свой проект Unity).

Установите префикс URI динамических ссылок

  1. В Firebase консоли откройте раздел Динамические ссылки.

  2. Если вы еще не приняли условия обслуживания и не установили префикс URI для динамических ссылок, сделайте это при появлении соответствующего запроса.

    Если у вас уже есть префикс URI динамических ссылок, запишите его. Вам необходимо предоставить префикс URI динамических ссылок при программном создании динамических ссылок.

  3. Рекомендуется: Укажите шаблоны URL разрешен в ваших глубоких связях и резервных ссылках. Тем самым вы предотвращаете создание неавторизованными сторонами динамических ссылок, которые перенаправляют с вашего домена на сайты, которые вы не контролируете. См модели Whitelist URL .

Используйте консоль Firebase

Если вы хотите создать единый Dynamic Link, либо для целей тестирования, или для вашей маркетинговой команды легко создать ссылку , которая может быть использована в чем - то вроде поста социальных медиа, самый простой способ был бы посетить Firebase консоль и создать вручную, следуя пошаговой форме.

Пользовательские домены

Вы можете иметь больший контроль над брендингом Dynamic Линка, используя свой собственный домен вместо goo.gl или page.link подобласти. Следуйте эти инструкции , чтобы создать собственный домен для своего проекта.

Использование API динамических ссылок Firebase

Создание длинной динамической ссылки из параметров

Для создания Dynamic Link, создать DynamicLinkComponents объект, установив любой из дополнительных элементов для дополнительной конфигурации, а затем получить доступ к LongDynamicLink свойства , чтобы получить ссылку URL.

В следующем минимальном примере создается длинная динамическая ссылка на https://www.example.com/, которая открывается с вашим приложением Android com.example.android на Android и приложением com.example.ios на 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

Создание короткой динамической ссылки

Для того, чтобы создать короткий Dynamic Link, передать сгенерированный ранее длинную ссылку на Firebase.DynamicLinks.GetShortLinkAsync или построить DynamicLinkComponents таким же образом , как указано выше.

GetShortLinkAsync необязательно принимает дополнительный DynamicLinkOptions CONFIG параметр с PathLength собственности, что позволяет контролировать , как должна быть сгенерирована ссылка. Короткое поколение связи требует сетевого запроса на внутренний интерфейс Firebase, поэтому GetShortLinkAsync метод выполняется асинхронно. GetShortLinkAsync возвращает Task<Firebase.DynamicLinks.ShortDynamicLink> .

Например:

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.
  }
});

В приведенном выше примере используется лямбда-выражение, которое запускается при завершении задачи.