iOS不常用功能

iOS不常用功能

wapublisher No Comment
Uncategorized

1 支付有关

1.1 查询商品本地价格

通过查询商品信息,可以获取库存商品的本地价格,查询商品本地价格调用接口:
+ (void)queryChannelProduct:(NSString )channel
callBackBlock:(void(^)(NSArray
channelProductsArray,NSError *error))callBackBlock

代码示例

注意:这个接口需要在查询库存商品( queryInventoryWithDelegate)成功回调后使用。
参数说明:

参数名 类型 必填 说明 备注
chanel NSString Y 渠道名称 如苹果渠道 APPLE

实体结果说明 WAChannelProduct:

字段名 类型 说明 备注
channel NSString 渠道名称 传递的channel
productIdentifiere NSString 平台商品id
localeCurrencyCode NSString 本地货币code USD 、CNY
localFormattedPrice NSString 格式化价格 $999.99 、 ¥6,498.00
price NSDecimalNumber 价格 999.99、 6498

1.2支付服务是否可用

通过以下接口可以获取支付服务是否可用,返回boolean类型结果,true为可用,false为不可用,只要有一个支付渠道可用即为true:
+(BOOL)isPayServiceAvailable;
代码示例:

2 . 隐私政策

如果CP对接的登录方式是接口登录方式,则可以使用以下几个接口来实现隐私政策流程,具体流程可参考下图。
图片1

2.1 获取隐私政策url

WINGSDK有自己的隐私政策,调用以下接口获取到隐私政策url(隐私政策内容为html页面)

示例:

2.2 获取隐私政策更新时间

隐私政策更新需要重新显示时可以调用以下接口获取最新隐私政策更新时间,和上一次保存的时间戳作对比,从而确定是否需要展示

示例:

2.3 显示隐私政策详情UI

当需要显示隐私政策详情时,可以调用以下接口显示出隐私政策详情界面

示例:

3 公共设置

WINGSDK包括serverId等公共参数,这些参数主要用于数据跟踪和统计。公共参数必须严格按照文档进行配置,在后续的接口中会使用到这些公共的参数,没有按照要求配置会导致部分接口调用失败。

3.1 设置服务器ID

当用户的服务器ID发生改变时,需要调用设置服务器ID接口设置新的服务器ID,例如每次进入服务器:

注意:设置服务器ID的操作在每次选服后都需要进行,必须在调用其他接口前设置。

3.2 设置用户gameUserId

用户在选择服务器并且登录之后将用户gameUserId设置到SDK中以便于跟踪。

3.3 设置用户等级level

设置游戏玩家的角色等级,调用接口:

注意:第一次进服获取玩家等级或玩家等级变更后,需要及时调用这个接口设置玩家等级,必须在调用其他接口前设置。

3.4 设置玩家昵称

设置游戏玩家的昵称,调用接口:

注意:
1.当玩家登录、登出游戏,或修改昵称时,需要及时调用这个接口设置玩家昵称。
2.调用该接口设置昵称后,玩家进行购买时会自动记录昵称到订单信息中。

4 登录有关

4.1 应用内登录

SDK平台应用内登录,是指CP本身有自己登录系统,先登录CP后台拿到用户信息后登录SDK后台,应用内登录调用接口用户登录接口 ,登录平台取值APPSELF(WA_PLATFORM_APPSELFLOGIN),将CP后台返回的用户信息按照规定格式(JSON字符串)通过extInfo字段传入。

应用内登录extInfo格式(标准JSON格式字符串)

实例:

字段说明:

字段名 类型 说明 必填 备注
appSelfLogin boolean 应用内登录固定值true Y
puserId String CP用户id Y
accessToken String CP用户Token Y
extInfo String 额外信息 N CP 扩展信息字段,限长512,WING服务器到CP服务器验证登录时原样返回给CP。CP可以添加任意自定义的字段(JSON格式),用于检验登录或扩展其它功能,不超过长度限制即可。

