SDK 설치 및 API 적용
푸시 메세지 사용을 위한 와이즈트래커 SDK 적용 방법을 설명합니다
SDK설치
XCode 프로젝트 파일중 Podfile 파일에 다음과 같이 SDK를 추가합니다
pod 'RW'기존에 SDK를 한번 설치한 경우에는 설치할SDK 버전을 표시해야 하는 경우도 있습니다. 아래와 같이 설치할 SDK버전을 명시적으로 표시하면 됩니다.
pod 'RW', '~> 1.1.57'Terminal
TerminalPodfile 에 해당라인을 추가한 후 Terminal 프로그램을 실행하여 다음의 명령을 수행합니다.
pod installSDK 버전 업데이트의 경우 다음의 명령을 수행합니다.
pod update정상적으로 설치가 되면 아래와 같은 폴더 구조를 확인할 수 있습니다.
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 파일을 드래그 앤 드랍하여 복사합니다.
iOS FCM Push notification의 경우 Wisetracker iOS SDK 1.1.57 버전 이상인 경우 정상동작 합니다.
Xcode File 메뉴에서 Add Packages... 를 클릭합니다.
1. 와이즈트래커 SDK 적용
RW-iOS-SPM 또는 https://github.com/WisetrackerTechteam/RW-iOS-SPM 주소로 검색합니다.
최신 버전의 패키지로 선택 후, Add Package 버튼을 클릭합니다.
TARGETS → Build Phases → Copy Bundle Resources 에 dop-native-sdk-inf.js 파일을 드래그 앤 드랍하여 복사합니다.
2. FCM 사용을 위한 Firebase 적용
(와이즈트래커 SDK와 호환이 가능한 패키지 버전을 직접 선택하여 추가 해주세요)
dotAuthorizationKey 등록
info.plist
info.plistinfo.plist 파일을 Open As Source Code 방식으로 오픈한 후, 아래 코드를 추가합니다.
추가한 코드 중 4번 라인 serviceNumber의 string value를 올바른 값으로 변경해야 합니다.
대시보드 화면 좌측 메뉴에서 "서비스 설정 > 어플리케이션 설정"화면에서 "서비스 번호"를 복사하여
info.plist 파일 4번 라인 serviceNumber의 string value로 입력해주세요.

HTTP 통신 허용
info.plist
info.plisthttp통신을 허용하기 위해 NSAppTransportSecurity 를 아래와 같이 추가합니다
"Push Notification" Capability 추가
앱에 푸시기능을 추가합니다.
"Signing & Capabilities" 탭을 선택한 후 화면 왼쪽의 "+ Capability"를 눌러주세요.

"Capability"화면에서 "Push Notification"기능을 선택합니다.

이제 "Push Notification" 기능이 활성화되었습니다.

