SDK μ‚½μž…

1. ν•„μˆ˜ μ„€μ •

SDK μ„€μΉ˜

Cocoapod ν™˜κ²½μ—μ„œ SDK λ‹€μš΄λ‘œλ“œ 방법

XCode ν”„λ‘œμ νŠΈ νŒŒμΌμ€‘ Podfile νŒŒμΌμ— λ‹€μŒκ³Ό 같이 SDKλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€

pod 'RW'

기쑴에 SDKλ₯Ό ν•œλ²ˆ μ„€μΉ˜ν•œ κ²½μš°μ—λŠ” μ„€μΉ˜ν• SDK 버전을 ν‘œμ‹œν•΄μ•Ό ν•˜λŠ” κ²½μš°λ„ μžˆμŠ΅λ‹ˆλ‹€. μ•„λž˜μ™€ 같이 μ„€μΉ˜ν•  SDK버전을 λͺ…μ‹œμ μœΌλ‘œ ν‘œμ‹œν•˜λ©΄ λ©λ‹ˆλ‹€.

pod 'RW', '~> 1.1.62'

Podfile 에 해당라인을 μΆ”κ°€ν•œ ν›„ Terminal ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜μ—¬ λ‹€μŒμ˜ λͺ…령을 μˆ˜ν–‰ν•©λ‹ˆλ‹€

pod install

SDK 버전 μ—…λ°μ΄νŠΈμ˜ 경우 λ‹€μŒμ˜ λͺ…령을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

pod update

μ •μƒμ μœΌλ‘œ μ„€μΉ˜κ°€ 되면 μ•„λž˜μ™€ 같은 폴더 ꡬ쑰λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

Swift Package Managerλ₯Ό ν†΅ν•œ SDK λ‹€μš΄λ‘œλ“œ 방법

Xcode File λ©”λ‰΄μ—μ„œ Add Packages... λ₯Ό ν΄λ¦­ν•©λ‹ˆλ‹€.

RW-iOS-SPM λ˜λŠ” https://github.com/WisetrackerTechteam/RW-iOS-SPM μ£Όμ†Œλ‘œ κ²€μƒ‰ν•©λ‹ˆλ‹€.

μ΅œμ‹  λ²„μ „μ˜ νŒ¨ν‚€μ§€λ‘œ 선택 ν›„, Add Package λ²„νŠΌμ„ ν΄λ¦­ν•©λ‹ˆλ‹€.

μ™„λ£Œλ˜λ©΄ μ„€μΉ˜λœ νŒ¨ν‚€μ§€λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

TARGETS β†’ Build Phases β†’ Copy Bundle Resources 에 dop-native-sdk-inf.js νŒŒμΌμ„ λ“œλž˜κ·Έ μ•€ λ“œλžν•˜μ—¬ λ³΅μ‚¬ν•©λ‹ˆλ‹€.

SDK μ„€μΉ˜ - Cocoapod, Swift Package Mangerλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ„ 경우

SDK νŒŒμΌμ„ https://github.com/WisetrackerTechteam/RW-iOS-SDK μ—μ„œ λ‹€μš΄λ‘œλ“œ ν•©λ‹ˆλ‹€.

λ‹€μš΄λœ νŒŒμΌμ„ μ••μΆ• ν•΄μ œν•˜λ©΄ λ‹€μŒκ³Ό 같은 파일이 확인 κ°€λŠ₯ν•˜κ³  이쀑 μ•„λž˜μ— μ„ νƒλœ 3개의 νŒŒμΌμ„ 뢄석 λŒ€μƒ μ•± ν”„λ‘œμ νŠΈμ— μΆ”κ°€ν•©λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ 선택후 마우슀 우클릭, Add Files to 메뉴λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

μ•žμ—μ„œ λ‹€μš΄λ‘œλ“œ λ°›κ³ , μ••μΆ• ν•΄μ œν•œ 폴더에 λ“€μ–΄κ°€μ„œ μ•„λž˜μ™€ 같이 μΆ”κ°€ λŒ€μƒ νŒŒμΌμ„ μ„ νƒν•˜κ³ , ν™”λ©΄ μ•„λž˜μͺ½ 섀정은 μ‘΄μž¬ν•˜λŠ” λͺ¨λ“  target에 ν¬ν•¨λ˜μ—ˆλŠ”μ§€ 확인후 μΆ”κ°€ ν•˜λ©΄ λ©λ‹ˆλ‹€.

