기술 자료

​
​

Development

User Acquisition

Monetization

산업 분야

Unity 오퍼월

Offerwall Android SDK

Offerwall iOS SDK

Offerwall Unity SDK

Unity 오퍼월

Tapjoy Offerwall
​
​
소개
  • 빠른 시작
  • 수동 연동
  • 변경 기록
  • 업데이트 가이드
  • SDK 레퍼런스
  • 오퍼월 마이그레이션 체크리스트
Placements
  • 가상 재화
  • SDK
  • 오퍼월 마이그레이션 가이드
테스트
  • 테스트 디바이스
  • 예시
고급
  • 사용자 개인정보 보호
  • 사용자 프로퍼티
Cocos2dx
  • C++ 라이브러리
  • C++ API 레퍼런스
  1. 게임 성장
  2. Unity Offerwall
  3. iOS SDK

수동 연동

SDK를 수동으로 추가하고 프로젝트를 구성하여 Offerwall 기능을 활성화하면 탭조이 오퍼월을 iOS 앱에 연동할 수 있습니다.
읽는 시간 4분
최근 업데이트: 8시간 전

SDK 다운로드

앱과 통합하기 위한 첫 번째 단계는 iOS SDK를 다운로드하는 것입니다.

프로젝트에 SDK 추가

SDK 압축을 해제하면 문서, 라이브러리 및 TapjoyEasyApp을 찾을 수 있습니다.
“TapjoyEasyApp”은 탭조이 연동을 보여주는 샘플 프로젝트입니다. 애플리케이션에 탭조이를 연동하는 데 이 프로젝트가 필요한 것은 아니지만 유용한 참고 자료가 될 수 있습니다.
프로젝트에 파일을 추가하려면 ‘File’ 및 ‘Add files to Project’를 선택합니다. 'Libraries' 폴더로 이동하여
Tapjoy.xcframework
를 선택합니다. 다이얼로그에서 'copy items if needed'를 선택한 다음 'Add'를 클릭합니다.
그런 다음 빌드 설정에서
Other Linker Flags (OTHER_LDFLAGS)
로 이동하여
-ObjC
플래그를 추가합니다.

필수 프레임워크 추가

다음 단계는 프로젝트에 필요한 프레임워크를 추가하는 것입니다. 이를 위해 프로젝트 탐색기에서 프로젝트 아이콘을 클릭한 후 “Build Phases”를 선택하고, “Link Binary With Libraries”를 확장한 다음 해당 섹션의 왼쪽 하단에 있는 “+” 기호를 클릭합니다. 프레임워크는 알파벳순으로 나열되며, CMD 키를 누른 상태에서 여러 프레임워크를 선택하여 한 번에 추가할 수 있습니다.
프로젝트에 다음 프레임워크를 모두 추가합니다.
  • AdSupport
  • CFNetwork
  • CoreTelephony
  • StoreKit
  • SystemConfiguration
  • UIKit
  • WebKit
  • libc++
  • libz

앱 트래킹 투명성 승인 요청

애플리케이션이 앱 트래킹 투명성을 사용하도록 설계된 경우 IDFA에 대한 액세스 권한을 요청하는 다이얼로그를 표시하려면 애플리케이션에서 IDFA 사용 권한을 설명하는 커스텀 메시지와 함께
NSUserTrackingUsageDescription
키를 포함하여 Info.plist를 업데이트합니다.
예제는 아래와 같습니다.
<key>NSUserTrackingUsageDescription</key><string>이렇게 하면 개인화된 광고를 제공할 수 있습니다.</string>
NSUserTrackingUsageDescription 키가 포함된 정보 프로퍼티 목록입니다.
그러면 아래 스크린샷과 같이 사용 설명 텍스트가 앱 트래킹 투명성 권한 다이얼로그의 일부로 표시됩니다.
iOS 앱 트래킹 투명성 권한 다이얼로그.
프로젝트에
AppTrackingTransparency
프레임워크를 추가한 다음
requestTrackingAuthorizationWithCompletionHandler:
를 호출하여 인증 프롬프트를 표시합니다. 베스트 프랙티스로 Tapjoy에 연결하기 전에
requestTrackingAuthorization
완료 핸들러를 기다리는 것이 좋습니다. 그러면 모든 요청에서 예상 IDFA 값을 사용할 수 있습니다.
#import <apptrackingtransparency apptrackingtransparency.h>... - (void)fetchTrackingAuthorization { [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {// Call the Offerwall connect function here. }]; }
import AppTrackingTransparency...func fetchTrackingAuthorization() { ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in // Call the Offerwall connect function here. })}

탭조이에 연결

다음 단계로, 애플리케이션에 탭조이 연결 코드를 추가합니다. 이 코드의 키 비트는 애플리케이션에서 Offerwall SDK를 ‘활성화’합니다.
참고
탭조이 연결 호출이 제대로 구현되지 않으면 탭조이의 제품이나 기능이 작동하지 않으므로 이 연결 호출은 매우 중요합니다.*
탭조이 연결 호출을 구현하려면 연동하려는 애플리케이션에 Offerwall SDK 키가 있어야 합니다. 이 키를 찾으려면 Tapjoy 대시보드에서 애플리케이션으로 이동하여 상단 내비게이션 바에서 'Settings' 버튼을 클릭합니다. ‘App Settings’로 이동하면 페이지하단에 SDK 키가 표시됩니다.
이제 애플리케이션의 앱 델리게이트 파일의
application:didFinishLaunchingWithOptions
메서드에 다음 코드 스니핏을 포함합니다.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tjcConnectSuccess:) name:TJC_CONNECT_SUCCESS object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tjcConnectFail:) name:TJC_CONNECT_FAILED object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tjcConnectWarning:) name:TJC_CONNECT_WARNING object:nil]; //Turn on Tapjoy debug mode [Tapjoy setLoggingLevel:TJLoggerLevelDebug]; //Only enable debug mode for development. 앱을 퍼블리싱하기 전에 비활성화합니다. //If you are using Self-Managed currency, you need to set a user ID using the connect flags. NSDictionary *connectFlags = @{TJC_OPTION_USER_ID : @"<USER_ID_HERE>"}; [Tapjoy connect:@"SDK_KEY_GOES_HERE" options:connectFlags]; //If you are not using connect flags, you can omit them [Tapjoy connect:@"SDK_KEY_GOES_HERE"]; return YES;}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.tjcConnectSuccess(notif:)), name: NSNotification.Name(rawValue: TJC_CONNECT_SUCCESS), object: nil) NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.tjcConnectFail(notif:)), name: NSNotification.Name(rawValue: TJC_CONNECT_FAILED), object: nil) NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.tjcConnectWarning(notif:)), name: NSNotification.Name(rawValue: TJC_CONNECT_WARNING), object: nil) //Turn on Tapjoy debug mode Tapjoy.loggingLevel = .debug //Only enable debug mode for development. 앱을 퍼블리싱하기 전에 비활성화합니다. //If you are using Self-Managed currency, you need to set a user ID using the connect flags. let connectFlags = [TJC_OPTION_USER_ID : "<USER_ID_HERE>"] Tapjoy.connect("SDK_KEY_GOES_HERE", options: connectFlags) //If you are not using connect flags, you can omit them Tapjoy.connect("SDK_KEY_GOES_HERE") return true}
연결 호출 전에
setLoggingLevel
메서드를 정의해야 합니다. 연결 플래그를 사용하여 사용자 ID를 설정하는 것이 좋습니다. 이렇게 하면 AppLaunch 플레이스먼트에서는 호출 시 적절한 사용자 ID를 검색할 수 있습니다.
자세한 내용은 Unity SDK 레퍼런스에서 확인할 수 있습니다. Objective-C와 C++.

