로딩중입니다
공지팝업 연동 : 유니티 iOS
6/16/2015 12:07:49 PM

라이브오퍼레이션 공지팝업 서비스

라이브옵스 공지팝업은 사용자에게 알려야할 내용이 있을 때에 팝업 형태의 공지창을 이용하여 안내 내용을 노출하는 서비스입니다.

공지팝업 기능을 통해 진행 중인 이벤트나 신규 기능 출시 등의 안내를 진행할 수 있습니다.


주의사항
  1. 라이브오퍼레이션 애드온을 연동하기 전에 반드시 IGAW 공통 연동이 진행 되어야 합니다. [IGAW 공통 연동 : 유니티 iOS]
  2. 라이브오퍼레이션 연동을 위해서는 IgaworksUnityPlugin_iOS~*.unitypackage 파일이 유니티 프로젝트에 포함되어 있어야 합니다. [SDK 설치 : 유니티]

 


공지팝업 초기화 API

공지팝업 서비스를 이용하기 위해서 다음의 단계에 따라서 초기화를 진행합니다.

아래의 초기화 api들은 어플리케이션이 시작되는 시점에서 호출하시는 것을 권장합니다.


유저식별값 입력

유저식별값은 라이브옵스에서 유저를 판단하기 위해 사용되는 정보입니다.

유저식별값은 반드시 공지팝업 데이터를 로드하기 전에 설정되어야 합니다.


주의사항

  1. 1명의 유저는 1개의 고유한 유저식별값을 가져야 하며, 가변적인 값을 사용해서는 안됩니다.
  2. 개인정보(이메일,이름,전화번호,식별가능한 유저아이디 등)이 포함되어서는 안됩니다.
  3. 한글, 특수문자, 공백 등이 포함된 경우에는 반드시 URL 인코딩 처리를 하여 사용해야 합니다.
  4. LiveOpsPopupGetPopups API가 호출되기 전에 설정되어야 합니다.

위 주의사항에 유의하여 유저식별값을 입력합니다.

IgaworksCorePluginIOS.SetUserId("player1001");


공지팝업 데이터로드

LiveOpsPopupGetPopups api를 호출하여 공지팝업 관리페이지에서 설정한 공지팝업 데이터를 로드합니다.

데이터 로드를 진행하기 전에 반드시 유저식별값이 설정되어 있어야 합니다.

주의사항

  1. 유저식별값이 입력되지 않으면 공지팝업 데이터로드가 불가능합니다.
  2. 라이브오퍼레이션 공지팝업 관리페이지에서 새로운 공지를 추가했어도, 데이터로드가 진행되지 않으면 SDK에서는 새로운 공지를 확인할 수 없습니다.

위 주의사항에 유의하여 공지팝업 데이터를 로드합니다.

LiveOpsPluginIOS.LiveOpsPopupGetPopups();



공지팝업 API


공지팝업 노출

LiveOpsPopupShowPopups api를 호출하여 공지팝업을 노출하고자 하는 시점에서 팝업 형태의 공지를 노출합니다.

공지에 표현되는 내용은 공지팝업 관리페이지에서 설정한 값이어야 합니다.

아래의 예시는 델리게이트를 이용하여 수신이 완료된 경우, 공지팝업을 노출하는 것을 가정으로 하여 작성하였습니다.

public class MySampleScene : MonoBehaviour {

	// Use this for initialization
	void Start () {
		LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");

		// 델리게이트 등록
		LiveOpsPluginIOS.liveOpsPopupGetPopupsResponded += HandleLiveOpsPopupGetPopupsResponded;

        // 델리게이트 구현
    	public void HandleLiveOpsPopupGetPopupsResponded()
    	{
		LiveOpsPluginIOS.LiveOpsPopupShowPopups("공지팝업스페이스키");
    	}
}

+ 공지팝업스페이스키는 공지팝업 관리페이지에서만 발급 받을 수 있습니다.


공지팝업 강제종료

종료 api를 이용하여 공지팝업의 종료를 직접 처리할 수 있습니다.

// 현재 노출된 팝업만 종료
LiveOpsPluginIOS.LiveOpsPopupDestroyPopup();

// 현재 노출된 팝업을 포함하여 이후의 모든 팝업을 종료
LiveOpsPluginIOS.LiveOpsPopupDestroyAllPopups();



추가 옵션 


공지팝업 유저 타겟팅

유저그룹을 설정하여 타겟푸시의 수신 대상을 직접 선택하실 수 있습니다.
유저 그룹을 설정하기 위한 데이터는 직접 세팅하여 확보할 수 있습니다.

타겟팅 데이터 설정

타겟팅 된 유저에게만 타겟푸시를 전송하기 위해서 커스텀 유저 데이터를 세팅할 수 있습니다.
세팅된 커스텀 유저 데이터는 타겟푸시 관리페이지에서 확인할 수 있습니다. 아래 예시는 유저 나이를 커스텀 데이터로 수집하는 것입니다.
//LiveOpsSetTargetingNumberData(int customUserData, string customUserDataKey);
//LiveOpsSetTargetingStringData(string customUserData, string customUserDataKey);

LiveOpsPluginIOS.LiveOpsSetTargetingNumberData(86, "age");
customUserData : 타겟팅을 위한 유저 데이터를 입력합니다. 
customUserDataKey : 유저 커스텀 데이터 키를 설정합니다.

타겟팅 데이터 동기화

flush api를 호출하여 설정된 타겟팅 데이터를 라이브옵스 서버와 동기화합니다. 앱이 백그라운드로 전환되거나 다음 실행 시, 자동적으로 서버반영이 됩니다. 해당 API는 꼭 필요한 경우 호출합니다.

LiveOpsPluginIOS.LiveOpsFlush();


공지팝업 딥링크

공지팝업의 딥링크 기능을 이용하여 공지팝업을 통한 다양한 액션을 수행하도록 처리할 수 있습니다.