BuildSetting 에 μ•„λž˜μ™€ 같이 섀정을 μΆ”κ°€ν•©λ‹ˆλ‹€.

xcode κ°€ 12.3 이후 버전이고 λΉŒλ“œ κ³Όμ •μ—μ„œ μ•„λž˜μ™€ μœ μ‚¬ν•œ 였λ₯˜κ°€ λ°œμƒν•˜λŠ” κ²½μš°κ°€ 있으며,

μœ„μ˜ κ²½μš°μ—λŠ” μ•„λž˜μ™€ 같이 섀정을 ν•˜κ³ , λΉŒλ“œλ₯Ό ν•˜λ©΄λ©λ‹ˆλ‹€.

λ§ˆμ§€λ§‰μœΌλ‘œ, SDK κ°€ Dependencies 둜 μ‚¬μš©ν•˜λŠ” Couchbase-Lite framework λ₯Ό μ•„λž˜μ˜ μ£Όμ†Œμ—μ„œ λ‹€μš΄λ‘œλ“œ ν•©λ‹ˆλ‹€. 그리고 μœ„μ™€ λ™μΌν•œ λ°©λ²•μœΌλ‘œ λŒ€μƒ ν”„λ‘œμ νŠΈμ— μΆ”κ°€ν•˜μ—¬ μ€λ‹ˆλ‹€. μ•„λž˜μ˜ νŒŒμΌμ€ λ‹€μš΄λ‘œλ“œ 편의λ₯Ό μœ„ν•΄μ„œ zip 파일둜 μ••μΆ•ν•˜μ˜€μŠ΅λ‹ˆλ‹€. λ‹€μš΄λ‘œλ“œ 받은 νŒŒμΌμ„ μ••μΆ• ν•΄μ œν•˜μ‹œκ³ , CouchbaseLite.xcframework 폴더λ₯Ό ν”„λ‘œμ νŠΈμ— framework 둜 μΆ”κ°€ν•©λ‹ˆλ‹€. https://wisetracker-public.s3.ap-northeast-2.amazonaws.com/CouchbaseLite.xcframework.zip

dotAuthorizationKey 등둝

info.plist νŒŒμΌμ„ Open As Source Code λ°©μ‹μœΌλ‘œ μ˜€ν”ˆν•œ ν›„, μ•„λž˜ μ½”λ“œλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

μΆ”κ°€ν•œ μ½”λ“œ 쀑 serviceNumber 의 valueλ₯Ό μ˜¬λ°”λ₯Έ κ°’μœΌλ‘œ λ³€κ²½ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ™€μ΄μ¦ˆνŠΈλž˜μ»€ λŒ€μ‹œλ³΄λ“œμ— λ‘œκ·ΈμΈν•˜μ—¬ μ„€μ • > μ„œλΉ„μŠ€μ„€μ • λ©”λ‰΄μ—μ„œ 'μ„œλΉ„μŠ€λ²ˆν˜Έ' ν•­λͺ©μ— 기재된 숫자λ₯Ό 확인 ν›„ λ³΅μ‚¬ν•˜μ—¬ serviceNumber 값을 λ³€κ²½ ν•΄ μ£Όμ„Έμš”.

μ„œλΉ„μŠ€λ²ˆν˜Έ 확인

HTTP 톡신 ν—ˆμš©

http톡신을 ν—ˆμš©ν•˜κΈ° μœ„ν•΄ NSAppTransportSecurity λ₯Ό μ•„λž˜μ™€ 같이 μΆ”κ°€ν•©λ‹ˆλ‹€.

이전과 λ§ˆμ°¬κ°€μ§€λ‘œ info.plist νŒŒμΌμ„ Open As Source Code λ°©μ‹μœΌλ‘œ μ˜€ν”ˆν•œ ν›„, μ•„λž˜ μ½”λ“œλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

μ΄ˆκΈ°ν™”

  • μ΄ˆκΈ°ν™” 방법은 SceneDelegate κ°€ μ„€μ •λœ κ²½μš°μ™€ μ„€μ •λ˜μ§€ μ•Šμ€ κ²½μš°μ— 따라 λ‹¬λΌμ§‘λ‹ˆλ‹€.

  • SceneDelegateλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ©΄ AppDelegateμ—μ„œ μ΄ˆκΈ°ν™”μž‘μ—…μ„ ν•˜κ³ , κ·Έλ ‡μ§€ μ•Šκ³  SceneDelegateλ₯Ό μ‚¬μš©ν•˜λ©΄ SceneDelegateμ—μ„œ 이 μž‘μ—…μ„ ν•΄μ•Ό ν•©λ‹ˆλ‹€.

