Unity3D Android UCGame SDK Integration - 4. FloatButton, ExitSDK

 유니티3D 안드로이드에 중국 UCGame SDK 인앱빌링과 U포인트 충전 처리를 정리해봤습니다. 이번에는 마지막으로 플롯버튼(FloatButton)이라고 UCGame 플랫폼 메뉴를 보여주는 버튼과 UCGame SDK 종료처리를 정리하겠습니다.


1. FloatButton

public void UCGameCreateFloatButton_U() {
runOnUiThread(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub
try {
UCGameSDK.defaultSDK().createFloatButton(UnityPlayer.currentActivity, new UCCallbackListener<String>() {

@Override
public void callback(int arg0, String arg1) {
// TODO Auto-generated method stub
JSONObject jsonObj = new JSONObject();

if (arg0 == UCGameSDKStatusCode.SDK_OPEN) {
Log.d(LOG_TAG, "createFloatButton SDK_OPEN");
} else if (arg0 == UCGameSDKStatusCode.SDK_CLOSE) {
Log.d(LOG_TAG, "createFloatButton SDK_CLOSE");
}
try {
jsonObj.put("resultCode", arg0);
jsonObj.put("message", arg1);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
UnityPlayer.UnitySendMessage("PluginUCGameManager", "UCGameFloatButton_J", jsonObj.toString());
}

});
} catch (UCCallbackListenerNullException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UCFloatButtonCreateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}

public void UCGameShowFloatButton_U(final double xPosRatio, final double yPosRatio, final boolean bVisible) {
runOnUiThread(new Runnable(){

@Override
public void run() {
// TODO Auto-generated method stub
// xPosRatio는 0 또는 100만 지원.
UCGameSDK.defaultSDK().showFloatButton(UnityPlayer.currentActivity, xPosRatio, yPosRatio, bVisible);
}
});
}

protected void onDestroy() {
super.onDestroy();
UCGameSDK.defaultSDK().destoryFloatButton(UnityPlayer.currentActivity);
}

 플롯버튼을 만들거나 보여주는 기능을 처리하는 안드로이드 부분입니다. 어려울건 없고 보여줄 때 x값을 0 또는 100만 지원한다는 것만 조심하면 될 듯합니다.


 public void UCGameCreateFloatButton()
 {
  curActivity.Call("UCGameCreateFloatButton_U");
 }
 
 public void UCGameShowFloatButton(double xPosRatio, double yPosRatio, bool bVisible)
 {
  curActivity.Call("UCGameShowFloatButton_U", xPosRatio, yPosRatio, bVisible);
 }

 void UCGameFloatButton_J(string strResult)
 {
  JsonData jData = JsonMapper.ToObject(strResult);
  int iResult = Convert.ToInt32(jData["resultCode"].ToString());
  string strMessage = jData["message"].ToString();
  
  switch(iResult)
  {
  case -700:
   //  public static final int SDK_OPEN = -700;
   break;
  case -701:
   //public static final int SDK_CLOSE = -701;
   break;
  default:
   break;
  }
  
  SetLog("UCGame FloatButton " + strMessage);  
 }
 PluginUCGameManager 컴포넌트 부분입니다.

  fYpos += 50;
  if (GUI.Button (new Rect(0, fYpos, 100, 50), "FloatButton") == true)
  {
   PluginUCGameManager.GetInstance().UCGameCreateFloatButton();
  }
  fYpos += 50;
  if (GUI.Button (new Rect(0, fYpos, 100, 50), "ShowFloat") == true)
  {
   PluginUCGameManager.GetInstance().UCGameShowFloatButton(100, fYpos, true);
  }
 TestGUI의 OnGUI 부분입니다.

 플롯버튼을 생성후 보여진 모습입니다. 버튼을 클릭하면 추가적인 메뉴를 볼 수 있습니다.


2. ExitSDK

public void UCGameExitSDK_U() {
UCGameSDK.defaultSDK().exitSDK();
}

 UCGame SDK 안드로이드 종료 처리부분입니다.


 public void UCGameExitSDK()
 {
  curActivity.Call("UCGameExitSDK_U");
 }
 PluginUCGameManager 이구요.

  fYpos += 50;
  if (GUI.Button (new Rect(0, fYpos, 100, 50), "ExitSDK") == true)
  {
   PluginUCGameManager.GetInstance().UCGameExitSDK();
  }
 TestGUI 부분입니다.

 이것으로 유니티3D 안드로이드에 중국 UCGame SDK 연동 정리를 마무리합니다.

댓글

이 블로그의 인기 게시물

'xxx.exe' 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다.

goorm IDE에서 node.js 프로젝트로 Hello World Simple Server 만들어 띄워보기

애드센스 수익을 웨스턴 유니온으로 수표대신 현금으로 지급 받아보자.