跳到主要内容

2.x 升级 3.x

信息

v3 主要改动:

  • API 使用方式从 OmniSDK 修改为 OmniSDKv3
  • API 的参数和返回值均改为强类型数据结构,不再使用 v2 的 JSON 字符串
  • 优化 Callback 回调方式, 详情见: v3 回调方式
  • 优化错误码,更友好的进行错误处理
  • v3.2.0 及以上版本中更改组件集成方式

API​

初始化​

登录​

获取登录信息​

  • 方法名

    OmniSDK.getUserInfo() 修改为

    OmniSDKv3.getLoginInfo()

  • JSON 字符串参数转 OmniSDKLoginInfo

    v2v3描述
    uiduserIduserID
    tokentokentoken
    verifySignsignature签名 (服务端安全性验证使用)
    channelidchannelId渠道
    verifyTimestampauthTimeUnix timestamp (服务端安全性验证使用)
    authMethod登录类型
    state账号状态
    identityProviders关联账号
    cpUid废弃 cpUid
    certification废弃实名认证状态
    isNewUser废弃是否是新用户

登出​

购买​

  • 方法名

    OmniSDK.pay(_ para: String) 修改为

    OmniSDKv3.purchase(options: OmniSDKPurchaseOptions)

  • JSON 字符串参数转 OmniSDKPurchaseOptions

    v2v3描述
    productIdproductId商品ID
    productNameproductName商品名称
    productDescproductDesc商品描述
    productUnitPriceproductUnitPrice商品单价
    paidAmountpurchaseAmount预期支付总额
    productQuantitypurchaseQuantity购买数量
    gameCallbackUrlpurchaseCallbackUrl支付回调地址
    gameTradeNogameOrderId游戏订单ID
    extJsonextJson交易扩展参数
    productUnitgameCurrencyUnit游戏货币单位
    roleIdgameRoleId角色ID
    roleNamegameRoleName角色名称
    roleLevelgameRoleLevel角色等级
    roleVipLevelgameRoleVipLevel角色的VIP等级
    zoneIdgameZoneId区ID
    serverIdgameServerId服ID
    totalAmount废弃商品总价

删除账号​

打开用户中心​

进入游戏​

创建角色​

游戏发货成功​

分享​

数据结构​

OmniSDKRoleInfo​

通用的玩家数据结构,被应用于不同的 Event

  • JSON 字符串转 OmniSDKRoleInfo

    v2v3描述
    uiduserId账号ID
    roleIdroleId角色ID
    roleLevelroleLevel角色等级
    roleNameroleName角色名
    roleVipLevelroleVipLevel角色VIP等级
    serverIdserverId服ID
    serverNameserverName服名称
    extextJson透传参数
    zoneId废弃区ID
    zoneName废弃区名称
    accountAgeInGame废弃账号游戏年龄,单位:天
    ageInGame废弃角色游戏年龄,单位:天
    balance废弃角色账户余额
    gender废弃性别
    partyName废弃所在公会或帮派
    roleType废弃角色类型
    roleFigure废弃体型
    roleCreateTime废弃角色创建时间,时间戳,单位:秒

回调方式​

在 v2 版本中,一个 api 会有多个回调方式,例如 login 接口,会回调onAccountLoginSuccess,onAccountLoginCancel和onAccountLoginFailure

在 v3 中,一个 api 只会有一个回调方法,例如 login接口,通过onLoginWithResult:error接收回调通知,回调返回值新增 error 参数, 类型为 OmniSDKError 类型

通过 error == nil 可判断为成功,通过 error 所提供的 code,可判断是否为取消操作或者其他操作

- (void)onLoginWithResult:(OmniSDKLoginResult *)result error:(OmniSDKError *)error {
if (error == nil) {
NSString *userId = result.userId;
NSString *token = result.token;
...
} else {
NSInteger code = error.code
if (code == OmniSDKErrorCodeUserCancelled) {
// User Cancel.
return;
} else {
//.....
}
}
}

错误码​

v3 错误码

集成方式​

重构组件模块,新增渠道组件

提示
  • 核心组件必须接入。
  • 接入渠道组件是必需的,且仅允许接入一个渠道组件。
  • 请根据项目需求接入对应渠道组件。

v3.2.0 及以上版本中我们针对 SDK 组件模块进行了重构:

  • 核心组件: OmniCore、OmniAPI ,核心组件为 OmniSDK iOS 必接项。
  • 渠道组件:集成三个独立的渠道组件。
    • OmniPassport (金山通行证)
    • OmniSeayooAccount (世游通行证)
    • OmniOversea (海外SDK)
  • 其余组件:可选组件,如OmniReyun(热云投放)、OmniFacebookLogin(Facebook 登录)等,项目按需接入即可。

组件详情

配置 OmniChannel

提示

每个渠道对应一个 OmniSDKChannel 值,请根据接入渠道配置对应值:

  • OmniPassport : kspassport
  • OmniSeayooAccount : seayoo
  • OmniOversea : oversea

在 info.plist 文件中添加如下配置,其中OmniSDKChannel为接入渠道对应值。

Key类型是否必填说明
OmniSDKAppIdStringYappid
OmniSDKAppKeyStringYappkey
OmniSDKPlanIdStringY发布计划
OmniSDKChannelStringY渠道名称