백지부터 시작하는 이세계 코딩 생활

Deep Link - Firebase (Dynamic Link) 본문

백지부터 시작하는 이세계 유니티 생활 since 2020

Deep Link - Firebase (Dynamic Link)

조아덕 2021. 2. 23. 16:29

! Firebase 를 사용하기 위해선, 선행적으로 Node.js 가 설치되어 있어야 한다.

동적링크

- Firebase 동적 링크는 앱 설치 여부에 관계없이 여러 플랫폼에서 원하는 대로 작동하는 링크.

  • 동적 링크는 기존 사용자와 잠재 사용자를 iOS 또는 Android 앱 안에서 원하는 위치로 보낼 수 있는 스마트 URL.
  • 동적 링크는 규모에 관계없이 항상 무료 .
  • OS 또는 Android에서 동적 링크를 연 사용자를 네이티브 앱의 링크된 콘텐츠로 직접 이동시킬 수 있음.

Unity 프로젝트에 Firebase 추가  - 초기설정

선행작업 Firebase - Unity 연동

1. 유니티 프로젝트 생성 (Android package name, IOS bundle Identified 설정)

2. Firebase console 창에서 프로젝트 추가, 앱등록
(필요한 Config file, SDK 파일 다운로드, Keystore 등록-->SHA1 Code)

3. Config 파일들 유니티 Asset 폴더에 드래그 & 드랍, SDK Import

4.  FirebaseInit.cs 생성

 


Microsoft Windows [Version 10.0.19042.804]
(c) 2020 Microsoft Corporation. All rights reserved.

C:\Users\godnr>cd C:\Program Files\Java\jdk-11.0.10\bin

C:\Program Files\Java\jdk-11.0.10\bin>keytool -list -v -keystore C:\Users\godnr\Desktop\MyUnity\FirebaseTestProj\Key\user.keystore
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: hup
Creation date: 2021. 2. 24.
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: ST=Republic.Korea, O=DefaultCompany
Issuer: ST=Republic.Korea, O=DefaultCompany
Serial number: 39bf25e3
Valid from: Wed Feb 24 14:17:03 KST 2021 until: Thu Feb 12 14:17:03 KST 2071
Certificate fingerprints:
         SHA1: **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
         SHA256: 7E:9C:2B:B4:9C:D6:9A:3F:56:41:2F:AB:29:DD:5F:A0:87:88:59:43:D8:D1:2F:69:50:EA:22:DA:0E:B7:53:1D
Signature algorithm name: SHA1withRSA (weak)
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3


*******************************************
*******************************************
  • SHA1 Code 확인

 

using Firebase;
using Firebase.Analytics;
using UnityEngine;

public class FirebaseInit : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task =>
        {
            FirebaseAnalytics.SetAnalyticsCollectionEnabled(true);
        });
    }
}
  • FirebaseInit.cs 생성

 

Ref. firebase.google.com/docs/unity/setup?hl=ko#prerequisites

 

Unity 프로젝트에 Firebase 추가

Unity 프로젝트에 Firebase 추가plat_iosplat_androidplat_unity Firebase Unity SDK를 활용하여 Unity 게임을 업그레이드해 보세요. Firebase를 Unity 프로젝트에 연결하는 것이 얼마나 간편한지 보여드리기 위해 Google

firebase.google.com

1. Firebase 프로젝트 만들기
2. Firebase에 앱 등록
3. Firebase 구성 파일 추가
4. Firebase Unity SDK 추가
5. Google Play 서비스 버전 요구사항 확인

 

! .NET 사용 호환성 문제 유의
프로젝트에서 사용 설정된 .NET 버전과 호환되지 않는 Firebase 플러그인을 가져오면 Parse SDK로 구현된 .NET 프레임워크에서 컴파일 오류가 발생할 수 있습니다.

Firebase Unity SDK 5.4.0 이상 버전은 Firebase Unity SDK의 dotnet3  dotnet4 디렉터리에서 .NET 3.x 또는 .NET 4.x와 호환되는 플러그인을 제공

다른 Firebase 플러그인을 가져오는 경우

  • Unity 프로젝트에서 Assets(애셋) > Play Services Resolver(Play 서비스 리졸버) > Version Handler(버전 핸들러) > Update(업데이트)로 이동하여 프로젝트에 해당하는 정확한 DLL을 사용 설정합니다.

ex) Unity Tool에 사용되는 .NET 버전은 2.0 

 


Dynamic Link 만들기

zetal.tistory.com/entry/Firebase-Dynamic-Link-%EC%83%9D%EC%84%B1-%EB%B0%A9%EB%B2%95

 

딥링크란? Firebase Dynamic Link 생성 방법

딥링크란 딥링크(Deeplink)는 특정 페이지에 도달 할 수 있는 링크를 말하며 모바일 딥링크란 모바일 어플리케이션의 특정 페이지에 도달 할 수 있는 링크를 말합니다. 아래 내용은 파이어베이

zetal.tistory.com

 