1. iOS13 미만 (SceneDelegate μ—†μŒ)

AppDelegate의 didFinishLaunchingWithOptions ν•¨μˆ˜μ— SDKλ₯Ό Initializationν•˜κΈ° μœ„ν•œ μ½”λ“œλ₯Ό λ‹€μŒκ³Ό 같이 μ μš©ν•©λ‹ˆλ‹€. SDKκ°€ μ •μƒμ μœΌλ‘œ μ΄ˆκΈ°ν™” λ˜μ—ˆμ„ λ•Œ μ•„λž˜μ™€ 같은 κΈ°λ³Έ 뢄석이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

  • μ•± μ‹€ν–‰ 및 방문수, 일/μ£Ό/μ›”μˆœμˆ˜λ°©λ¬Έμˆ˜ λ“± λ°©λ¬Έκ³Ό κ΄€λ ¨λœ μ§€ν‘œ

  • 톡신사, 단말기, κ΅­κ°€ λ“± 방문자의 단말기 ν™˜κ²½μœΌλ‘œ λΆ€ν„° μΆ”μΆœλ  수 μžˆλŠ” μ§€ν‘œ

DOTκ°€ μ‚¬μš©λ˜λŠ” κ³³μ—μ„œλŠ” import DOT을 톡해 importκ°€ ν•„μš”ν•©λ‹ˆλ‹€. μ΄ν•˜ 적용 μ˜ˆμ‹œμ—μ„œλŠ” importν•˜λŠ” 뢀뢄이 μƒλž΅λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

2. iOS13 이상 (SceneDelegate μ‚¬μš©)

πŸ‘‰ iOS13 이상이어도 SceneDelegateλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ„ μˆ˜λ„ μžˆμ–΄μš”, 이 λ•Œμ—λŠ” μœ„μ˜ SceneDelegateλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 경우λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

SceneDelegate의 sceneDidBecomeActiveν•¨μˆ˜μ— SDKλ₯Ό Initializationν•˜κΈ° μœ„ν•œ μ½”λ“œλ₯Ό λ‹€μŒκ³Ό 같이 μ μš©ν•©λ‹ˆλ‹€. SDKκ°€ μ •μƒμ μœΌλ‘œ μ΄ˆκΈ°ν™” λ˜μ—ˆμ„ λ•Œ μ•„λž˜μ™€ 같은 κΈ°λ³Έ 뢄석이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

  • μ•± μ‹€ν–‰ 및 방문수, 일/μ£Ό/μ›”μˆœμˆ˜λ°©λ¬Έμˆ˜ λ“± λ°©λ¬Έκ³Ό κ΄€λ ¨λœ μ§€ν‘œ

  • 톡신사, 단말기, κ΅­κ°€ λ“± 방문자의 단말기 ν™˜κ²½μœΌλ‘œ λΆ€ν„° μΆ”μΆœλ  수 μžˆλŠ” μ§€ν‘œ

μ–΄νŠΈλ¦¬λ·°μ…˜ 데이터 μ ‘κ·Ό

[DOT getAttributedInfo] ν˜ΈμΆœμ„ 톡해 μ™€μ΄μ¦ˆνŠΈλž˜μ»€ λŒ€μ‹œλ³΄λ“œμ—μ„œ μƒμ„±ν•œ μ–΄νŠΈλ¦¬λ·°μ…˜λ§ν¬λ₯Ό 톡해 앱을 μ„€μΉ˜ν•œ μœ μ €(non-organic)의 attribute 정보λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

βœ… ν•„μˆ˜ 체크 사항

1

iOS SDK μ΅œμ‹ λ²„μ „μ΄ μ μš©λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€

2

SDK μ΄ˆκΈ°ν™” ν•¨μˆ˜ DOT.initializationν˜ΈμΆœν•œ 이후 μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

