콘솔로 이동

Unity로 동적 링크 수신

생성한 Firebase 동적 링크를 수신하려면 앱에 동적 링크 SDK를 포함하고 앱을 등록하여 InviteReceived 이벤트를 처리해야 합니다.

Unity SDK는 Android 및 iOS와 연동이 가능하며 각 플랫폼에 대해 몇 가지 설정이 추가로 필요합니다.

시작하기 전에

Firebase 동적 링크를 사용하려면 우선 Firebase 프로젝트를 만들고 Unity 프로젝트에 Firebase Unity SDK 패키지를 추가해야 합니다.

설정:

선행 조건

Android

iOS

  • Unity 5.0 이상
  • Xcode 8.0 이상
  • 실제 iOS 기기
  • 푸시 알림이 사용 설정된 APN 인증서

Unity 프로젝트를 준비하지 않았다면 빠른 시작 샘플 중 하나를 다운로드하여 특정 Firebase 기능을 시험해 볼 수 있습니다. 빠른 시작을 사용한다면 프로젝트 설정에서 번들 식별자를 확인해야 합니다. 다음 단계에서 이 식별자가 필요합니다.

Firebase 콘솔에서 앱 설정

앱에 Firebase를 추가하려면 Firebase 프로젝트 및 앱의 Firebase 구성 파일이 필요합니다.

Firebase 프로젝트가 없으면 Firebase 콘솔에서 프로젝트를 만듭니다. 모바일 앱에 연결된 기존 Google 프로젝트가 있으면 Google 프로젝트 가져오기를 클릭합니다. 그렇지 않은 경우 새 프로젝트 만들기를 클릭합니다.

Android

  1. Android 앱에 Firebase 추가를 클릭하고 설정 단계를 따릅니다. 기존 Google 프로젝트를 가져오면 이 단계가 자동으로 수행되므로 구성 파일만 다운로드하면 됩니다.
  2. 메시지가 표시되면 앱의 패키지 이름을 입력합니다. 앱이 사용하는 패키지 이름을 입력해야 합니다. 이 설정은 Firebase 프로젝트에 앱을 추가할 때만 가능합니다.
  3. 안내가 표시되면 google-services.json 파일을 다운로드합니다. 언제든지 이 파일을 다시 다운로드할 수 있습니다.
  4. 이 파일을 프로젝트의 애셋 폴더 내부에서 원하는 위치에 복사합니다.

iOS

  1. iOS 앱에 Firebase 추가를 클릭하고 설정 단계를 따릅니다. 기존 Google 프로젝트를 가져오면 이 단계가 자동으로 수행되므로 구성 파일만 다운로드하면 됩니다.
  2. 메시지가 표시되면 앱의 번들 ID를 입력합니다. 앱이 사용하는 번들 ID를 이름을 입력해야 합니다. 이 설정은 Firebase 프로젝트에 앱을 추가할 때만 가능합니다.
  3. 안내가 표시되면 GoogleService-Info.plist 파일을 다운로드합니다. 언제든지 이 파일을 다시 다운로드할 수 있습니다.
  4. 프로젝트에 GoogleService-Info.plist 파일을 추가합니다.

  5. 다운로드한 GoogleService-Info.plist를 Firebase 콘솔에서 드래그하여 Unity 프로젝트의 원하는 폴더에 넣습니다.

앱에 Firebase Unity SDK 추가

  1. Firebase Unity SDK를 다운로드합니다.
  2. Assets > Import Package > Custom Package 메뉴 항목을 선택합니다.
  3. 앞에서 다운로드한 Firebase Unity SDK에서 FirebaseInvites.unitypackage 패키지를 가져옵니다.
  4. Import Unity Package 창이 나타나면 Import 버튼을 클릭합니다.

앱 빌드

Android

  1. File > Build Settings 메뉴 옵션을 선택합니다.
  2. Platform 목록에서 Android를 선택합니다.
  3. Switch Platform을 클릭하여 타겟 플랫폼으로 Android를 선택합니다.
  4. Unity 상태 표시줄 오른쪽 하단의 스피너(컴파일) 아이콘이 멈추기를 기다립니다.
  5. Build and Run을 클릭합니다.

iOS

  1. File > Build Settings 메뉴 옵션을 선택합니다.
  2. Platform 목록에서 iOS를 선택합니다.
  3. Switch Platform을 클릭하여 타겟 플랫폼으로 iOS를 선택합니다.
  4. Unity 상태 표시줄 오른쪽 하단의 스피너(컴파일) 아이콘이 멈추기를 기다립니다.
  5. Build and Run을 클릭합니다.

  6. Xcode가 열리면 UserNotifications.framework를 추가합니다.

    1. Xcode에서 프로젝트를 클릭하고 Editor area에서 General 탭을 선택합니다.
    2. Linked Frameworks and Libraries까지 아래로 스크롤하고 + 버튼을 클릭하여 프레임워크를 추가합니다.
    3. 나타나는 창에서 UserNotifications.framework로 스크롤하고 해당 항목을 클릭한 후 Add를 클릭합니다.

동적 링크 수신 등록

동적 링크를 확인하려면 InviteReceived 이벤트에 등록해야 합니다.

void Start() {
    Firebase.Invites.FirebaseInvites.InviteReceived += OnInviteReceived;
    Firebase.Invites.FirebaseInvites.InviteNotReceived += OnInviteNotReceived;
    Firebase.Invites.FirebaseInvites.ErrorReceived += OnErrorReceived;
}

void OnInviteReceived(object sender,
                      Firebase.Invites.InviteReceivedEventArgs e) {
  if (e.InvitationId != "") {
    Debug.Log("Invite received: Invitation ID: " + e.InvitationId);
    Firebase.Invites.FirebaseInvites.ConvertInvitationAsync(
        e.InvitationId).ContinueWith(HandleConversionResult);
  }
  if (e.DeepLink.ToString() != "") {
    Debug.Log("Invite received: Deep Link: " + e.DeepLink);
  }
}

void OnInviteNotReceived(object sender, System.EventArgs e) {
  Debug.Log("No Invite or Deep Link received on start up");
}

void OnErrorReceived(object sender,
                     Firebase.Invites.InviteErrorReceivedEventArgs e) {
  Debug.LogError("Error occurred received the invite: " + e.ErrorMessage);
}