Unity로 동적 링크 수신

  • 직접 생성한 Firebase 동적 링크를 수신하려면 앱에 동적 링크 SDK를 포함하고 DynamicLinkReceived 이벤트를 처리할 리스너를 등록해야 합니다.
  • Unity SDK는 Android 및 iOS와 연동이 가능하며 각 플랫폼에 대해 몇 가지 설정이 추가로 필요합니다.

리스너 등록

void Start() {
  DynamicLinks.DynamicLinkReceived += OnDynamicLink;
}

// Display the dynamic link received by the application.
void OnDynamicLink(object sender, EventArgs args) {
  var dynamicLinkEventArgs = args as ReceivedDynamicLinkEventArgs;
  Debug.LogFormat("Received dynamic link {0}",
                  dynamicLinkEventArgs.ReceivedDynamicLink.Url.OriginalString);
}

 

 

cf. Firebase Unity SDK가 지원하는 Firebase 제품을 알아보세요.

 

 

 


기본원리

동적 링크를 만들려면 Firebase Console, REST API, iOS 또는 Android Builder API를 사용하거나 앱에 지정된 도메인에 동적 링크 매개변수를 추가하여 URL을 작성합니다.

이러한 매개변수는 사용자의 플랫폼 및 앱 설치 여부에 따라 열어야 할 링크를 지정합니다.

 

사용자가 동적 링크 중 하나를 열었는데 앱이 아직 설치되지 않은 경우, 개발자가 다른 작업을 지정한 것이 아니라면 사용자는 Play 스토어 또는 App Store로 이동하여 앱을 설치한 다음 앱이 열립니다. 그런 다음 앱에 전달된 링크를 가져와 앱에 맞게 딥 링크를 처리할 수 있습니다.

 

 


동적링크 만들기

자체 도메인 이름을 사용하여 동적 링크를 만들 수 있습니다.

https://example.com/summer-sale 
https://example.com/links/promos/summer-sale 
https://links.example.com/summer-sale https://ex.amp.le/summer-sale

또는 앱에 사용할 도메인이 없는 경우 무료로 제공되는 커스텀 page.link 하위 도메인을 사용할 수 있습니다.

https://example.page.link/summer-sale

Firebase Console에서 무료 하위 도메인을 만듭니다.

커스텀 page.link 도메인 및 자체 도메인 둘 다 애널리틱스, 설치 후 속성, SDK 통합 등의 모든 동적 링크 기능을 사용할 수 있습니다.

 

 


다음 단계

  • 일부 Firebase 동적 링크의 가장 일반적인 사용 사례와 구현 방법을 알아보세요.
  • 동적 링크를 만든 다음 iOS, Android, Unity, C++ 앱에서 수신하는 방법을 알아보세요.
  • 동적 링크에 자체 커스텀 도메인을 사용합니다.
  • 두 가지 분석 도구로 동적 링크의 성능을 파악합니다.

 

동적 링크의 커스텀 도메인 설정

커스텀 도메인을 사용하면 다음 예시와 같은 동적 링크를 만들 수 있습니다.

https://example.com/link-suffix
https://example.com/links/promos/link-suffix
https://links.example.com/link-suffix
https://ex.amp.le/link-suffix

link-suffix 앞에 있는 URL 부분 URL 프리픽스라고 하며 이 부분은 커스텀 동적 링크 도메인과 경로 프리픽스를 모두 포함합니다. 동적 링크를 만들 때 이 URL 프리픽스를 제공해야 합니다.

 

 


Ref.

1 firebase.google.com/products/dynamic-links/?gclid=CjwKCAiAyc2BBhAaEiwA44-wW5X6VeK61-aXaHnL0m81JE1gD-njifvbofPqKy3nKX4Aogtfk-hdyhoCROEQAvD_BwE

 

Firebase Dynamic Links | Deep link potential users to the right place inside your app

Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다.

firebase.google.com

2 firebase.google.com/docs/dynamic-links/custom-domains?hl=ko

 

동적 링크의 커스텀 도메인 설정  |  Firebase

page.link 하위 도메인 대신 자체 도메인을 사용하여 동적 링크 브랜딩을 보다 세부적으로 관리할 수 있습니다. 커스텀 도메인을 사용하면 다음 예시와 같은 동적 링크를 만들 수 있습니다. https://e

firebase.google.com

3 firebase.google.com/docs/dynamic-links/unity/receive?hl=ko

 

Unity로 동적 링크 수신  |  Firebase

직접 생성한 Firebase 동적 링크를 수신하려면 앱에 동적 링크 SDK를 포함하고 DynamicLinkReceived 이벤트를 처리할 리스너를 등록해야 합니다. Unity SDK는 Android 및 iOS와 연동이 가능하며 각 플랫폼에 대

firebase.google.com

4 firebase.google.com/docs/dynamic-links/create-links?hl=ko

 

동적 링크 만들기  |  Firebase

다음 4가지 방법으로 동적 링크를 만들 수 있습니다. Firebase 콘솔 사용: 소셜 미디어에서 공유할 프로모션 링크를 만드는 경우에 유용합니다. 이렇게 하면 Firebase Console에서 링크의 이름과 커스텀

firebase.google.com

 

Comments