  • 딥링크는 공지팝업 관리페이지에서 등록할 수 있습니다.
  • 딥링크 데이터의 형태는 Json만 지원합니다.
public class NewBehaviorScript : MonoBehavior {

	// Use this for initialization
	void Start () {
		LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");

		// 델리게이트 등록
		LiveOpsPluginIOS.LiveOpsPopupSetPopupLinkListenerCalled += HandleLiveOpsPopupSetPopupLinkListenerCalled;
	}
	
        // 델리게이트 구현
    	public void HandleLiveOpsPopupSetPopupLinkListenerCalled(string popupLinkListenerResult)
    	{

	string[] results = popupLinkListenerResult.Split(',');
	//results[0] : 팝업 스페이스키
	//results[1] : 딥링크 데이터
	Debug.Log ("IgaworksADSample HandleLiveOpsPopupSetPopupLinkListenerCalled " + results[0] + results[1]);
	}	    
}


공지팝업 델리게이트

공지팝업에서 발생하는 이벤트에 대한 델리게이트를 제공합니다. 제공되는 델리게이트와 구현 예시는 다음과 같습니다.


팝업 링크 바로가기 델리게이트

델리게이트 통해 전달받은 데이터를 이용해 팝업링크를 열 때 필요한 기능을 수행할 수 있습니다.

public class MySampleScene : MonoBehaviour {

	// Use this for initialization
	void Start () {
		LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");

		// 델리게이트 핸들러 등록
		LiveOpsPluginIOS.LiveOpsSetPopupLinkListener();

		// 델리게이트 등록
		LiveOpsPluginIOS.liveOpsPopupSetPopupLinkListenerCalled += HandleLiveOpsPopupSetPopupLinkListenerCalled;
	
        // 델리게이트 구현
    	public void HandleLiveOpsPopupSetPopupLinkListenerCalled(string popupLinkListenerResult)
    	{
	// 팝업 바로가기 후 결과가 델리게이트를 통해 전달
	
        string[] results = popupLinkListenerResult.Split(',');
	//results[0] : 바로가기를 누른 팝업의 팝업 스페이스키
	//results[1] : json형태의 딥링크를 등록해두었다면 해당 json객체의 json string
        Debug.Log ("IgaworksADSample : HandleLiveOpsPopupSetPopupLinkListenerCalled " + results[0] + ", " + results[1]);
        
	// 바로가기 후 팝업을 강제로 닫게 하려면 여기서 아래 api호출
        LiveOpsPluginIOS.LiveOpsPopupDestroyPopup();     
    }
}


팝업 닫기 델리게이트

델리게이트 통해 전달받은 데이터를 이용해 팝업을 닫을 때 필요한 기능을 수행할 수 있습니다.
public class MySampleScene : MonoBehaviour {

	// Use this for initialization
	void Start () {
		LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");

		// 델리게이트 핸들러 등록
		LiveOpsPluginIOS.LiveOpsSetPopupCloseListener();

		// 델리게이트 등록
		LiveOpsPluginIOS.liveOpsPopupSetPopupCloseListenerCalled += HandleLiveOpsPopupSetPopupCloseListenerCalled;
	
        // 델리게이트 구현
    	public void HandleLiveOpsPopupSetPopupCloseListenerCalled(string popupCloseListenerResult)
    	{
	// 팝업 닫기 결과가 델리게이트를 통해 전달
	string[] results = popupCloseListenerResult.Split(',');
        //results[0] : 닫기를 누른 팝업의 팝업 스페이스키
	//results[1] : 닫기를 누른 팝업의 팝업 캠페인 이름
	//results[2] : json형태의 딥링크를 등록해두었다면 해당 json객체의 json string
	//results[3] : 이 팝업 이후 열려야 할 팝업 수 (string 타입)
        Debug.Log ("IgaworksADSample : HandleLiveOpsPopupSetPopupCloseListenerCalled " + results[0] + ", " + results[1] + ", " + results[2] + ", " + results[3]);    
    }
}