/** * 问题1:参数传递最好改用json...懒得去搞了!!! * 问题2:安卓和IOS的所需的相关参数竟然不同,MMP!!!,凑合用不改了。。。 */ #if UNITY_IOS using GameLogic; using System.Runtime.InteropServices; using System.Text; using UnityEngine; namespace SDK { public class iOSProxy : Proxy { //初始化 [DllImport("__Internal")] private static extern void m_SDK_Init(); public override void Init() { m_SDK_Init(); } //登录 [DllImport("__Internal")] private static extern void m_SDK_Login(); public override void Login() { m_SDK_Login(); } //登录 [DllImport("__Internal")] private static extern void m_SDK_Logout(); public override void Logout() { m_SDK_Logout(); } //退出游戏 [DllImport("__Internal")] private static extern void m_SDK_Exit(); public override void Exit() { m_SDK_Exit(); } //退出游戏 [DllImport("__Internal")] private static extern void m_SDK_SubmitExtraData(string areaName, string areaId, string roleName, string roleId, string roleGrade); [DllImport("__Internal")] private static extern void m_SDK_SubmitExtraData_OneParam(string param); public override void SubmitExtraData(SDKSubmitExtraDataArgs args) { m_SDK_SubmitExtraData(args.zoneName, args.zoneID, args.roleName, args.roleID, args.roleLevel); m_SDK_SubmitExtraData_OneParam( args.dataType + "|" + args.serverID + "|" + args.serverName + "|" + args.zoneID + "|" + args.zoneName + "|" + args.roleID + "|" + args.roleName + "|" + args.roleLevel + "|" + args.guildID + "|" + args.Vip + "|" + args.moneyNum + "|" + args.roleCreateTime + "|" + args.roleLevelUpTime ); } [DllImport("__Internal")] private static extern void m_SDK_Pay(string money, string detail, string csId, string csName, string pid); [DllImport("__Internal")] private static extern void m_SDK_Pay_OneParam(string param); public override void Pay(SDKPayArgs args) { m_SDK_Pay(args.price.ToString(), args.productDesc, args.roleID, args.extension, args.productId); m_SDK_Pay_OneParam( args.productId + "|" + args.productName + "|" + args.productDesc + "|" + args.price + "|" + args.ratio + "|" + args.buyNum + "|" + args.coinNum + "|" + args.zoneId + "|" + args.serverID + "|" + args.serverName + "|" + args.accounted + "|" + args.roleID + "|" + args.roleName + "|" + args.roleLevel + "|" + args.vip + "|" + args.guildID + "|" + args.payNotifyUrl + "|" + args.extension ); } //sdk获取支付订单号 [DllImport("__Internal")] private static extern string m_SDK_CustomEvent(string eventName); public override void CustomEvent(string eventName, string eventDesc) { m_SDK_CustomEvent(eventName); } //sdk新手引导上报 public override void NewRoleTutorial(string eventName, string guide_start_time, string guide_end_time, string serverId, string serverName, string roleName, string roleId) { } [DllImport("__Internal")] private static extern void m_SDK_OpenWeb(string url); public override void OpenWeb(string url) { m_SDK_OpenWeb(url); } //获取渠道名 [DllImport("__Internal")] private static extern string m_GetChannel(); public override string GetChannel() { return m_GetChannel(); } //获取子渠道名 [DllImport("__Internal")] private static extern string m_GetSubChannel(); public override string GetSubChannel() { return m_GetSubChannel(); } } } #endif