연결 알림

탭조이가 연결을 완료하거나, 경고로 연결되었거나, 연결에 실패했을 때 알림을 받으려면 이전에 선택자로 설정한 메서드를 구현해야 합니다. 연결 중에 블로킹 이외 문제가 발생하면(또는
connectSuccess
이후에도)
connectWarning
콜백이 작동합니다. 현재 이 기능은 ConnectFlags에서 전송된 경우에만 UserId 관련 문제를 감지합니다.
- (void)tjcConnectSuccess:(NSNotification *)notifyObj { NSLog(@"Tapjoy connect succeeded");}- (void)tjcConnectFail:(NSNotification *)notifyObj { NSLog(@"Tapjoy connect failed");}- (void)tjcConnectWarning:(NSNotification *)notifyObj { NSError *error = notifyObj.userInfo[TJC_CONNECT_USER_INFO_ERROR]; NSError *underlyingError = error.userInfo[NSUnderlyingErrorKey];}
@objc func tjcConnectSuccess(notif: NSNotification) { NSLog("Tapjoy connect succeeded")}@objc func tjcConnectFail(notif: NSNotification) { NSLog("Tapjoy connect failed")}@objc func tjcConnectWarning(notif: NSNotification) { var message = "Tapjoy Connect Warning" if let error = notif.userInfo?[TJC_CONNECT_USER_INFO_ERROR] as? NSError { message.append("\nError: \(error.code) - \(error.localizedDescription)") if let underlyingError = error.userInfo[NSUnderlyingErrorKey] as? NSError { message.append("\nUnderlying Error: \(underlyingError.code) - \(underlyingError.localizedDescription)") } }}
이제 애플리케이션을 컴파일하고 실행합니다. 모든 작업을 올바르게 수행했다면 콘솔 로그에 다음과 유사한 내용이 출력됩니다.
2020-01-29 16:01:55.422 Storyteller Roller[25869:1433019] [TJLog level: 4] Connect success with type:0
Tapjoy 대시보드의 상단 내비게이션에서 Analytics를 선택하고 왼쪽 내비게이션에서 "Real-time" 탭을 선택하면 애플리케이션 실행 직후에 애플리케이션의 활동이 표시됩니다.

Copyright © 2026 Unity Technologies
법률 정보개인정보 처리방침쿠키Documentation Terms of Use개인 정보 판매 또는 공유 금지개인정보 보호 선택(쿠키 설정)

'Unity', Unity 로고 및 기타 Unity 상표는 미국 및 기타 지역 내 Unity Technologies 또는 그 계열사의 상표 또는 등록상표입니다(자세한 내용은 여기에서 확인하세요). 기타 명칭 또는 브랜드는 해당 소유자의 상표입니다.

일부 페이지는 편의를 위해 기계 번역되었으며 부정확한 내용이 있을 수 있습니다. 정보가 상충되는 경우, 영어 버전을 우선으로 참조하세요.

  • 보고 있는 페이지
    • SDK 다운로드

    • 프로젝트에 SDK 추가

      • 필수 프레임워크 추가

    • 앱 트래킹 투명성 승인 요청

    • 탭조이에 연결

    • 연결 알림


이 페이지의 문제 보고