2. Incentive Ad‎ > ‎1) Publisher API‎ > ‎1.4 Unity‎ > ‎

다. 포인트 조회 및 인출

사용자가 광고참여를 통하여 획득한 포인트는 Tnk서버에서 관리되거나 앱의 자체서버에서 관리될 수 있습니다.
포인트가 Tnk 서버에서 관리되는 경우에만 아래의 포인트 조회 및 인출 API를 사용하시어 필요한 아이템 구매 기능을 구현하실 수 있습니다.

1) TnkAd.Plugin - queryPoint()

Tnk서버에 적립되어 있는 사용자 포인트 값을 조회합니다. 비동기 방식으로 호출되므로 결과를 받기 위한 EventHandler 객체를 생성하셔야 합니다.

Method 
  - void queryPoint(string handlerName)

Description
   Tnk 서버에 적립되어 있는 사용자 포인트 값을 조회합니다. 비동기 방식으로 호출되며 결과를 받으면 handlerName으로 지정된 EventHandler 객체의 onReturnQueryPoint()  메소드가 호출됩니다. 

Parameters
 파라메터 명칭 내용
 handlerName 서버에서 결과가 오면 handlerName으로 지정된 EventHandler 객체의 onReturnQueryPoint(int point) 메소드가 호출됩니다.

2) TnkAd.Plugin - purchaseItem()

TnK 서버에서는 별도로 아이템 목록을 관리하는 기능을 제공하지는 않습니다. 다만 게시앱에서 제공하는 아이템을 사용자가 구매할 때 Tnk 서버에 해당 포인트 만큼을 차감 할 수 있습니다. 
비동기 방식으로 호출되므로 결과를 받기 위한 EventHandler 객체를 생성하셔야 합니다.

Method 
  - void purchaseItem(int pointCost, string itemId, string handlerName)

Description
   Tnk 서버에 적립되어 있는 사용자 포인트를 차감합니다. 차감내역은 Tnk사이트의 보고서 페이지에서 조회하실 수 있습니다.

Parameters
 파라메터 명칭 내용
 pointCost차감할 포인트
 itemId구매할 아이템의 고유 ID (매체앱에서 자체적으로 정하여 부여한 ID)
Tnk 사이트의 보고서 페이지에서 함께 보여줍니다.
 handlerName 서버에서 결과가 오면 handlerName으로 지정된 EventHandler 객체의  onReturnPurchaseItem(long curPoint, long seqId) 메소드가 호출됩니다. curPoint 값은 차감 후 남은 포인트 값이며, seqId 값은 고유한 거래 ID 값이 담겨 있습니다. seqId 값이 음수 인경우에는 포인트 부족 등으로 오류가 발생한 경우입니다.

3) TnkAd.Plugin - withdrawPoints()

Tnk 서버에서 관리되는 사용자 포인트 전체를 한번에 인출하는 기능입니다.
비동기 방식으로 호출되므로 결과를 받기 위한 EventHandler 객체를 생성하셔야 합니다.

Method 
  - void withdrawPoints(string desc, string handlerName)

Description
   Tnk 서버에 적립되어 있는 사용자의 모든 포인트를 차감합니다. 차감내역은 Tnk사이트의 보고서 페이지에서 조회하실 수 있습니다.

Parameters
 파라메터 명칭 내용
 desc포인트 차감에 대한 간단한 설명
Tnk 사이트의 보고서 페이지에서 함께 보여줍니다.
 handlerName 서버에서 결과가 오면 handlerName으로 지정된 EventHandler 객체의  onReturnWithdrawPoints(int point) 메소드가 호출됩니다. point 값은 인출된 포인트 값입니다. 해당 사용자에게 충전된 포인트가 없는 경우에는 0이 반환됩니다.

포인트 조회 및 인출 기능 적용예시

Sample Code

using UnityEngine;
using System.Collections;

public class TnkUITest : MonoBehaviour {

    void Start ()
    {
    }
    
    void Update ()
    {
    }
    
    void OnGUI ()
    {
        if (GUI.Button (new Rect (10040015080), "Query point")) {
            Debug.Log("Query point");
            // be sure that put handler object named 'testhandlerin your scene. (It should be named in Unity Inspector)
            TnkAd.Plugin.Instance.queryPoint("testhandler"); 
        }

        if (GUI.Button (new Rect (10050015080), "Purchase Item")) {
            Debug.Log("Purchase Item");
            // be sure that put handler object named 'testhandlerin your scene. (It should be named in Unity Inspector)
            TnkAd.Plugin.Instance.purchaseItem(100"item01""testhandler"); 
        }
    }

}

Comments