SDK Integration
PointPub SDK 설정 및 관련 작업을 진행합니다.
PointPub Unity SDK는 현재 Android 플랫폼에서만 사용할 수 있으며, iOS에 대한 지원은 제공되지 않습니다. 향후 업데이트에서 지원이 추가될 수 있습니다.
0. 최소 지원 사양
MinSdkVersion 21
CompileSdkVersion 35
Unity Editor 2021.3 이상
1. PointPub Unity SDK 추가
PointPub-1.2.0.unitypackage 이상 버전부터는 Android API Target 35 이상 및 Java 17 이상 환경에서 실행 가능합니다. (API 35 환경에서 안정적인 빌드를 위해 2021.3.44f1 이상 또는 2022.3.44f1 이상, 6.x 을 권장합니다.)
1) PointPub Unity SDK를 다운로드 합니다.
2) Assets > Import Package > Custom Package를 선택하여 다운로드한 PointPub-x.x.x.unitypackage 파일을 찾아 추가하거나 PointPub-x.x.x.unitypackage를 더블클릭하여 실행합니다.

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>
setAppId 함수를 호출하면 AndroidManifest.xml의 meta-data에 지정된 app_id 값을 덮어씁니다.
호출하지 않으면 meta-data의 app_id 값이 사용됩니다. StartOfferwall 함수 호출 직전에 호출 되어야합니다.
// APP_ID 동적 등록
PointPubSDK.Instance.SetAppId("your_app_id")
3. 광고 목록 노출
오퍼월을 노출할 시점에 startOfferwall
메소드를 호출해주세요.
유저 식별값(userId)
을 필수로 입력합니다.유저 식별값은 고유한 유저 식별값으로 가변적이면 안되며, 개인정보(이메일, 이름, 전화번호)가 포함되면 안됩니다.
오퍼월이 노출 되거나, 종료된 경우 이벤트를 받을 수 있습니다.
PointPunSDK의 기능을 사용하려면 setUserId() 메서드를 통해 userId를 반드시 설정해야 합니다.
이 작업은 필수이며, 설정하지 않을 경우 SDK 기능을 사용할 수 없습니다.
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