SDK Integration

PointPub SDK 설정 및 관련 작업을 진행합니다.

0. 최소 지원 사양

  • MinSdkVersion 21

  • CompileSdkVersion 35

  • Unity Editor 2021.3 이상

1. PointPub Unity SDK 추가

1) PointPub Unity SDK를 다운로드 합니다.

2) Assets > Import Package > Custom Package를 선택하여 다운로드한 PointPub-x.x.x.unitypackage 파일을 찾아 추가하거나 PointPub-x.x.x.unitypackage를 더블클릭하여 실행합니다.

새로운 Package로 업데이트 시 PointPubUnityPackage를 import 하기 전에, 아래의 폴더를 삭제하신 후 진행해주시기 바랍니다.

  • Assets/PointPub 폴더 제거

3) 모든 파일을 선택하고 import 합니다.

4) Unity Play Services Resolver가 이미 포함되어 있으시면 PointPubUnityPackage에서 ExternalDependencyManager를 제외하신 후 import 해주시면 됩니다.

2. APP ID 설정

AndroidManifest.xml<meta-data>를 추가 후 발급 받은 APP ID를 value에 넣어줍니다.

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <application>
        <activity android:name="com.unity3d.player.UnityPlayerActivity"
                  android:theme="@style/UnityThemeSelector">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
        </activity>

        <!-- PointPub APP ID 필수 입력 -->
        <meta-data
            android:name="pointpub_app_id"
            android:value="your_app_id" />
    </application>
</manifest>
// APP_ID 동적 등록
PointPubSDK.Instance.SetAppId("your_app_id")

3. 광고 목록 노출

오퍼월을 노출할 시점에 startOfferwall 메소드를 호출해주세요.

  • 유저 식별값(userId)을 필수로 입력합니다.

    유저 식별값은 고유한 유저 식별값으로 가변적이면 안되며, 개인정보(이메일, 이름, 전화번호)가 포함되면 안됩니다.

  • 오퍼월이 노출 되거나, 종료된 경우 이벤트를 받을 수 있습니다.

EnableLogTrace() 메소드는 로그를 활성화하는 메소드입니다.
광고 목록이 노출되지 않거나 광고 참여 테스트 중 문제가 생길 때에 로그를 활성화해주세요.
using PointPubUnityPlugin;
using UnityEngine;

...
if (GUI.Button(new Rect(buttonX, buttonY, buttonWidth, buttonHeight), "Start Offerwall", buttonStyle))
{
    // userId 설정
    PointPubSDK.Instance.SetUserId("your_user_id")
    
    // 디버깅시 로그 활성화
    PointPubSDK.Instance.EnableLogTrace();

    // 오퍼월 광고 목록 노출 (노출과 닫기의 콜백 수신 가능)
    PointPubSDK.Instance.StartOfferWall(
       onOpened: () => {
           Debug.Log("OfferWall opened");
       },
       onClosed: () => {
           Debug.Log("OfferWall closed");
       }
   );
}

4. 가상화폐

포인트펍을 통해 광고 참여하여 획득한 포인트는 포인트펍 서버에서 관리 또는 매체(개발)사의 서버를 통해 관리 가능합니다.

아래의 내용은 가상화폐(포인트) 조회 및 사용 기능은 포인트펍 서버에서 관리되는 경우에 해당됩니다.

1) 가상화폐 조회

가상화폐 조회의 경우 아래의 시점에 요청하는 것을 권장드립니다.

  • 앱 실행

  • 상점 진입

  • 오퍼월 닫기(종료) 시점

단, 개인정보 동의가 이루어지지 않은 경우 사용이 불가하여 실패가 발생됩니다.

// 가상화폐 조회
PointPubSDK.Instance.GetVirtualPoint(
    onSuccess: (pointName, remainingPoint) => {

    },
    onFailure: (reason) => { 
    
    }
);

2) 가상화폐 사용

가상화폐 사용은 가상화폐 조회 후 발생된 잔액을 사용하는 것을 권장드립니다.

public void QueryVirtualPoint() {
    // 가상화폐 조회
    PointPubSDK.Instance.GetVirtualPoint(
        onSuccess: (pointName, remainingPoint) => {
            // 가상화폐 사용
            if (remainingPoint > 0) {
                SpendVirtualPoint(remainingPoint)
            }
        },
        onFailure: (reason) => { 
    
        });
}

public void SpendVirtualPoint(long amount) {
    // 가상화폐 사용
    PointPubSDK.Instance.SpendVirtualPoint(
        amount,
        onSuccess: (pointName, remainingPoint) => {
 
        },
        onFailure: (reason) => { 
                
        });
}

Last updated