2.x 升级 3.x
API
初始化
方法名
OmniSDK.sdkInitialize(options: OmniSDKOptions, delegate: OmniSDKCallBackDelegate)
修改为JSON 字符串参数转 OmniSDKOptions
v2 v3 描述 delegate OmniSDKOptions.delegate SDK 回调代理
登录
方法名
OmniSDK.accountLogin(_ para: String, _ controller: UIViewController)
修改为OmniSDKv3.login(controller: UIViewController, options: OmniSDKLoginOptions?)
JSON 字符串参数转 OmniSDKLoginOptions
v2 v3 描述 accountType authMethod 登录类型
获取登录信息
方法名
OmniSDK.getUserInfo()
修改为JSON 字符串参数转 OmniSDKLoginInfo
v2 v3 描述 uid userId userID token token token verifySign signature 签名 (服务端安全性验证使用) channelid channelId 渠道 verifyTimestamp authTime Unix timestamp (服务端安全性验证使用) authMethod 登录类型 state 账号状态 identityProviders 关联账号 cpUid 废弃 cpUid certification 废弃 实名认证状态 isNewUser 废弃 是否是新用户
登出
方法名
OmniSDK.accountLogout()
修改为
购买
方法名
OmniSDK.pay(_ para: String)
修改为JSON 字符串参数转 OmniSDKPurchaseOptions
v2 v3 描述 productId productId 商品ID productName productName 商品名称 productDesc productDesc 商品描述 productUnitPrice productUnitPrice 商品单价 paidAmount purchaseAmount 预期支付总额 productQuantity purchaseQuantity 购买数量 gameCallbackUrl purchaseCallbackUrl 支付回调地址 gameTradeNo gameOrderId 游戏订单ID extJson extJson 交易扩展参数 productUnit gameCurrencyUnit 游戏货币单位 roleId gameRoleId 角色ID roleName gameRoleName 角色名称 roleLevel gameRoleLevel 角色等级 roleVipLevel gameRoleVipLevel 角色的VIP等级 zoneId gameZoneId 区ID serverId gameServerId 服ID totalAmount 废弃 商品总价
删除账号
方法名
OmniSDK.accountDelete(_ para: String)
修改为OmniSDKv3.deleteAccount(options: OmniSDKDeleteAccountOptions?)
JSON 字符串参数转 OmniSDKDeleteAccountOptions
v2 v3 描述 roleID 废弃 角色 id serverID 废弃 服 id
打开用户中心
OmniSDK.updateUserInfo(_ controller: UIViewController)
修改为
进入游戏
方法名
OmniSDK.onEnterGame(_ para: String)
修改为OmniSDKv3.trackEvent(event: OmniSDKEvent)
event: OmniSDKEvent
是一个基类,需要实际对象为OmniSDKEnterGameEvent
JSON 字符串参数转 OmniSDKEnterGameEvent
v2 v3 描述 roleInfo OmniSDKCreateRoleEvent.roleInfo 角色信息
创建角色
方法名
OmniSDK.onCreateRole(_ para: String)
修改为OmniSDKv3.trackEvent(event: OmniSDKEvent)
event: OmniSDKEvent
是一个基类,需要实际对象为OmniSDKCreateRoleEvent
JSON 字符串参数转 OmniSDKCreateRoleEvent
v2 v3 描述 roleInfo OmniSDKCreateRoleEvent.roleInfo 角色信息
游戏发货成功
方法名
OmniSDK.statisticsGameShippedFinish(_ para: String)
修改为OmniSDKv3.trackEvent(event: OmniSDKEvent)
event: OmniSDKEvent
是一个基类,需要实际对象为OmniSDKPurchaseEvent
JSON 字符串参数转 OmniSDKPurchaseEvent
v2 v3 描述 uid userId 账号ID platTradeNo orderId SDK 订单ID productId OmniSDKPurchaseOptions.productId 商品ID productName OmniSDKPurchaseOptions.productName 商品名称 productDesc OmniSDKPurchaseOptions.productDesc 商品描述 productUnitPrice OmniSDKPurchaseOptions.productUnitPrice 商品单价,单位:元 productQuantity OmniSDKPurchaseOptions.productQuantity 购买数量 payAmount OmniSDKPurchaseOptions.purchaseAmount 付费金额,单位:元 productUnit OmniSDKPurchaseOptions.gameCurrencyUnit 游戏货币单位(魔石,钻石...) roleId OmniSDKPurchaseOptions.gameRoleId 角色ID roleName OmniSDKPurchaseOptions.gameRoleName 角色名 roleLevel OmniSDKPurchaseOptions.gameRoleLevel 角色等级 roleVipLevel OmniSDKPurchaseOptions.gameRoleVipLevel 角色VIP等级 serverId OmniSDKPurchaseOptions.gameServerId 服ID zoneId OmniSDKPurchaseOptions.gameZoneId 区ID gameTradeNo OmniSDKPurchaseOptions.gameOrderId 游戏订单ID additionalParams OmniSDKPurchaseOptions.extJson 扩展字段 totalAmount 废弃 商品总价,单位:元 currencyName 废弃 货币代码 partyName 废弃 帮会名称 virtualCurrencyBalance 废弃 虚拟货币余额 customInfo 废弃 扩展字段,订单支付成功后,透传给游戏 paymentTypeName 废弃 支付类型
分享
方法名
OmniSDK.socialShare(options: OmniSDKShareOptions, controller: UIViewController)
修改为OmniSDKv3.socialShare(controller: UIViewController, options: OmniSDKSocialShareOptions)
JSON 字符串转 OmniSDKSocialShareOptions
v2 v3 描述 platform platform 分享平台 text text 分享内容 url linkUrl 分享内容 URL quote 引用 (Optional) tags 标签 (Optional)
数据结构
OmniSDKRoleInfo
通用的玩家数据结构,被应用于不同的 Event
JSON 字符串转 OmniSDKRoleInfo
v2 v3 描述 uid userId 账号ID roleId roleId 角色ID roleLevel roleLevel 角色等级 roleName roleName 角色名 roleVipLevel roleVipLevel 角色VIP等级 serverId serverId 服ID serverName serverName 服名称 ext extJson 透传参数 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.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 | 类型 | 是否必填 | 说明 |
---|---|---|---|
OmniSDKAppId | String | Y | appid |
OmniSDKAppKey | String | Y | appkey |
OmniSDKPlanId | String | Y | 发布计划 |
OmniSDKChannel | String | Y | 渠道名称 |