result νŒŒλΌλ―Έν„°μ˜ ν˜•νƒœλŠ” μ•„λž˜μ˜ μ˜ˆμ‹œλ₯Ό μ°Έκ³  ν•΄μ£Όμ„Έμš”.

(result νŒŒλΌλ―Έν„° 데이터가 λΉ„μ–΄μžˆλ‹€λ©΄ Organic 으둜 μ‹λ³„λœ κ²°κ³Όμž…λ‹ˆλ‹€.)

β‘  μ•±μ„€μΉ˜(μ˜ˆμ‹œ)

β‘‘ μ•±μ‹€ν–‰(μ˜ˆμ‹œ)

Hybrid App을 μœ„ν•œ μ„€μ •

Hybrid μ•±μ˜ 경우 μ•± λ‚΄μ—μ„œ WebView λ₯Ό μ‚¬μš©ν•˜μ—¬ μ›Ή 컨텐츠λ₯Ό μ„œλΉ„μŠ€ ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€. 이와 같이 Webview 에 μ˜ν•΄μ„œ λ³΄μ—¬μ§€λŠ” μ›Ή μ»¨ν…μΈ μ˜ κ²½μš°μ—λŠ” μœ„μ—μ„œ μ„€λͺ…λœ Native ν™”λ©΄κ³ΌλŠ” λ‹€λ₯Έ λ°©μ‹μœΌλ‘œ λ™μž‘ν•˜κΈ° λ•Œλ¬Έμ—, λ³„λ„μ˜ 뢄석 μ½”λ“œ 적용이 ν•„μš”ν•©λ‹ˆλ‹€. 뢄석 λŒ€μƒ 앱이 λ§Œμ•½ Hybrid 앱인 κ²½μš°μ—λŠ” μ•„λž˜μ˜ μ½”λ“œλ₯Ό μ°Έκ³ ν•˜μ—¬ μ›Ή 컨텐츠도 뢄석할 수 μžˆλ„λ‘ μ μš©μ„ ν•΄μ•Όν•©λ‹ˆλ‹€.

μ•±λ‚΄μ—μ„œ μ‚¬μš©ν•  WKWebView의 Delegate ν•¨μˆ˜μ— μ•„λž˜μ™€ 같이 λΆ„μ„μ½”λ“œλ₯Ό μ μš©ν•©λ‹ˆλ‹€.

λͺ¨λ°”일앱내 웹뷰와 PC ν˜Ήμ€ λͺ¨λ°”μΌμ›Ήλ·°λ‘œ λ™μ‹œμ— μ‚¬μš©ν•˜λŠ” 화면인 경우 μ•„λž˜μ™€ 같은 μ›Ήν‚·λ·°λ₯Ό ν¬ν•¨ν•œ viewController의 viewWillApeear에 μ•„λž˜μ™€ 같이 μ μš©ν•΄μ£Όμ„Έμš”.

이벀트 μ„€μ •

βœ…ν™”λ©΄μ „ν™˜ λ˜λŠ” 이벀트 뢄석을 μœ„ν•œ 적용 방법은 ν”ŒλŸ¬κ·ΈμΈ μ„€μ • 및 μ΄ˆκΈ°ν™” 이후에 μ•„λž˜ 링크λ₯Ό ν΄λ¦­ν•˜κ±°λ‚˜, 쒌츑 IN-APP EVENT 메뉴λ₯Ό 톡해 κ°€μ΄λ“œλ₯Ό ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ‘‰νŽ˜μ΄μ§€ 뢄석 κ°€μ΄λ“œλ‘œ μ΄λ™ν•˜κΈ°

πŸ‘‰μΈμ•± 이벀트 μ„€μ •μœΌλ‘œ μ΄λ™ν•˜κΈ°

2. κ³ κΈ‰ μ„€μ •

κ³ κΈ‰ μ„€μ •μ΄λž€ λ°˜λ“œμ‹œ μ μš©ν•  ν•„μš”λŠ” μ—†μ§€λ§Œ μ™€μ΄μ¦ˆνŠΈλž˜μ»€μ˜ ν™•μž₯된 뢄석기λŠ₯을 ν™œμš©ν•˜κΈ° μœ„ν•΄ μΆ”κ°€ν•΄μ•Ό ν•˜λŠ” 섀정을 λ§ν•©λ‹ˆλ‹€. ν•„μš”μ— 따라 μ„ νƒμ μœΌλ‘œ 섀정을 μΆ”κ°€ν•΄μ£Όμ‹œκΈ° λ°”λžλ‹ˆλ‹€.

