Unity接入Android SDK

环境

SDK初始化

在MgAndroidSdkProcessorScript.cs脚本的构造函数中,会调用InitBegin()进行mgsdk初始化并开启遮罩。 初始化结果返回后会调用onInitSdkResult方法

void InitBegin()
{
        MgSdkConfig config = new MgSdkConfig();
		//在此配置相应的属性
        config.AppKey = "0B51BDA9F7";//必需,应用标识
        config.CallbackId = "";//可选,支付回调id
        string s = config.toJson();
        mgSdkProcessor.initSDK(config);//进行mgsdk初始化
}
void onInitSdkResult (String message)
{
//message是以逗号分隔”success,xxx,yyy,zzz”
       string param = "";//附加参数
      string result = parseMessage(message, out param); //解析android端消息
      if (result == "success")//成功返回success,否则就失败
      {
          isInit = true;
          showLogin();//可以在此显示登录窗口
      }
      else
     {
          Debug.LogError("初始化mgsdk失败:" + param);
      }
 }

登录

可以在初始化成功回调onInitSdkResult中调用showLogin()显示登陆窗口。 登录成功后会调用onLoginSuccess方法

void onLoginSuccess(String message)
{          
		//登陆成功后关闭遮罩,玩家可以游戏
		UIEventMaskEnd();
}

支付

在需要支付的地方,调用Payment,并传入参数 MgAndroidSdkProcessorScript.Instance.Payment(“商品key,mg后台生成”,”自定义数据,可以为订单号”).

void onPaymentResult(String message)
{

	string param = "";//附加参数
      string result = parseMessage(message, out param); //解析android端消息
      if (result == "success")//成功返回success,否则就失败
      {
			Debug.LogError("支付成功:" + param);                 
      }
      else
     {
          Debug.LogError("支付失败:" + param);
      }	 
	UIEventMaskEnd();  //支付结束后关闭遮罩,玩家可以游戏

 }

将unity导出为android项目

  1. 点击FIle->Build Settings,在弹出框中选择Android平台,点击Switch Platform切换。
  2. 点击PlayerSettings,在最右侧出现的Inspector中:
    1. 选择Other Settings,将Minimum API Level 改为Android 5.0。Bundle Identifier设置为某个唯一标识,例如com.mguwp.testName
    2. 选择Publishing Settings,选择Create New Keystore复选框。
  3. 点击build,选择apk输出目录,保存。最后将生成的apk放到手机运行。

支付成功后服务器端回调开发者服务器