Unity로 동적 링크 만들기

Firebase Dynamic Links API를 사용하여 짧거나 긴 동적 링크를 만들 수 있습니다. 이 API는 여러 개의 선택적 매개변수 구조체를 취하여 링크를 작성합니다. 이전에 생성한 긴 링크로부터 짧은 링크를 만들 수도 있습니다. Dynamic Links API는 다음과 같은 URL을 생성합니다.

https://example.page.link/aSDf

시작하기 전에

Firebase 동적 링크를 사용하려면 먼저 다음 작업을 해야 합니다.

  • Unity 프로젝트를 등록하고 Firebase를 사용하도록 구성합니다.

    • Unity 프로젝트에서 현재 Firebase를 사용하고 있다면 이미 등록되어 Firebase용으로 구성된 것입니다.

    • Unity 프로젝트가 없는 경우 샘플 앱을 다운로드하면 됩니다.

  • Firebase Unity SDK(구체적으로 FirebaseDynamicLinks.unitypackage)를 Unity 프로젝트에 추가합니다.

Unity 프로젝트에 Firebase를 추가할 때 Firebase Console 및 열려 있는 Unity 프로젝트 모두에서 작업을 수행해야 합니다. 예를 들어 Firebase Console에서 Firebase 구성 파일을 다운로드한 후 이 파일을 Unity 프로젝트로 이동하는 작업이 필요합니다.

동적 링크 URI 프리픽스 설정

  1. Firebase Console에서 동적 링크 섹션을 엽니다.

  2. 아직 서비스 약관에 동의하지 않았고 동적 링크의 URI 프리픽스도 설정하지 않았다면 관련 메시지가 표시될 때 동의하고 설정합니다.

    동적 링크 URI 프리픽스가 이미 있다면 기록해 둡니다. 프로그래매틱 방식으로 동적 링크를 만들 때 동적 링크 URI 프리픽스를 제공해야 합니다.

  3. 권장: 딥 링크 및 대체 링크에 허용되는 URL 패턴을 지정합니다. 이렇게 하면 승인되지 않은 사용자가 내 도메인에서 내가 제어하지 않는 사이트로 리디렉션되는 동적 링크를 만드는 것을 막을 수 있습니다. URL 패턴 허용을 참조하세요.

Firebase Console 사용

테스트에 사용하거나 마케팅팀에서 소셜 미디어 게시물 등에 사용할 수 있는 링크를 쉽게 만들 수 있도록 동적 링크 1개를 생성하려고 할 때 가장 간단한 방법은 Firebase Console로 이동하여 단계별 양식에 따라 직접 만드는 것입니다.

커스텀 도메인

goo.gl 또는 page.link 하위 도메인 대신 자체 도메인을 사용하여 동적 링크 브랜딩을 보다 세부적으로 관리할 수 있습니다. 다음 안내에 따라 프로젝트의 커스텀 도메인을 설정하세요.

Firebase Dynamic Links API 사용

매개변수로 긴 동적 링크 만들기

동적 링크를 만들려면 DynamicLinkComponents 객체를 만들고 추가 구성을 위한 선택적 멤버를 설정한 후 LongDynamicLink에 액세스하여 링크 URL을 가져옵니다.

다음은 Android 앱 com.example.android 및 iOS 앱 com.example.ios에서 https://www.example.com/을 여는 긴 동적 링크를 만드는 간단한 예시입니다.

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

짧은 동적 링크 만들기

짧은 동적 링크를 만들려면 이전에 생성한 긴 링크를 Firebase.DynamicLinks.GetShortLinkAsync에 전달하거나 위와 동일한 방법으로 DynamicLinkComponents를 작성합니다.

GetShortLinkAsyncPathLength 속성을 갖는 DynamicLinkOptions 구성 매개변수를 선택적으로 취하며, 이를 통해 링크 생성 방법을 제어할 수 있습니다. 짧은 링크를 생성하려면 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.
  }
});

위 예시는 작업 완료 시 트리거되는 람다 표현식을 사용합니다.