μœ λ‹ˆλ²„μ…œ 링크 μ„€μ • κ°€μ΄λ“œλŠ” λ³„λ„μ˜ λ¬Έμ„œμ— μ •λ¦¬λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

Universal Link μ„€μ •

continueUserActivity 뢀뢄에 μ•„λž˜μ™€ 같이 적용이 되면 μœ λ‹ˆλ²„μ…œ 링크λ₯Ό ν†΅ν•œ 광고뢄석이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

  • λ”₯링크가 μ„€μ •λœ url 을 ν†΅ν•΄μ„œ μ˜€ν”ˆλœ 이벀트λ₯Ό λΆ„μ„ν•©λ‹ˆλ‹€. 뢄석을 ν•˜κΈ° μœ„ν•΄μ„œλŠ” 앱에 custom url scheme μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

βœ”οΈμ™€μ΄μ¦ˆνŠΈλž˜μ»€ λŒ€μ‹œλ³΄λ“œμ—μ„œ μƒμ„±ν•œ μ–΄νŠΈλ¦¬λ·°μ…˜λ§ν¬λ₯Ό 톡해 ν…ŒμŠ€νŠΈ 및 광고집행을 μ§„ν–‰ν•˜λ©°, λ”₯링크 클릭 μ‹œ μ™€μ΄μ¦ˆνŠΈλž˜μ»€ μ„œλ²„κ°€ μ•±μ˜ μ„€μΉ˜ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜μ—¬ λ™μž‘ν•©λ‹ˆλ‹€. λ‹€μŒκ³Ό 같은 ν˜•νƒœμ˜ "https://xxxx.page.link" 링크λ₯Ό ν΄λ¦­ν•˜κ²Œ 되면 ν•΄λ‹Ή URL이 κ°€λ₯΄ν‚€λŠ” μ›ΉμœΌλ‘œ μ΄λ™ν•¨μœΌλ‘œμ¨ μ™€μ΄μ¦ˆνŠΈλž˜μ»€κ°€ μˆ˜μ§‘ν•˜μ—¬μ•Ό ν•˜λŠ” κ΄‘κ³ νŒŒλΌλ―Έν„°κ°’μ΄ μœ μ‹€λ  수 μžˆμ–΄, μ•±μœΌλ‘œ λ°”λ‘œ 이동 κ°€λŠ₯ν•œ λ‹€μŒκ³Ό 같은 ν˜•νƒœμ˜ Unique ν•œ μ»€μŠ€ν…€μŠ€ν‚€λ§ˆκ°€ ν•„μš”ν•©λ‹ˆλ‹€.

이미 λ§Œλ“€μ–΄μ§„ μœ λ‹ˆλ²„μ…œλ§ν¬κ°€ 쑴재 ν•œλ‹€λ©΄ μ™€μ΄μ¦ˆνŠΈλž˜μ»€μ—μ„œ μ‚¬μš©ν•  λ”₯링크 μ§„μž… μŠ€ν‚€λ§ˆ 섀정을 'μΆ”κ°€' ν•΄ μ£Όμ„Έμš”. (λ”₯λ§ν¬μŠ€ν‚€λ§ˆ μ„€μ • μΆ”κ°€μ‹œ λ‹€λ₯Έ 링크에 μ–΄λ– ν•œ 영ν–₯도 μ£Όμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.)

μœ„μ™€ 같이 섀정을 λ§ˆμΉ˜μ‹œκ²Œ λ˜μ‹œλ©΄ 예λ₯Όλ“€μ–΄ λ‹€μŒκ³Ό κ°™ ν˜•νƒœμ˜ μ»€μŠ€ν…€ μŠ€ν‚€λ§ˆκ°€ μƒμ„±λ©λ‹ˆλ‹€.

wisetracker://wisetracker.co.kr

μ—¬κΈ°μ„œ wisetracker:// 뢀뢄이Scheme(ν˜Ήμ€ ν”„λ‘œν† μ½œ) μž…λ‹ˆλ‹€. κ°œλ°œμžκ°€ 앱에 이 Schemeλ₯Ό μ“Έ 것이라고 κ²°μ •ν•˜λŠ” 것이며, ν•΄λ‹Ή Scheme만 섀정을 ν•˜μ…”λ„ λ©λ‹ˆλ‹€.

