Skip to content

Unity PC SDK 接入文档

注意

sdk 需要 ZFBrower 插件支持,环境搭建前需要自主引入此插件以便接入

资源引入

  • SDK 资源下载 PC-SDK, Demo 资源(非源码)Demo-Exe
  • 解压 pc-sdk.rar 压缩包
    • 引入压缩包内预制件 sdkView.prefab 到 Resources 目录下
    • 引入压缩包内配置文件 access.config 到 Assets/StreamingAssets 目录下
    • 引入压缩包内 sdk 文件夹相关脚本文件到 Assets 目录下

接口接入

回调通知

  • 回调代理
c#
public interface AccessSystemDelegate {
    // 初始化成功回调
    void InitSuccess(AccessInitInfo accessInitInfo);

    // 初始化失败回调
    void InitFailure();
}

public interface AccessAccountDelegate {
    // 登录成功回调
    void LoginSuccess(AccessLoginInfo accessLoginInfo);

    // 登录失败回调
    void LoginFailure();

    // 登出回调
    void Logout();
}

public interface AccessPaymentDelegate {
    // 支付成功回调
    void PaySuccess();

    // 支付失败回调
    void PayFailure();
}

接入回调代理

  • 实现
c#
public class AccessSystem : AccessSystemDelegate
{
  TextMeshProUGUI _console;
  public AccessSystem(TextMeshProUGUI console)
  {
    this._console = console;
  }
  public void InitFailure()
  {
    Debug.Log("初始化失败");
    _console.text += "\n 初始化失败";
  }
  public void InitSuccess(AccessInitInfo accessInitInfo)
  {
    Debug.Log("初始化成功:" + JsonConvert.SerializeObject(accessInitInfo));
    _console.text += "\n 初始化成功:" + JsonConvert.SerializeObject(accessInitInfo);
  }
}

public class AccessAccount : AccessAccountDelegate
{
  TextMeshProUGUI _console;
  public AccessAccount(TextMeshProUGUI console)
  {
    this._console = console;
  }
  public void LoginFailure()
  {
      Debug.Log("登录失败");
      _console.text += "\n 登录失败";
  }

  public void LoginSuccess(AccessLoginInfo accessLoginInfo)
  {
      Debug.Log("登录成功:" + JsonConvert.SerializeObject(accessLoginInfo));
      _console.text += "\n 登录成功:" + JsonConvert.SerializeObject(accessLoginInfo);
  }

  public void Logout()
  {
      Debug.Log("登出");
      _console.text += "\n 登出";
  }

}

public class AccessPayment : AccessPaymentDelegate
{
  TextMeshProUGUI _console;

  public AccessPayment(TextMeshProUGUI console) { 
      this._console = console;
  }

  public void PayFailure()
  {
      Debug.Log("支付失败");
      _console.text += "\n 支付失败";
  }

  public void PaySuccess()
  {
      Debug.Log("支付成功");
      _console.text += "\n 支付成功";
  }
}
  • 接入
c#
  AccessSdk.Instance.paymentDelegate = new AccessPayment(_console);
  AccessSdk.Instance.accountDelegate = new AccessAccount(_console);
  AccessSdk.Instance.systemDelegate = new AccessSystem(_console);

初始化接口

c#
  AccessSdk.Instance.init();

登录接口

c#
  AccessSdk.Instance.login();

登出接口

c#
  AccessSdk.Instance.logout();

支付接口

  • 支付参数
c#
// 支付对象
public class PayInfo {
    public string currency; //货币
    public string goodsId; //商品id
    public string goodsName; //商品名
    public string price; //商品价格
    public string notifyUrl; // 发货通知地址
    public string callbackInfo; // 透传信息
}
  • 支付调用
c#
  PayInfo payInfo = new PayInfo();
  AccessSdk.Instance.pay(payInfo);

Hoolai Access SDK