4.2 登录高级设置

使用该接口需注意以下两点:
1)一般来说,如果应用登录的时候有登录方式选择界面,就不需要使用此接口,此接口默认是这种方式(取值为1)。

2)这个接口主要是用来满足以下需求:用户第一次登录是以游客方式进行登录,进到应用里面可以切换其它登录方式,下次登录会直接以切换后的账户进行登录(取值为2)。

代码示例:

登录流程有两种模式,在WAConstants类中定义,取值如下表:

名称 取值 备注
WA_LOGIN_FLOW_TYPE_DEFAULT 1 适用于有登录界面的场景,登录的时候不会重新绑定设备
WA_LOGIN_FLOW_TYPE_REBIND 2 适用于无登录界面的场景,登录时重新将新账号与当前设备绑定,如在游戏中切换账户,切换以后的匿名登录是以切换后的账户进行登录。

5 账户管理

5.1 关于绑定解绑的通知

账户管理界面没有返回绑定和解绑结果,但是会以通知的方式将结果回调给CP。当绑定有结果之后(无论成功失败),将回传一个WABindingResult实例。当解绑有结果(无论成功失败),将回传一个WAAccount实例。有四个通知,分别是绑定成功、绑定失败、解绑成功、解绑失败,通知的名称分别是以下常量:
WABindDidSucceedNotification;//绑定成功
WABindDidFailNotification;//绑定失败
WAUnbindDidSucceedNotification;//解绑成功
WAUnbindDidFailNotification;//解绑失败

注:关于绑定facebook成功之后,请注意触发邀请奖励。代码如下:

5.2 绑定第三方平台账户

5.2.1 实现协议WAAccountBindingDelegate

说明:关于APPLE账号的绑定,请参考实现协议WALoginDelegate中定义的方法的说明。

5.3 调用方法

+(void)bindingAccountWithPlatform:(NSString *const)platform extInfo:(NSString*)extInfo delegate:(id<WAAccountBindingDelegate>)delegate;
绑定平台取值:

名称 取值 备注
WA_PLATFORM_FACEBOOK FACEBOOK FACEBOOK平台
WA_PLATFORM_APPLE APPLE APPLE平台
WA_PLATFORM_VK VK VK平台

示例代码:

5.4 查询已经绑定的第三方平台账户

通过以下接口,可以查询当前的账户已经绑定的第三方平台账户:
+(void)queryBoundAccountWithCompleteBlock:(void(^)(NSError* error,NSArray<WAAccount *>* accounts))block;

示例代码:

5.5 解绑第三方平台账户

通过以下接口,可以解绑已经绑定的第三方平台账户:
+(void)unBindAccountWithPlatform:(NSString *const)platform platformUserId:(NSString*)pUserId completeBlock:(void(^)(NSError* error))completeBlock;
有以下情况之一者,不可解绑:
1.解绑的账户为WINGSDK平台的;
2.用户没有绑定第三方平台账户的;
3.用户只绑定一个第三方平台账户,且用户没有与当前设备绑定的。
示例代码:

5.6 切换账户

使用以下接口可以快速切换登录的账户
+(void)switchAccountWithPlatform:(NSString *const)platform completeBlock:(void(^)(NSError* error,WALoginResult* result))completeBlock;

5.7 新建账户

+(void)createNewAccountWithCompleteBlock:(void(^)(NSError* error,WALoginResult* result))completeBlock;

新建账户后,新的账户会跟当前设备绑定,如果之前的账户没有绑定第三方平台账户,数据将会丢失。
代码示例:

5.8获取账户信息

SDK提供了获取指定平台的账户信息,可以通过以下接口获取:

+(WAAppUser*)getAccountInfoWithPlatform:(NSString *const)platform;

示例代码:

6 AiHelp有关

6.1.判断是否开启游戏评分AiHelp

说明:该接口返回布尔值,YES表示已开启,NO表示未开启。在使用其他AIHELP接口前请先判断这个接口,在返回YES的情况下使用。示例如下:

6.2. 打开游戏评分AiHelp界面

说明:该接口受WING后台中参数设置-客户端-游戏评价开关
控制。如果后台未开启开关,此接口不生效。

调用示例:
        

6.3.设置客服系统语言

示例代码:

参数说明:

参数名 类型 必填 说明 备注
language NSString Y 语言名称 语言支持如下图

语言支持列表图:
图片1

7 调用评分界面

cp可根据需求,调用appStore评分界面,调用方法

系统要求:iOS10.3及以上系统才可以调起评分界面。

8 删除账号接口

8.1 第三方账号注销授权接口

描述:如果是SIGGINWITHAPPLE登录(可通过接口[WAUserProxy getCurrentLoginPlatform]获取登录方式),需要单独授权一次拿到授权信息,然后再调用请求删除账号接口,目前只支持SIGGINWITHAPPLE
类名:WAUserProxy
方法名:deleteAccounAuthorizationWithPlatform
请求参数:paltform,登录平台
调用方法:WAUserProxy.deleteAccounAuthorizationWithPlatform
调用示例:

WADeleteRequestModel说明

字段名 类型 说明 备注
deletePlatform string 删除平台(Facebook,Apple)
deleteToken string 删除平台accessToken

8.2 请求删除账号接口

类名:WAUserProxy
方法名:requestDeleteAccout
请求参数:(WADeleteRequestModel*)deleteResult,如无则传递nil。此参数通过调用第三方账号注销授权接口回掉获取。如signinwithappie需要传递此参数
返回值:callback
调用方法:WAUserProxy.requestDeleteAccout
调用示例:

8.3 取消删除账号接口

类名:WAUserProxy
方法名:cancelRequestDeleteAccoutWithUserid
返回值:callback
调用方法:WAUserProxy.cancelRequestDeleteAccoutWithUserid
调用示例:

9 UMP同意弹窗相关

9.1同意弹窗说明

SDK在初始化的时候会在页面进行UMP同意弹窗初始化,并展示给需要的用户(欧盟地区)进行同意授权,授权完成后AdMob功能才会进行初始化及加载广告。如果是非欧盟地区用户,则会直接返回授权成功,并进行后续逻辑。
以上为SDK内部逻辑,研发无需处理。除此之外,研发需要在游戏内部放置一个按钮,可供用户打开UMP同意设置并修改同意状态,需要用到下面“检查设置”和”展示设置“两个方法。

UMP同意弹窗效果如下:

9A202A5454A1F53E70C7E37556AAF4C7

9.2 开关配置

UMP功能默认关闭,如果需要开启UMP功能,在Info.plist中加入下面配置:
AdmobUseUMP 为YES

ump

9.3 检查配置

检查是否需要展示UMP同意设置。

返回值说明:

类型 必填 说明 备注
BOOL Y YES为需要展示,此时可以显示UMP配置按钮入口;NO为不需要,可以隐藏UMP配置按钮入口。 如果设备在非欧盟地区一般返回NO

9.4 展示配置

展示UMP同意设置

参数说明:

参数名 类型 必填 说明 备注
viewController UIViewController Y 当前页面控制器 显示成功后,用户操作同意或不同意才会回调,;如果显示失败,则error不为空

示例代码:

9.5添加UMP同意监听

SDK初始化时的UMP同意弹窗授权状态监听.

notification.userInfo回掉参数说明:

参数名 类型 必填 说明 备注
status NSString Y 1为同意 0为失败
error NSError N status为0时,才有值

示例代码:

10 GHGL模块相关配置

在Info.plist文件中,URL types下配置URL Schemes

WechatIMG698

注意
1.格式为wa+YOUR_SDK_APPID。比如SDK的appid为f7f9a9d18da611e5a0be000d3a906774,则对应内容为waf7f9a9d18da611e5a0be000d3a906774
2.这里SDK的appid为wingsdk的appid

Leave a Reply