[Unity]Unity接平台SDK(3种方式)

    最近又接了一次平台SDK,顺带着也学习了接IOS的SDK。IOS的也是边做边学的,现在还没这么清楚,就不讲了。还是来说下安卓SDK的接法,因为平台需求,我用了2种方式来接平台SDK。随便总结下,方便以后查阅。3种方式是我目前知道的,我不清楚是否还有其他接法。个人认为第一种和第三种是比较麻烦的。

    1.Unity导出Andorid工程,再导入SDK库,开始写SDK代码,然后就可以打APK。这个比较简单粗暴,就不多说了。

    2.SDK导出aar包,作为插件导入Unity,然后Unity生成APK,这个方式比较好,也是我刚开始采用的,基于此,还写了个一键打包方法。

    3.Unity导出aar包,作为插件导入Android工程,开始写SDK代码,然后就可以打APK。其实这跟第一种方法类似,但由于平台要弄聚合SDK,我们这安卓SDK代码不需要自己写,由平台方写,所以后续采用了这种方式。

    先上SDK代码

SDK管理类:

public class SDKManager : MonoBehaviour
{
    #region 单例
    private static SDKManager _instance;
    public static SDKManager Instance
    {
        set { _instance = value; }
        get { return _instance; }
    }
    #endregion

    private SDKBase sdk;

    #region sdk 参数
    public int GetPlatformId()
    {
        if (sdk != null)
        {
            AddResult("GetPlatformId: " + sdk.GetPlatformId() + "---");
            return sdk.GetPlatformId();
        }
            

        return 0;
    }

    public string GetUID()
    {
        if (sdk != null)
        {
            AddResult("GetUID: " + sdk.GetUid() + "---");
            return sdk.GetUid();
        }
            

        return "";
    }
    #endregion

    private void Awake()
    {
        _instance = this;
    }

    private void Start()
    {
#if UNITY_EDITOR
        sdk = new SDKBase();
#elif UNITY_ANDROID
        sdk = new SDKForAndroid();
#elif UNITY_IPHONE
        sdk = new SDKForIphone();
#endif
        SDKInit();
    }

    /// <summary>
    /// SDK初始化
    /// </summary>
    public void SDKInit()
    {
        if (sdk == null) return;

        AddResult("SDKInit");

        sdk.Init();
    }

    /// <summary>
    /// SDK登录
    /// </summary>
    public void SDKLogin()
    {
        if (sdk == null) return;

        AddResult("SDKLogin");

        sdk.Login();
    }

    /// <summary>
    /// SDK登出
    /// </summary>
    public void SDKLogout()
    {
        if (sdk == null) return;

        AddResult("SDKLogout");

        sdk.Logout();
    }

    /// <summary>
    /// SDK付费
    /// </summary>
    public void SDKPay()
    {
        if (sdk == null) return;

   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值