APNs 원격 알림을 받기위해 아래와 같이 Background Modes 활성화 체크도 필요합니다
![]()
초기화
초기화 방법은 SceneDelegate 가 설정된 경우와 설정되지 않은 경우에 따라 달라집니다.
SceneDelegate를 사용하지 않으면 AppDelegate에서 초기화작업을 하고, 그렇지 않고 SceneDelegate를 사용하면 SceneDelegate에서 이 작업을 해야 합니다.
1. iOS13 미만 (SceneDelegate 없음)
AppDelegate의 didFinishLaunchingWithOptions 함수에 SDK를 Initialization하기 위한 코드를 다음과 같이 적용합니다. SDK가 정상적으로 초기화 되었을 때 아래와 같은 기본 분석이 가능합니다.
앱 실행 및 방문수, 일/주/월순수방문수 등 방문과 관련된 지표
통신사, 단말기, 국가 등 방문자의 단말기 환경으로 부터 추출될 수 있는 지표
DOT가 사용되는 곳에서는 import DOT을 통해 import가 필요합니다. 이하 적용 예시에서는 import하는 부분이 생략되어 있습니다.
2. iOS13 이상 (SceneDelegate 사용)
SceneDelegate 사용)👉 iOS13 이상이어도 SceneDelegate를 사용하지 않을 수도 있어요, 이 때에는 위의 SceneDelegate를 사용하지 않는 경우를 참조하세요.
SceneDelegate의 sceneDidBecomeActive함수에 SDK를 Initialization하기 위한 코드를 다음과 같이 적용합니다. SDK가 정상적으로 초기화 되었을 때 아래와 같은 기본 분석이 가능합니다.
앱 실행 및 방문수, 일/주/월순수방문수 등 방문과 관련된 지표
통신사, 단말기, 국가 등 방문자의 단말기 환경으로 부터 추출될 수 있는 지표
PushMessage API 적용(필수)
Device Token 등록
Wisetracker SDK 호출 한 코드 아래에 푸시 권한을 요청하는 코드를 삽입합니다.
☑️Objective-C 의 경우 AppDelegate.h 파일에 UserNotifications을 추가한 후
Device Token 수집
Device token은 푸시 발송 시스템에서 메시지 전송시 수신 대상이 되는 개개인 별로 Unique하게 발급되는 일종의 식별ID 값입니다. Device token을 수집을 위해서 AppDelegate 에 정의된 didRegisterForRemoteNotificationsWithDeviceToken() 함수에 아래와 같이 분석 코드를 적용합니다
AppDelegate
푸시메세지 클릭 측정
수신된 푸시 메시지를 클릭하여 앱이 실행된 오픈수 분석을 위하여 아래와 같이 추가합니다.
AppDelegate
AppDelegate이미지 푸시메시지 적용(선택)
Notification Service Extension Target 추가
이미지를 포함한 푸시메세를 수신받기 위해 필요합니다.
File - New - Target 메뉴에서 "Notification Service Extension"을 선택합니다.
Product Name에 타겟명을 입력합니다. (아래에서 Podfile에 target을 추가할때 사용할 타겟명입니다)
Finish 버튼 클릭 후 아래와 같은 NotificationServiceExtension 폴더가 생성됩니다.
Podfile 수정
Podfile에 아래와 같이 이미지 푸시를 위한 타겟을 추가한 후 pod install 명령어를 실행시켜 줍니다.
Podfile
Podfile위의 "NotificationServiceExtension"은 고객사에서 만든 타켓명으로 해주셔야 합니다.
예시는 타겟명이 "NotificationServiceExtension"인 경우입니다.
NotificationService 수정
NotificationService파일을 열어 아래의 내용으로 대체해 주세요. * 기존 내용을 모두 삭제하고 아래 내용으로 대체하는것이며, 추가가 아님에 유의 해 주세요.
NotificationService
동영상 Push 적용(선택)
Notification Content Extension Target 추가
동영상을 포함한 Push를 확장했을 때 Push 화면영역 내에서 동영상 실행을 위해 필요합니다.
File - New - Target 메뉴에서 Notification Content Extension 선택합니다.
Product Name에 타겟명을 입력합니다. (아래에서 Podfile에 target을 추가할때 사용할 타겟명입니다)
추가 완료 시 아래와 같은 폴더가 생성됩니다.
기존파일 대체
이 작업은 파인더를 이용해서 진행해주세요, XCode에서 복사/붙여넣기 하면 제대로 복사되지 않습니다
Pods/RW/Resources 경로 아래 Base.lproj 폴더와, NotificationViewController 파일을 복사하여, 새로 생성한 NotificationContentExtension 폴더의 동일한 파일에 덮어 씌워 줍니다.
info.plist 파일 수정
NSExtensionAttributes 키값을 찾아 아래와 같이 replace해줍니다.
info.plist
info.plistPodfile 수정
아래와 같이 YouTubePlayer 라이브러리(동영상 실행을 위한 라이브러리)를 추가하고, pod install를 실행합니다.
아래의 "NotificationContentExtension"은 고객사에서 만든 타켓명으로 해주셔야 합니다. 예시는 타겟명이 "NotificationContentExtension"인 경우입니다.
Podfile
Podfile푸시 수신동의
푸시발송은 기본 적용에서는 "수신거부"입니다. 아래 링크를 참조하여 화면에서 수신동의/거부를 진행 후 해당 데이터를 "태깅"작업을 통해 남겨주세요.
축하합니다.
이제 iOS SDK 설정이 완료되었습니다.
Last updated
Was this helpful?