백지부터 시작하는 이세계 코딩 생활
Deep Link - Firebase (Dynamic Link) 본문
! 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
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
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을 작성합니다.
동적링크 만들기
커스텀 링크 도메인
자체 도메인 이름을 사용하여 동적 링크를 만들 수 있습니다.
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.
2 firebase.google.com/docs/dynamic-links/custom-domains?hl=ko
3 firebase.google.com/docs/dynamic-links/unity/receive?hl=ko
4 firebase.google.com/docs/dynamic-links/create-links?hl=ko
'백지부터 시작하는 이세계 유니티 생활 since 2020' 카테고리의 다른 글
Firebase Console - Dynamic Link 셋업하기 (0) | 2021.02.25 |
---|---|
Firebase - Unity 등록 및 인증파일 관련 (0) | 2021.02.24 |
StringBuilder (0) | 2021.02.23 |
Deep Link SDK (3rd party)List (0) | 2021.02.22 |
Deep Link with Intent, Scheme (0) | 2021.02.22 |