For the complete documentation index, see llms.txt. This page is also available as Markdown.

React Native

1. Plugin Integration

1.1 Plugin 설치

개발하시는 React Native 프로젝트의 폴더로 이동하시어 아래의 명령을 수행하여 plugin 을 설치합니다.

npm install react-native-s2offerwall

iOS 폴더로 이동해 pod install 을 실행합니다. 이때 만약 오류가 발생한다면 Podfile 을 열어서 아래 부분을 수정해주세요.

cd ios
pod install

// 오류 발생시 Podfile 을 열어서 아래의 내용을 수정합니다.
platform :ios, min_ios_version_supported  
--> platform :ios, '16.0' # 하드코딩 값으로 설정합니다.

Plugin 을 사용하기 위해서는 해당 소스 파일에서 아래의 import 문을 넣어주세요.

import { S2Offerwall } from 'react-native-s2offerwall';

1.2 APP ID 설정하기

Android 의 경우에는 AndroidMenifest.xml 파일에 설정하며, iOS 의 경우에는 info.plist 파일에 설정할 수 있습니다. 하지만 이 경우 Native 쪽 파일을 수정해야하므로 그보다는 plugin 이 제공하는 API 를 사용하여 설정하는 것을 권장합니다.

1.3 SDK 초기화

APP_ID 를 설정한 후 SDK 초기화 함수를 호출합니다.

SDK 초기화 성공 또는 실패 여부는 EventListener 를 등록하여 확인할 수 있습니다. initSDK() 호출 전에 설정해야합니다.

1.4 사용자 식별값 설정하기

광고 참여를 위해서는 사용자 식별값이 설정되어야합니다. 일반적으로 매체의 로그인 ID 가 사용되며 아래의 API 를 호출하여 SDK 에 사용자 식별값을 설정합니다. 이렇게 설정된 식별값은 이후 사용자가 광고 참여를 완료하는 시점에 매체의 서버로 callback 이 호출되는데 그때 pub_user_nm 파라메터로 전달됩니다.

SDK v1.0.19 부터 setUserName() 에 displayName 파라메터가 추가되었습니다. 해당 파라메터는 오퍼월내 이벤트에서 랭킹 등을 표시할 때 사용되며 유저의 앱 내 닉네임 등으로 전달해주시면 됩니다. Snap 오퍼월의 다양한 이벤트들을 100% 활용하기 위하여 displayName 파라메터가 필요하므로 가급적 적용해주시기 바랍니다.

사용자가 광고를 참여하는 시점에 아직 사용자 식별값이 설정되지 않았다면 onLoginRequested() 이벤트가 호출됩니다. 이 이벤트에서 사용자 식별값을 설정하도록 구현해주세요. (3. Sample Code 참고)

2. 오퍼월 띄우기

아래의 함수를 호출하여 오퍼월을 띄웁니다. Android 에서는 S2OfferwallActivity 를 사용하여 오퍼월을 보여주며, iOS 에서는 S2OfferwallViewController 를 modal 창으로 띄워서 오퍼월을 표시합니다.

플레이스먼트는 Snapplay 사이트에서 설정할 수 있습니다. 그리고 추가적으로 "main" 이라는 특별한 플레이스먼트가 있습니다. 메인 오퍼월은 여러개의 플레이스먼트 오퍼월을 조합하여 하나의 화면에 표시해주는 오퍼월입니다. 메인 오퍼월을 띄우고자 할 때에는 플레이스먼트 이름 대신에 'main' 을 사용합니다.

앱 추적 동의 설정

iOS 의 경우에는 IDFA 수집을 위한 추적 허용을 명시적으로 사용자에게 동의받아야합니다. 앱 추척(App Tracking Transparency, ATT) 동의 창을 띄우기 위해서는 우선 info.plist 파일에 Tracking Usage Description 항목을 작성해야합니다. (iOS의 2.2 APP_ID 설정하기 참고).

이후 앱 추적 동의 창을 띄우기 위한 아래의 함수를 호출합니다. 앱 추적 동의 창은 앱이 시작되는 시점에 띄우는 것을 권장합니다. 아래 함수 호출시 Android 의 경우에는 아무런 동작을 하지 않습니다.

3. Sample Code

아래는 버튼을 클릭하면 Offerwall 을 띄우는 가장 간단한 구현 코드입니다.

마지막 업데이트