가. 광고 목록 띄우기

* 테스트 상태에서는 테스트하는 장비를 개발 장비로 등록하셔야 광고목록이 정상적으로 나타납니다.

1) 유저 식별 값 설정

앱이 실행되면 우선 앱 내에서 사용자를 식별하는 고유한 ID를 아래의 API를 사용하시어 Tnk SDK에 설정하시기 바랍니다.

사용자 식별 값으로는 게임의 로그인 ID 등을 사용하시면 되며, 적당한 값이 없으신 경우에는 Device ID 값 등을 사용할 수 있습니다.

(유저 식별 값이 Device ID 나 전화번호, 이메일 등 개인 정보에 해당되는 경우에는 암호화하여 설정해주시기 바랍니다.)

유저 식별 값을 설정하셔야 이후 사용자가 적립한 포인트를 개발사의 서버로 전달하는 callback 호출 시에 같이 전달받으실 수 있습니다.

Method

- void TnkSession.setUserName(Context context, String userName)

Parameters

파라메터 명칭

context

userName

내용

현재 Activity 또는 Context 객체

앱에서 사용자를 식별하기 위하여 사용하는 고유 ID 값 (로그인 ID 등)

길이는 256 bytes 이하입니다.

2) 광고목록 띄우기 (Activity)

자신의 앱에서 광고 목록을 띄우기 위하여 TnkSession.showAdList() 함수를 사용합니다. 광고목록을 보여주기 위하여 새로운 Activity를 띄웁니다.

Method

- void TnkSession.showAdList(Activity activity)

- void TnkSession.showAdList(Activity activity, String title)

- void TnkSession.showAdList(Activity activity, String title, TnkLayout userLayout)

Description

광고 목록 화면 (AdWallActivity)를 화면에 띄웁니다.

반드시 Main UI Thread 상에서 호출하여야 합니다.

Parameters

적용 예시

Sample Code

@Override

public void onCreate(Bundle savedInstanceState) {

// ...

final Button button = (Button)findViewById(R.id.main_ad);

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

TnkSession.showAdList(MainActivity.this,"Your title here");

}

});

3) 광고목록 띄우기 (View)

광고 목록을 현재 화면에 팝업으로 띄우기 위하여 TnkSession.popupAdList() 함수를 사용합니다. 광고목록을 보여주기 위하여 AdListView를 생성하여 현재 화면에 팝업형태로 띄워줍니다.

Method

- void TnkSession.popupAdList(Activity activity)

- void TnkSession.popupAdList(Activity activity, String title)

- void TnkSession.popupAdList(Activity activity, String title, TnkAdListener listener)

- void TnkSession.popupAdList(Activity activity, String title, TnkAdListener listener, TnkLayout userLayout)

Description

광고 목록 화면 (AdListView)를 현재 화면에 팝업형태로 띄웁니다.

반드시 Main UI Thread 상에서 호출하여야 합니다.

Parameters

적용 예시

Sample Code

@Override

public void onCreate(Bundle savedInstanceState) {

// ...

final Button button = (Button)findViewById(R.id.main_ad);

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

TnkSession.popupAdList(MainActivity.this,"Your title here");

}

});

4) AdListView

AdListView는 보상형 광고목록을 제공하는 View 객체입니다. 개발자는 createAdListView() 메소드를 사용하여 AdListView 객체를 생성할 수 있습니다.

생성된 AdListView 객체를 현재 Activity에 팝업형태로 띄우거나 자신의 구성한 화면의 하위 View로 추가(addView) 할 수 있습니다.

- AdListView 생성하기

Method

- AdListView TnkSession.createAdListView(Activity activity, boolean popupStyle)

- AdListView TnkSession.createAdListView(Activity activity, TnkLayout userLayout)

Parameters

아래의 메소드들은 AdListView에서 제공하는 기능들입니다.

- void loadAdList()

    • 광고목록을 서버에서 가져와 화면에 뿌려줍니다.

    • 주로 AdListView를 하위 View로 추가하는 경우에 사용합니다.

- void show(Activity activity)

    • AdListView를 현재 Activity의 최상위 View로 팝업형태로 띄워줍니다.

    • 내부적으로는 activity의 addContentView() 를 사용합니다.

    • 화면에 나타날때에 Animation 효과가 적용됩니다. 아래의 setAnimationType() 메소드를 참고하세요.

    • 화면에 나타난 후에는 내부적으로 loadAdList()가 호출되어 바로 광고목록이 나타납니다.