μ΄μ–΄μ„œ wisetracker.co.kr 뢀뢄은 νŠΉμ • νŽ˜μ΄μ§€μ— λ„λ‹¬ν•˜λ„λ‘ λ§Œλ“€κΈ° μœ„ν•œ host(ν˜Ήμ€ path or 도메인) μž…λ‹ˆλ‹€.

그리고 wisetracker://wisetracker.co.kr?product=1 μ΄λŸ¬ν•œ ν˜•νƒœλ‘œ λ§Œλ“œλŠ” κ²½μš°λŠ” νŠΉμ • νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜κΈ° μœ„ν•œ parameter 값을 μ§€μ •ν•˜λŠ” 것이며 ν•΄λ‹Ή 뢀뢄은 μ™€μ΄μ¦ˆνŠΈλž˜μ»€μ˜ SDKκ°€ μ•„λ‹Œ κ³ κ°μ‚¬μΈ‘μ—μ„œ 직접 μ„€μ •ν•΄μ£Όμ…”μ•Ό ν•˜λŠ” 값이며, νŠΉμ • νŽ˜μ΄μ§€λ‘œ 이동할 ν•„μš”κ°€ μ—†λ‹€λ©΄ parameter 값은 κΌ­ μ„€μ •ν•˜μ§€ μ•Šμ•„λ„ λ©λ‹ˆλ‹€.

λ”₯링크 뢄석

  • 앱이 μ„€μΉ˜λœ 이후 DeepLinkλ₯Ό ν†΅ν•΄μ„œ 앱이 μ‹€ν–‰λ˜λŠ” 경둜 뢄석이 ν•„μš”ν•œ 경우 μ•„λž˜μ™€ 같이 setDeepLink ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ 뢄석이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

μ™€μ΄μ¦ˆνŠΈλž˜μ»€ SDKλ₯Ό μ μš©ν•˜κ³ , κ΄‘κ³  뢄석을 ν•˜κ³ μž ν•˜λŠ” 경우, μ™€μ΄μ¦ˆνŠΈλž˜μ»€ μ‹œμŠ€ν…œμ—μ„œ λ°œκΈ‰λœ κ΄‘κ³  뢄석 링크에 μ˜ν•΄μ„œ 앱을 μ‹€ν–‰ν•˜λŠ” λ”₯링크 URL에 λ‹€μŒκ³Ό 같이 κ΄‘κ³  뢄석 λͺ©μ μ˜ νŒŒλΌλ―Έν„°κ°€ 좔가될 수 μžˆμŠ΅λ‹ˆλ‹€.

특히 μ›Ήμ•±μ˜ 경우 url μ΄λΌλŠ” νŒŒλΌλ―Έν„°λ₯Ό μ‚¬μš©ν•˜μ—¬ 웹뷰에 λ‘œλ”©λ˜μ–΄μ§ˆ μ›ΉνŽ˜μ΄μ§€ url을 μ „λ‹¬ν•˜λŠ” κ²½μš°κ°€ λ§Žμ€λ°, 이와 κ΄€λ ¨ν•˜μ—¬ μ•„λž˜μ˜ μΌ€μ΄μŠ€μ—λ„ λ¬Έμ œκ°€ μ—†λŠ”μ§€ λ°˜λ“œμ‹œ ν™•μΈν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

λ”₯링크 μ„€μ • ν›„ ν…ŒμŠ€νŠΈμ‹œ κ°€μ΄λ“œλΆμ„ μ°Έκ³ ν•΄ μ£Όμ„Έμš”.

Deffered Deep Link (μ§€μ—°λœ λ”₯링크) 적용

  1. μ§€μ—°λœ λ”₯링크 κΈ°λŠ₯은 Growth 레벨 μ΄μƒμ˜ μ‚¬μš©μžμ—κ²Œ μ œκ³΅λ©λ‹ˆλ‹€.

  2. μ§€μ—°λœ λ”₯링크 κΈ°λŠ₯ 제곡 SDK 버전 - Android SDK: Base Modeul - 1.0.81 이상 / New Dot Module - 1.0.51 이상 - iOS SDK: RW 1.1.52 이상

