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);