- void setTitle(String title)

  • 광고목록 상단 타이틀을 설정합니다.

- void setListener(TnkAdListener listener)

  • AdListView 팝업 화면이 나타날때와 사라질때의 event를 받기 위하여 TnkAdListener 객체를 설정합니다.

  • show() 메소드를 사용할 때에만 적용됩니다.

  • 자세한 내용은 하단의 TnkAdListener 내용을 참고해주세요.

- void setAnimationType(int showType, int hideType)

    • AdListView를 화면에 팝업으로 띄울 때 사용하는 애니메이션을 지정합니다.

    • 나타날 때(showType)와 사라질 때(hideType)을 별도로 지정합니다.

    • show() 메소드를 사용할 때에만 적용됩니다.

    • 사용가능한 Animation의 종류들은 아래와 같습니다.

사용 예시

Popup sample

AdListView adlistView = TnkSession.createAdListView(MainActivity.this, true);

adlistView.setListener(new TnkAdListener() {

@Override

public void onClose(int type) {

Log.d("tnkad", "#### onClose " + type);

}

@Override

public void onShow() {

Log.d("tnkad", "#### onShow ");

}

@Override

public void onFailure(int errCode) {

}

@Override

public void onLoad() {

}

});

adlistView.setTitle("Get Free Coins!!");

adlistView.setAnimationType(TnkSession.ANIMATION_BOTTOM, TnkSession.ANIMATION_BOTTOM);

adlistView.show(MainActivity.this);

Embed Sample

AdListView adlistView = TnkSession.createAdListView(MainActivity.this, true);

adlistView.setTitle("Get Free Coins!!");

ViewGroup viewGroup = (ViewGroup)findViewById(R.id.adlist);

viewGroup.addView(adlistView);

adlistView.loadAdList();

5) Listener 이용하기

AdListView를 팝업화면으로 화면에 띄울 경우 화면이 나타나는 시점과 화면이 닫히는 시점을 알고 싶을 때 아래의 TnkAdListener 인터페이스를 사용합니다.

TnkAdListener는 원래 전면 광고(Interstitial Ad 참고)에서 사용되지만 광고 리스트 화면에서도 화면이 팝업형태로 나타날 때 (onShow)와 닫힐 때(onClose)의 이벤트를 받기 위하여 사용될 수 있습니다.

TnkAdListener Interface

public interface TnkAdListener {

// 사용자가 닫기버튼이나 Back key를 눌러서 광고화면을 닫은 경우

public static final int CLOSE_SIMPLE = 0;

// 사용자가 광고를 클릭해서 화면이 닫히는 경우

public static final int CLOSE_CLICK = 1;

// 종료시 띄워주는 광고화면에서 종료 버튼을 클릭해서 닫은 경우

public static final int CLOSE_EXIT = 2;


public static final int FAIL_NO_AD = -1; // no ad available

public static final int FAIL_NO_IMAGE = -2; // ad image not available

public static final int FAIL_TIMEOUT = -3; // ad arrived after 5 secs.

public static final int FAIL_CANCELED = -4; // ad frequency settings


public static final int FAIL_SYSTEM = -9;

/**

* 팝업 화면이 닫힐 때 호출됩니다.

* 화면이 닫히는 이유를 파라메터로 전달해 줍니다.

* @param type

*/

public void onClose(int type);


/**

* 팝업 화면이 나타나는 시점에 호출됩니다.

*/

public void onShow();


public void onFailure(int errCode);


public void onLoad();

}

AdListView와 관련되어 TnkAdListener에서 발생하는 이벤트의 내용은 아래와 같습니다.

  • onClose(int type) : 팝업 화면이 닫히는 시점에 호출됩니다. 화면이 닫히는 이유가 type 파라메터로 전달됩니다.

    • CLOSE_SIMPLE (0) : 사용자가 전면 화면의 닫기 버튼이나 Back 키를 눌러서 닫은 경우입니다.

    • CLOSE_CLICK (1) : 사용자가 전면 화면의 광고를 클릭하여 해당 광고로 이동하는 경우 입니다.

  • onShow() : 팝업화면이 나타날 때 호출됩니다.

  • AdListView에서는 위 2가지 이외의 이벤트는 발생하지 않습니다.