기쑴의 [DOT initialization] SDK μ΄ˆκΈ°ν™” ν•¨μˆ˜ λŒ€μ‹  μ•„λž˜μ˜ [DOT initializationForDeferredCallback] ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬, μˆ˜μ‹ λœ μ§€μ—°λœ λ”₯링크의 처리λ₯Ό μœ„ν•œ μ½”λ“œλ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.

μœ„μ™€ 같이 μ§€μ—°λœ λ”₯링크에 λŒ€ν•œ λŒ€μ‘ μ½”λ“œκ°€ 적용된 이후에 μ™€μ΄μ¦ˆνŠΈλž˜μ»€ λŒ€μ‰¬λ³΄λ“œμ—μ„œ μ•„λž˜μ™€ 같이 μ–΄νŠΈλ¦¬λ·°μ…˜ 링크λ₯Ό μƒμ„±ν•˜μ˜€λ‹€κ³  κ°€μ •ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

μ§€μ—°λœ λ”₯링크(λ””νΌλ“œ λ”₯링크)κ°€ μ‚¬μš©λœ μ–΄νŠΈλ¦¬λ·°μ…˜ 링크이기 λ•Œλ¬Έμ— λ§Œμ•½ 앱이 μ„€μΉ˜λ˜μ–΄ μžˆμ§€ μ•Šμ•˜λ˜ 경우라면, λ¨Όμ € μ•± μ„€μΉ˜λ₯Ό μœ„ν•΄ λ§ˆμΌ“(κ΅¬κΈ€μŠ€ν† μ–΄, μ•±μŠ€ν† μ–΄)으둜 μ΄λ™λ˜κ³ , μ•± μ„€μΉ˜ 이후에 앱을 μ‹€ν–‰μ‹œν‚€κ²Œ 되면 NSString* __deferredUrl λ³€μˆ˜μ— μ„€μ •ν•œ μ•± μ‹€ν–‰ 링크가 λ“€μ–΄κ°€ μžˆμŒμ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. (예: wisetester://mainscreen)

λ”°λΌμ„œ λ“€μ–΄κ°€ μžˆλŠ” (λ””νΌλ“œ) λ”₯링크 값에 따라 μ–΄λ–»κ²Œ μ²˜λ¦¬ν• μ§€ 이후 μ•‘μ…˜μ— λŒ€ν•΄ λŒ€μ‘λ˜λŠ” μ½”λ“œλ₯Ό κ°œλ°œν•΄ μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.

Facebook κ΄‘κ³  μ„±κ³Ό μΈ‘μ •

Facebook μ•±μ—μ„œ μœ μž…λ˜λŠ” μ„€μΉ˜μˆ˜λ₯Ό λΆ„μ„ν•˜κΈ° μœ„ν•΄μ„œλŠ” Facebookμ—μ„œ μ œκ³΅ν•˜λŠ” SDKκ°€ 뢄석 λŒ€μƒ 앱에 μ„€μΉ˜κ°€ μ„ ν–‰λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

λΉ„μ¦ˆλ‹ˆμŠ€ 인증

Facebook Developer μ‚¬μ΄νŠΈμ˜ μ•±μ„€μ •-κΈ°λ³Έμ„€μ •μ—μ„œ λΉ„μ¦ˆλ‹ˆμŠ€ 인증 μ—¬λΆ€λ₯Ό 확인 ν•΄ μ£Όμ„Έμš”. λΉ„μ¦ˆλ‹ˆμŠ€ 인증이 μ™„λ£Œλ˜μ§€ μ•Šμ•˜μ„ 경우, 리퍼러 정보가 μˆ˜μ‹ λ˜μ§€ μ•Šμ•„, facebook κ΄‘κ³  성과에 λŒ€ν•œ 츑정이 μ–΄λ ΅μŠ΅λ‹ˆλ‹€.

FBSDK λ‹€μš΄λ‘œλ“œ 방법

1) XCode ν”„λ‘œμ νŠΈ νŒŒμΌμ€‘ Podfile νŒŒμΌμ— λ‹€μŒκ³Ό 같이 SDKλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€

2) Podfile 에 dependency λ₯Ό μΆ”κ°€ν•œ λ’€μ—λŠ” Terminal ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜μ—¬ λ‹€μŒμ˜ λͺ…령을 μˆ˜ν–‰ν•©λ‹ˆλ‹€

FBSDK μ„€μΉ˜ 방법

1) info.plist νŒŒμΌμ„ source둜 보기 둜 μ˜€ν”ˆν•©λ‹ˆλ‹€

