跳到主要内容

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 接口,会回调onAccountLoginSuccessonAccountLoginCancelonAccountLoginFailure

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 组件模块进行了重构:

  • 核心组件: OmniCoreOmniAPI ,核心组件为 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渠道名称