2) 이름 속성 μ•„λž˜μ— ν¬ν•¨λœ λ‚΄μš©μ€‘ [APP_ID] , [APP_NAME] , [CLIENT_TOKEN] 뢀뢄을 Facebook Developer Site μ—μ„œ μ œκ³΅ν•˜λŠ” κ°’μœΌλ‘œ μΉ˜ν™˜ν›„ info.plist νŒŒμΌμ— μ €μž₯ν•©λ‹ˆλ‹€

FBSDK λ‘œλΆ€ν„° Install Referrerλ₯Ό μˆ˜μ‹ ν•˜κ³ , SDK에 μ „λ‹¬ν•˜λŠ” 방법

μ‚¬μš©μžκ°€ Facebook에 λ…ΈμΆœλœ κ΄‘κ³ λ₯Ό ν΄λ¦­ν•˜κ³  앱을 μ„€μΉ˜ν•œ 경우 μ„€μΉ˜λœ μ•±μ—μ„œλŠ” FBSDKλ₯Ό ν†΅ν•΄μ„œ AppLinkDataλ₯Ό μˆ˜μ‹ λ°›μ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ•„λž˜μ˜ μ½”λ“œμ—μ„œ FBSDKλ‘œλΆ€ν„° AppLinkDataλ₯Ό μˆ˜μ‹  λ°›κ³ , μˆ˜μ‹  받은 AppLinkData λ₯Ό SDK둜 μ „λ‹¬ν•˜λŠ” 방법을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. 이 ν•¨μˆ˜λŠ” appDelegate의 didFinishLaunchingWithOptions ν•¨μˆ˜μ— μ μš©ν•˜μ„Έμš”. SDK μ΄ˆκΈ°ν™” 이 후에 DOT.setFacebookreferrerData() ν˜ΈμΆœμ„ 톡해 SDK에 리퍼러 url 이 전달될 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.

μ•„λž˜λŠ” Facebook μœΌλ‘œλΆ€ν„° Install Referrerλ₯Ό μˆ˜μ‹ λ°›κΈ° μœ„ν•΄, ATT λ™μ˜ 확인 > λ™μ˜ 여뢀에 따라 SDK에 Facebook 리퍼러 데이터λ₯Ό 전달 ν•˜λŠ” 예제 μ½”λ“œ μž…λ‹ˆλ‹€.

Facebook SDK와 κ΄€λ ¨ν•˜μ—¬ 보닀 μžμ„Έν•œ μ„€μΉ˜ 방법은 μ•„λž˜μ˜ λ§ν¬μ—μ„œ 확인이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

FBSDK iOS μ μš©λ°©λ²• μžμ„Ένžˆ 보기

μ•± μ„€μΉ˜ν˜• κ΄‘κ³  ν…ŒμŠ€νŠΈμ‹œ 확인 νŒμ—…

4. iOS 14 κ°œμΈμ •λ³΄λ°©μΉ¨ λ³€κ²½ κ΄€λ ¨ κ°€μ΄λ“œ

  • iOS 14λΆ€ν„° IDFAλ₯Ό νšλ“ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ‚¬μš©μžμ˜ λ™μ˜λ₯Ό μ–»μ–΄μ•Ό ν•©λ‹ˆλ‹€.

3.1 info.plistνŒŒμΌμ— NSUserTrackingUsageDescription μ„€μ • μΆ”κ°€

3.2 App Tracking Transparency λ™μ˜ System Alert λ…ΈμΆœ & API 호좜

  • IDFA νšλ“μ„ μœ„ν•΄ μ•± 좔적 투λͺ…μ„± λ™μ˜ μš”μ²­ System Alert(λŒ€ν™” μƒμž)을 λ„μ›Œμ•Ό ν•©λ‹ˆλ‹€. λ™μ˜ μš”μ²­ System Alert(λŒ€ν™” μƒμž) 화면에 λ„μš°λ €λ©΄ requestTrackingAuthorizationWithCompletionHandler:λ₯Ό ν˜ΈμΆœν•©λ‹ˆλ‹€. completionHandlerμ—μ„œ λ™μ˜ μ‹œ SDK APIλ₯Ό ν˜ΈμΆœν•˜λ„λ‘ μœ„μ™€ 같이 κ΅¬ν˜„ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

Last updated

Was this helpful?