UWingSDK(Android)使用指南(1.1.1)

UWingSDK(Android)使用指南(1.1.1)

wapublisher No Comments

1.简介

UWingSDK是基于WingSDK功能实现的,支持快速接入的一套SDK方案。与传统的SDK接入不同,UWingSDK除了登录,大部分功能均无SDK后台限制,实现支持直接返回结果,直接调试接口,有效提升了接入效率。

2.快速开始

2.1.项目配置要求

API版本:最低API版本24,目标API版本35或以上

2.2.集成SDK


a、添加仓库地址

新项目配置:在项目根目录下的settings.gradle文件添加以下配置:

旧项目配置:在项目根目录下的build.gradle文件添加以下配置:

b、在项目的app/build.gradle中添加SDK库:

2.3.AndroidManifest.xml配置

在清单配置中添加下面配置,sdk_app_id和sdk_app_key具体值从对接表中获取

2.4 Activity结果传递

重写Activity的onActivityResult方法,并调用下面方法

参考示例

注意:若未添加该方法,可能导致无法接收登录、支付等功能的回调结果。

2.5 SDK初始化

在游戏页面Activity的onCreate中调用下面方法

示例如下

注意
1.SDK初始化必须在游戏页Activity(不能是闪屏页)的onCreate()方法中调用。
2.其他所有SDK接口都必须在SDK初始化成功的情况下才能调用。

2.6 添加测试设备

在登录测试框中点击蓝色ClientID文字进行复制,把该内容提供的运营添加测试设备
如果未添加测试设备,会导致无法使用登录,支付等功能。

图片1

3. 功能接入

3.1 登录

接口效果:
点击复制clientId给运营添加测试设备后,点击“登录”即可正常登录并返回结果

图片1

调用方法:

登录结果UWLoginResult说明

字段名 类型 说明 备注
userId String SDK的用户ID
token String SDK的登录token
platform String 当前登录平台(如GOOGLE、FACEBOOK)

示例如下:

3.2 登出

调用方法

3.3 支付

接口效果:
点击“支付”后,游戏提供的发货通知接口将收到客户端购买的商品信息,接下来按照接入文档要求完成发货 (默认通知游戏后端的商品金额为1.99和USD币种,如需测试其他价格商品可以自行修改)

图片2

调用方法

方法参数说明

参数名 类型 说明 备注
activity Activity 当前Activity
sdkProductId String SDK的商品ID(非Google商品ID),从运营处获取
extInfo String 扩展信息,可用于透传(如透传订单号或发货接口),支付成功后会原样通知CP服务器
callback UWCallback 支付回调处理

支付结果UWPayResult说明

字段名 类型 说明 备注
platform String 支付平台(如GOOGLE)
sdkProductId String SDK的商品ID
extInfo String 扩展信息 支付时传入的extInfo一致
orderId String SDK订单ID 部分支付方式没有
currency String 货币类型(基准货币) 由SDK后台定义
price long 商品价格,单位微分(1元=1000000) 由SDK后台定义

示例如下:

测试发货:具体查看《CP接口测试》章节中的 《内购商品发货接口》

3.4 事件发送

3.4.1 进入游戏服务器

调用方法:

参数说明:

参数名 类型 说明 备注
serverId String 服务器ID
gameUserId String 游戏角色ID 如果未创角,可以设置为 “-1”
nickname String 游戏角色名(昵称) 如果未创角,可以设置为空字符串””
level int 游戏角色当前等级 如果未创角,填入游戏角色初始等级,一般为 1

3.4.2 用户创建角色

调用方法:

参数说明:

参数名 类型 说明 备注
serverId String 服务器ID
gameUserId String 游戏角色ID
nickname String 游戏角色名(昵称)
level int 游戏角色当前等级
registerTime long 创建角色时的时间戳,单位为毫秒,长度13位

3.4.3 角色等级升级

调用方法:

参数说明:

参数名 类型 说明 备注
currentLevel int 游戏角色当前等级

3.4.4 修改游戏角色名

调用方法:

参数说明:

参数名 类型 说明 备注
nickname String 更改后的游戏角色名(昵称)

3.4.5 用户点击支付

调用方法:

3.4.6 新手任务完成

调用方法:

3.5 客服中心

接口效果:
点击“切换账号”,“绑定账号”,“账号注销”,可以进行客服中心相关回调测试
图片3

在游戏设置页中添加该功能入口,入口的图标和名称可以参考使用下面。
文案内容:
Support Center(英语)
Central de Suporte(葡语)
图标 (下载)

图片13

调用方法:

UWIAccountCallback 回调说明:

方法 说明 CP需要处理
onSwitchAccount(String userId, String token, Bundle bundle) 账号切换成功 游戏客户端要回到登录页并重新登录
onBindAccount(boolean isBound, String platform, Bundle bundle) 账号绑定状态变更
onDeleteAccount 账号申请注销成功 游戏客户端要退出游戏回到登录页

示例如下:

3.6 AiHelp客服

接口效果(UWingSDK.AiHelp.show()):
调用即打开AiHelp客服成功,如有需要可以点击“增加未读消息”修改UWingSDK.AiHelp.getUnreadMessageCount()接口返回的“未读消息”数目。

图片4

3.6.1 添加该功能入口

在游戏登录页中添加该功能入口,入口的图标和名称可以参考下面。
文案内容:
Support(英语)
Suporte(葡语)

图标(下载)

图片aihelp

3.6.2 判断是否开启

调用方法:

返回结果说明:
true – 开启;false – 未开启

示例如下:

3.6.3 显示AiHelp客服

调用方法:

3.6.4 获取未读消息

在SDK初始成功之后,调用方法:

示例如下:

3.7 游戏评价

3.7.1.判断是否开启

如果游戏有做评价发奖的引导页, 需要根据该状态决定是否弹出引导页,true需要弹出,false不需要弹出

调用方法:

示例如下:

3.7.2.展示游戏评价弹窗

接口效果:
点击“提交好评”立即返回好评结果,如有好评发奖需求,研发可根据好评结果进行发奖处理(奖励发放过程游戏端自行处理即可,无需通过SDK)

图片5

调用方法:

示例如下:

注意:如果有多个触发点的情况,各触发点相互独立,不需要规定它们之间的逻辑关系(比如不要规定A点评价了B点就不弹评价等)


3.9 退出游戏提示

拦截用户返回操作,弹出退出提示框,用户点击确认退出时,会finish所有Activity,并结束游戏进程

接口效果:

图片7

调用方法:

示例如下:

显示效果如下:

图片2

3.10 月卡功能

3.10.1.获取月卡信息

接口效果:
可以通过点击“返回未激活”(模拟非月卡用户)或“返回已激活”(模拟月卡用户)来决定接口返回结果,游戏可以根据不同返回结果进行相关处理

图片8

调用方法:

月卡信息UWPassPlatformInfo说明:

参数名 类型 说明 备注
passStatus int 月卡状态:0-未激活;1-已激活


示例如下:

3.10.2 月卡用户指引弹框

调用方法:

示例如下:

4. CP接口测试

根据接入需求,可能会要求CP提供响应功能的接口,这些接口都可在UWingSDK对应功能调用中进行测试。

重要提示:
1.长按输出的信息可以进行复制
2.调试信息中,会打印请求时所用参数

4.1 内购商品通知发货

该接口用于SDK进行应用内商品购买时,通知CP进行发货,具体接入实现要求参考文档:
https://blog.wing-analytics.com/archives/2510.html#cp_deliver

UWingSDK测试入口:
游戏调用支付接口 UWingSDK.User.pay(),在界面中点击“支付”

图片1

4.2 AdMob激励广告通知接口

该接口用于SDK的AdMob激励广告功能,通知CP进行激励广告奖励发货,具体接入实现要求参考文档:

https://blog.wing-analytics.com/archives/2510.html#admob

UWingSDK测试入口:
游戏调用AdMob接口 UWingSDK.AdMob.RewardedAd.showAd(),在界面中点击“通知发货”

图片2

4.3 接口测试页面

游戏中调用客服中心接口 UWingSDK.User.showCustomerCenter(),在界面中点击“CP接口测试”,进入CP接口测试页面

图片3

图片4

4.3.1 礼包通知接口(预注册,浮窗礼包)

该接口用于SDK的预注册和浮窗礼包功能,通知CP进行礼包发货,具体接入实现要求参考文档:

https://blog.wing-analytics.com/archives/2510.html#gift_url

UWingSDK测试入口:在“CP接口测试”页面,点击对应功能按钮进行测试

4.3.2.查询区服角色信息

该接口用于查询游戏区服角色信息,具体接入实现要求参考文档:
https://blog.wing-analytics.com/archives/2510.html#server_info

UWingSDK测试入口:在“CP接口测试”页面,点击对应功能按钮进行测试

4.3.3.查询可购买礼包(商品)列表

该接口用于查询游戏可购买礼包(商品)列表,具体接入实现要求参考文档:
https://blog.wing-analytics.com/archives/2510.html#paymentcenter_gameproductlist

UWingSDK测试入口:在“CP接口测试”页面,点击对应功能按钮进行测试

4.3.4.购买礼包(商品)下单

该接口用于向游戏进行礼包(商品)下单,具体接入实现要求参考文档:https://blog.wing-analytics.com/archives/2510.html#paymentcenter_order

UWingSDK测试入口:在“CP接口测试”页面,点击对应功能按钮进行测试

5. 不常用功能

不常用功能

WingSDK_Android使用指南(v5.3.0)

wapublisher No Comments

1 、简介

1.1 用户模块

提供 UI界面 和 接口调用 两种方式,满足用户不同需求。

1.1.1 登录弹窗

内置登录UI弹窗,内含所有已经集成的登录方式,无需编写界面,一键集成登录功能

1.1.2 匿名登录

WINGSDK匿名登录无需账户密码,根据设备信息新建用户或登录已存在的用户,可以快速登录游戏。

1.1.3 第三方平台登录

第三方平台登录接口可以通过第三方平台账户登录,返回WINGSDK账号信息,使用没有绑定任何WINGSDK账号的第三方平台账号登录,会自动新建一个WINGSDK账号,并且与该平台账号绑定。支持Facebook登录、Google登录、VK登录。

1.1.4 内置账户管理界面

内置账户管理UI界面,无需编写界面和逻辑,即可对账户进行管理,平台账户绑定情况一目了然,绑定、解绑平台账户,新建账号,切换账号,轻松搞定。

1.1.5 账号绑定与解绑

  • 账号绑定接口,可以将WINGSDK账号跟第三方平台的账号绑定,绑定成功后可以使用绑定的平台账号登录,在同一应用中一个平台账号只能绑定一个WINGSDK账号。

  • 账号解绑接口,可以将第三方平台账号与其绑定的WINGSDK账号解绑,解绑成功后,平台账号可以与WINGSDK账号再次绑定。

  • 绑定账号查询接口,能够查询此时登录的账号(WINGSDK)已经绑定的第三方平台账号列表。

1.1.6 账号切换

一键切换账号,迅速切换WINGSDK账号或者第三方账号。

1.2 支付模块

支付模块提供支付充值接口,集成简单,无需理会复杂的支付流程,轻松完成商品的购买(充值)。

1.3 数据收集模块

数据收集模块提供了数据收集的接口,多渠道灵活调用。数据收集包含了丰富的应用内的事件类型,还支持用户自定义事件类型。

1.6 推送

WINGSDK推送功能,可以向客户端推送消息,通过简单几步配置即可使用。

1.8. 智能客服 AIHelp

WINGSDK智能客服功能,集成机器人、人工客服,FAQ等功能。

1.9.隐私政策

为了遵守欧盟以及Google等第三方的一些关于用户隐私的法律法规,WINGSDK实现了一套简单的用户隐私政策流程。分为两种类型,一种是自动的,针对的是对接了登录窗口方式的CP,这种情况CP无需接入任何新的接口;一种手动的,针对的是对接了接口登录的CP,这种情况CP需要对接新的接口,具体接口参考隐私政策接口章节。

1.10. 用户中心

WINGSDK用户中心功能,可以向玩家展示充值中心账号、初始密码、信息内容。

2 、快速集成

2.1 环境配置要求

  • Android API 21及以上版本

  • jdk1.8及以上版本。

  • compileSdkVersion 34及以上版本

2.2 集成SDK到项目



WINGSDK基于gradle提供了多种集成方式:Gradle自动集成、手动集成、Eclipse项目集成、命令行集成,可以根据需要选择其中任意一种方式。

集成参考demo: demo代码下载地址

第三方SDK依赖关系如下表

第三方SDK 版本
GOOGLE com.android.billingclient:billing:7.1.1
com.google.android.gms:play-services-base:18.5.0
com.google.android.gms:play-services-games-v2:20.1.2
com.google.android.gms:play-services-ads-identifier:18.2.0
com.google.gms:google-services:4.4.2
com.google.android.play:review:2.0.2
androidx.credentials:credentials:1.3.0
androidx.credentials:credentials-play-services-auth:1.3.0
androidx.credentials:credentials-play-services-auth:1.3.0
com.google.android.libraries.identity.googleid:googleid:1.1.1
com.google.android.gms:play-services-auth:21.3.0
Google Firebase com.google.firebase:firebase-analytics:22.2.0
com.google.firebase:firebase-messaging:24.1.0
FACEBOOK 18.0.0
APPSFLYER 6.16.0
AIHELP 5.4.0
glide 4.11.0
华为HMS com.huawei.hms:hwid:6.7.0.300
com.huawei.hms:iap:6.4.0.301
com.huawei.hms:hianalytics:6.8.0.300
com.huawei.agconnect:agconnect-crash:1.7.2.300
com.huawei.agconnect:agconnect-apms:1.6.1.303
com.huawei.hms:ads-identifier:3.4.56.300
AdMob com.google.android.gms:play-services-ads:23.0.0
com.google.android.ump:user-messaging-platform:2.2.0
Nowgg com.wa.3rd:com-nowgg-sdk:3.0.0@aar
Leidian com.ld.android:ld-sdk:2.9.0
Qoo om.wa.3rd:com-qoo-sdk:3.0.4@aar

2.2.1 Gradle自动集成

新项目配置:在项目目录下的settings.gradle文件添加以下配置:

旧项目配置:在项目目录下的build.gradle文件添加以下配置:

注意:
1)部分项目中可能只有一个build.gradle文件;

2)以上的url为WingSdk仓库地址:http://repo.wingsdk.cn:8081/repository/winga-group/

在程序module下面的build.gradle文件的dependencies内增加依赖配置;

注意:
1)部分项目中可能只有一个build.gradle文件;
2)以上的“必选”项目必须引入,“可选”项目可根据需求引入。
3) 其中x.x.x为各个模块的具体版本号,随SDK版本升级会发生改变,各个版本对应的渠道包版本请参考:https://admin.wingsdk.com/developers/pack_config.do 在这个地址页面,也可以通过选择版本和所需要的渠道,一键生成依赖脚本配置。

2.3 SDK配置及初始化

2.3.1 SDK配置

2.3.1.1 AndroidManifest.xml配置:

在AndroidManifest.xml中application标签下添加以下设置。不同的应用配置的参数值不相同,需要申请相应资源

注意:以上配置中android:name必须保持一致,android:value根据CP应用申请的资源而定。

2.3.1.2 Activity结果传递配置

在所有使用到SDK接口的Activity的onActivityResult方法中增加以下代码:

2.3.1.3 接口使用注意事项

1.所有SDK接口都必须在主线程中调用
2.所有SDK接口必须在SDK初始化成功后调用,除非有特殊说明

2.3.2 SDK初始化

调用下面接口对SDK进行初始化:

注意:
1.SDK初始化必须在游戏页Activity(不能是闪屏页)的onCreate()方法中调用,必须在UI线程中调用。
2.从回调中获取初始化结果,所有SDK接口都必须在SDK初始化成功的情况下才能调用。
3.建议在初始化中过程中增加laoding状态,返回结果后再关闭loading

参数说明:

参数名 类型 必填 说明 备注
activity Activity Y 调用接口的Activity
callback WACallback Y 初始化结果回调 1)onSuccess 初始化成功
2)onError 初始化失败

示例代码:

2.4 登录

2.4.1 使用登录窗口

2.4.1.1 调用登录窗口

注意:测试时,需要联系运营添加测试设备,才能出现登录方式。

SDK内置了一个包含所有支持的登录方式的一个对话框,通过调用以下接口显示对话框:

参数说明:

参数名 类型 必填 说明 备注
activity Activity Y 调用接口的Activity
enableCache boolean Y 是否启用登录缓存,true为启用,false为关闭 一般建议传true 如果开启登录缓存,那么调用这个接口的时候会看是否有登录记录,如果有,不会显示登录方式选择对话框,直接使用上一次的登录方式登录。
callback WACallback<WAloginResultV2> N 回调,用来返回登录结果 处理登录结果

注意:使用登录窗口时,点击图标登录SDK自动弹出加载框,无需再次添加加载框。

2.4.1.2 清除登录窗口的缓存

使用登录窗口对话框进行登录,如果启用了缓存,SDK会缓存当前登录方式,下一次在启用缓存的前提下使用登录窗口登录,会自动使用上一次登录方式登录,不再弹出登录窗口。清除掉缓存后,可以重新弹出登录窗口,清除缓存调用以下接口:

注意:从3.18.0开始,调用WAUserProxy.logout()时,内部已经包含清除登录窗口缓存逻辑,可以不调用该方法。

2.4.2 使用接口登录

如果CP有自己的登录窗口,可以使用以下登录接口:

参数名 类型 必填 说明 备注
activity Activity Y 调用接口的Activity
platform String Y 登录账户的平台类型 在WAConstants类中定义,详情请看平台取值
callback WACallback< WALoginResultV2> N 回调,用来返回登录结果 处理登录结果
extra String N 额外信息 Facebook自定义权限登录、应用内登录等高级登录设置请参考登录高级设置相关章节

2.4.3 处理登录结果

登录结果通过传入的回调返回,数据封装在WALoginResultV2类中。

WALoginResultV2字段说明

字段名 类型 说明 备注
code int 登录结果码 状态码说明
message String 登录结果消息
userId String WINGSDK用户id
token String WINGSDK用户token
platform String 平台类型 当前登录的平台名称
isGuestAccount int 是否游客登录 0 不是游客账号 1是游客账号

2.4.4 用户登出

需需要在游戏中添加该功能入口,一般是在游戏设置页中,具体入口位置和图标由运营决定。效果参考下图:

账号登出

用户正常关闭游戏时无需调用该接口,只有在退出游戏账号的时,才必须执行登出操作。用户登出调用以下接口:

2.5 支付

2.5.1 查询库存商品列表

通过查询库存商品列表,可以获取所有可以购买的库存商品,查询库存调用接口

注意:这里返回的库存商品信息是WINGSDK平台的商品信息,并非第三方平台的商品信息。

参数说明:

参数名 类型 必填 说明 备注
callback WACallback<WASkuResult> N 回调方法,结果返回

WASkuDetails实体类说明:

get方法名 返回值类型 不为空 说明 备注
getSku() String Y 库存商品id
getTitle() String N 商品名称
getDescription() String N 商品描述
getVirtualCoinAmount() long Y 虚拟货币数

2.5.2 购买商品

需要先接入进服和创角事件,否则无法正常通知发货。
购买指定商品,调用以下接口发起支付:

调用支付接口支付将会出现两种情况:
1)直接弹出google购买窗口(如果该商品有且只有google支付渠道);
2)弹出支付渠道选择窗口(如果有除google之外的渠道),选择支付方式后进行支付。

参数说明:

参数名 类型 必填 说明 备注
activity Activity Y 调用Activity
waProductId String Y WINGSDK 商品的id 必须WINGSDK 平台的商品id
extInfo String N 额外信息,该信息会在支付成功后原样通知到CP服务器,CP用于检验 CP 扩展信息字段,限长512(JSON格式),WING服务器到CP服务器发货通知时原样返回给CP。如果CP的通知发货地址是动态变化的(比如每个服务区的地址都不一致),可以通过此字段设置:参数格式为标准JSON,参数名为 deliverUrl,参考格式
{
“deliverUrl”:” http://game.com/deliver.do”,
“otherInfo”:”otherInfo”,
“merId”:””
}
merId字段(选填),收款商户ID,使用场景:同一个支付渠道下有多个不同的收款验证信息(或收款帐号)。如果是 APPLE支付渠道,merId使用客户端bundleId
callback WACallback< WAPurchaseResult > N 回调方法,结果返回 onError中的WAPurchaseResult 对象可能为空

注意:如果需要横竖屏适配,请在AndroidMainifest.xml中对弹出购买窗口的Activity声明中添加如下语句:

WAPurchaseResult实体类说明:

Get方法名 返回值类型 不为空 说明 备注
getPlatform() String Y 支付平台
getWAProductId() String Y WINGSDK商品id
getExtInfo() String N 额外数据 支付的时候CP传入的
getOrderId() String N WINGSDK订单号 部分支付方式没有
getPlatformOrderId() String N 第三方平台订单号 部分支付方式没有
getSku() String N 第三方平台商品id
getPriceCurrencyCode() String N 本地货币类型
getPriceAmountMicros() long N 本地货币数量 微分,1元=1000000
getDefaultCurrency() String N 基准货币类型
getDefaultAmountMicro() long N 基准货币数量 微分,1元=1000000
getVirtualCurrency() String N 虚拟货币类型
getVirtualCoinAmount() long Y 虚拟货币数量

2.6 数据收集

使用WINGSDK数据收集接口配合大数据平台,可以轻松统计玩家习惯以及充值等行为,为游戏的市场营销提供数据依据。

下面流程涉及到WingSDK后台统计中非常关键的进服和创角事件,请严格按照指定时机顺序发送,具体流程如图所示:

进服创角事件顺序流程v2_内部设置首次进服.drawio

2.6.1.常用事件对象对照表

参数名 对象类 说明
ghw_user_import WAUserImportEventV2 用户进服事件。
调用时机:玩家登录游戏服务器成功后 。
备注:WingSDK后台会根据该事件统计导入数、登录数、导入留存等数据
ghw_user_create WAUserCreateEvent 用户创角事件。
调用时机:玩家创建角色成功后调用
备注:WingSDK后台会根据该事件统计创角数
ghw_user_info_update WAUserInfoUpdateEvent 更新用户信息。
调用时机:玩家更改角色昵称时(必须),或信息更新时(可选)
备注:WingSDK后台根据此字段更新玩家昵称等信息,影响WingSDK后台查看角色昵称
ghw_level_achieved WALevelAchievedEvent 等级增长事件。
调用时机:玩家达到新的等级时调用)
ghw_initiated_purchase WAInitiatedPurchaseEvent 点击购买事件 。
调用时机:用户点击购买时调用
ghw_self_tutorial_completed WATutorialCompletedEvent 完成新手任务。具体时机由运营确定
触发时机:完成新手任务时调用

2.6.2 常用事件发送

2.6.2.1 ghw_user_import用户进服

事件说明:用户进服事件
调用时机:玩家登录游戏服务器成功后

参数名 类型 说明 必填 备注
serverId String 服务器ID Y
gameUserId String 游戏角色ID Y 如果未创角,可以设置为“-1”
nickname String 游戏角色名(昵称) Y 如果未创角,可以设置为空字符串
level int 游戏角色等级 Y 如果未创角填入游戏角色初始等级,一般为1

代码示例

2.6.2.2 ghw_user_create用户创角

事件说明:用户创角事件
调用时机:玩家创建角色成功后调用
事件参数

参数名 类型 说明 必填 备注
serverId String 服务器ID Y
gameUserId String 游戏角色ID Y
nickname String 游戏角色名(昵称) Y
registerTime long 创角时的时间戳 Y 单位为毫秒(1970以后),长度13位
roleType String 角色类型 N
gender int 角色性别 N 0 女
1 男
2 未知
vip int 等级 N
bindGameGold int 绑定钻石数 N
gameGold int 用户钻石数 N
fighting int 战斗力 N
status int 状态 N 状态标识
-1: 锁定,
1:未锁定

代码示例

2.6.2.3. ghw_user_info_update 更新用户信息

事件说明:更新用户信息。
调用时机:玩家更改角色昵称时(必须),或信息更新时(可选)

参数名 类型 说明 必填 备注
nickname String 游戏角色名(昵称) Y
roleType String 角色类型 N
vip int 等级 N
status int 状态 N 状态标识,-1:锁定,1:未锁定

代码示例:

2.6.2.4 ghw_level_achieved 等级增长事件

事件说明:等级增长事件。
调用时机:玩家达到新的等级时调用

参数名 类型 说明 必填 备注
currentLevel int 当前等级 Y
score int 账户分数 N
fighting int 战斗力 N

2.6.2.5 ghw_initiated_purchase点击购买

事件说明:点击购买事件 。
调用时机:用户点击购买时调用

事件参数:无

代码示例

2.6.2.6.ghw_self_tutorial_completed完成新手任务

事件说明:完成新手任务。
触发时机:完成新手任务时调用
无参数

参考示例:

2.7 代码混淆配置

打包apk混淆代码配置中增加以下配置

3 、高级功能

3.1 调试模式

3.1.1 如何获取 client_id

在日志中,搜索警告级别日志内容 “clientid=”,可以得到appId和clientId

图片1

3.3 Firebase

原来的push模块更改为Firebase模块。Firebase为3.9.3及之后版本必须接入的模块。
Firebase包含推送通知及统计分析(包括事件跟踪)功能。

温馨提示:WINGSDK当前版本的推送是基于Firebase实现,国内环境需要VPN才能使用。

3.3.1 集成配置

添加推送模块依赖方法参考 集成SDK到项目

添加依赖后,在项目(Project)的build.gradle文件中添加依赖

在项目模块(Module)的build.gradle文件中添加插件声明(将这一句添加到build.gradle文件的最低端, 没有添加推送模块的依赖,不要添加这句

3.3.2 Android 13运行时通知权限申请

SDK v5.0.0及以后版本已在SDK内置申请通知权限,不再需要调用该方法

以Android 13为目标的应用项目,需要在恰当的时机(建议在用户进服后)申请通知权限,否则新安装应用无法接收Firebase通知
示例代码:

3.4 智能客服 AIHelp

3.4.1. 判断是否开启AiHelp

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

3.4.2. 展示AiHelp后台配置界面

说明:该接口受WING后台中”SDK客服开关V2”控制。如果WingSDK后台未开启开关,此接口不生效。

3.4.3.获取未读消息数

调用下面接口获取未读消息数


AiHelp客服红点处理建议:
1.为了确保红点状态准确性每次进入AiHelp客服入口所在页面都调用一次该接口,更新AiHelp客服入口的红点状态。比如每次进入游戏登录页,每次进入设置页,都需要调用该接口更新红点状态。
2.当用户点击AiHelp打开客服时,需要移除红点

3.6 Android6.0 权限管理

buildVersion 在23以下版本,只需要在AndroidManifest.xml中配置权限即可,buildVersion 在23及以上版本,在AndroidManifest.xml中配置的敏感权限声明,当程序运行在API 23(android6.0)及以上的系统时,授权声明是无效的,敏感权限需要在程序运行时授权。
SDK提供了运行时权限的检查与授权接口,在程序运行时,调用以下接口进行权限自检:

参数说明:

参数名 类型 必填 说明 备注
activity Activity Y Activity对象
permission String Y 权限名称 权限全称字符串,参考android.Manifest.permission
forceRequest boolean Y 是否强制申请权限 true 强制申请
false非强制申请
这个参数决定权限申请流程。强制申请权限时,拒绝后会弹出确认对话框,如果拒绝且勾选不再询问时,调用接口检查权限时会要求到设置中打开权限;非强制申请权限时,拒绝授权不再弹任何对话框,下一次调用接口权限继续弹出授权对话框
denyConfirmMsg String N 拒绝授权确认对话框的消息文字 拒绝授权后弹出确认对话框的消息文字
permissionSettingMsg String N 提示跳转到设置页面打开权限对话框的消息文字 拒绝且勾选不再询问时,调用接口检查权限时弹出要求到设置中打开权限对话框中显示的消息文字
callback WAPermissionCallback N 回调 接收返回的授权结果,CP根据授权结果做相应操作

示例:

在调用上面权限自检接口的Activity中的onRequestPermissionsResult()方法中调用已下接口,完成权限自检和授权的传递。

示例:

3.7 游戏评价窗口

3.7.1 判断是否开启游戏评价

如果游戏有做评价发奖的引导页(不是游戏评价窗口本身), 需要根据该状态决定是否弹出引导页,true需要弹出,false不需要弹出

调用方法:

示例如下:

3.7.2 打开游戏评价窗口

游戏评价窗口用于向用户展示评分提示窗口,弹出后用户可以选择提交好评(即拉起Google评分),或我要提意见(即打开AiHelp),或不谢谢(即关闭窗口,手势返回关闭同这个操作一样),具体UI可以查看后面的效果图。

打开游戏评价窗口
游戏评价窗口用于向用户展示评分提示窗口,弹出后用户可以选择提交好评(即拉起Google评分),或我要提意见(即打开AiHelp),或不谢谢(即关闭窗口,手势返回关闭同这个操作一样),具体UI可以查看后面的效果图。

调用接口:

注意:
1.如果需要评价完成给用户发放奖励,可以在onReviewComplete回调中进行处理
2.该功能受WingSDK后台开关控制,需要打开游戏评价开关
3.评分功能是无法获得具体评分内容和分值的,Google评分机制设计如此
4.关于Google评分的详情及测试 google 应用内评分
5.如果不需要SDK界面,另外单独做界面,可以分别调用Google评分接口google 应用内评分 (对应好评选项)和AiHelp游戏评价接口打开游戏评价客服入口 (对应吐槽选项)
示例代码:

界面效果:

3.9 Consent同意屏幕相关

3.9.1 用户同意界面显示

用户同意界面弹出是内置在SDK初始化逻辑中,当SDK正常初始化完成后,如果需要符合弹出条件,就会展示用户同意界面。

以下情况不会弹出:

1.设备网络不在欧盟地区(比如德国)
2.用户已经在同意界面操作过同意或拒绝

注意:本功能要求调用SDK初始化接口WACoreProxy.initialize() 时传入的Activity类型,必须是FragmentActivity,否则同意屏幕无法初始化。如果传入Activity已有特定继承类,比如继承 UnityPlayerActivity,则可以修改 UnityPlayerActivity 继承 FragmentActivity 来实现。

展示效果:
了解更多,会跳转到目的设置页,页面效果参考同意设置。
管理我们的x合作伙伴,会跳到 供应商设置页,页面效果参考同意设置。

图片2


3.10 AdMob功能

3.10.1 应用ID配置

在AndroidManifest.xml的application标签下添加下面代码,其中xxx为AdMob的应用ID,具体值从运营处获取

3.10.2.激励广告

3.10.2.1.判断是否开启激励广告

其中adName为广告名称(WingSDK后台配置的广告名称,可以从运营处获取)

3.10.2.2.展示激励广告

在Activity页面中展示激励广告,用户看完广告后会通过WingSDK后台进行奖励发放。
如果广告还未准备好,会立即开始请求广告并显示loading转圈,等广告加载完成后会立即展示,或者加载失败直接返回回调。

参数说明:

参数名 类型 必填 说明 备注
activity Activity Y 显示广告的Activity页面
adName String N 广告名称,从运营处获取,SDK会根据ad名称展示对应的广告。 传入null或空则默认使用配置的第一个激励广告。
extInfo String N 透传参数,该参数内容会在通知游戏发货时一起给到游戏服务器,长度限制为100个字符。
callback WAAdMobAdsCallback N 广告结果回调
1.显示广告失败:onAdFailedToShow(String error_message)
2.显示广告成功:onAdShowed()
3.广告关闭:onAdDismissed()
4.广告点击:onAdClicked()

示例代码:

失败处理建议:可以在广告显示的 onAdFailedToShow回
调失败中提示用户,广告暂不可用,稍后再试。

Google官方使用建议:
植入激励广告的最佳做法:https://admob.google.com/intl/zh-CN_cn/home/resources/monetize-mobile-game-with-ads

3.11 官网包配置

注意:Google包无需配置。

如果是官网包,在AndroidManifest.xml中加入下面配置:

1.权限声明

2.Provider声明

注意:
authorities必须以 ”com.wa.provider.ad” 为前缀,后缀建议使用游戏简称。比如游戏简称为 loap,则authorities可以设置为 com.wa.provider.ad.loap

3.CHANNEL 声明

其中xx值从运营处获取

3.12 客服中心

客服中心已经包含账号管理、账号注销、AiHelp客服、用户中心、Consent设置功能入口,可以通过SDK后台配置进行显示控制。
效果如图:

图片1

需要在游戏的设置页中添加该功能入口,入口图标和名称可以参考使用SDK内置的图标资源R.drawable.wa_sdk_settings_center和文案资源R.string.wa_sdk_settings_customer_center。
文案内容为已国际化处理”客服中心”文本,图标效果如下:

图片13

调用下面接口弹出客服中心弹窗

参数说明:

参数名 类型 必填 说明 备注
activity Activity Y Activity对象
accountManagerCallback WAAccountCallbackV2 Y 回调 onLoginAccountChanged(WALoginResultV2 currentAccount)回调方法,在新建账号、账号切换时会回调这个方法,返回当前登录的账号信息。游戏需要回到登录界面,然后可以直接使用最新的账号信息完成游戏登录,无需重新走SDK登录过程,也可以重新自动走一遍SDK登录.
onBoundAccountChanged(boolean binding, WABindResultV2 result)回调方法,在绑定账户信息发生变更时会回调这个方法,每次变更都调用一次,CP可根据需要实现相应功能。如绑定账号发放奖励.
accountDeleteCallback WACallback Y 账号注销回调 onSuccess回调表示注销成功;
onCancel回调表示取消;
onError回调表示失败

接口调用示例:

3.13 社交功能

3.13.1 获取三方平台账号信息

获取第三方平台的账号信息,包括头像,昵称,平台信息。
注意:当前只有Google或Facebook登录后才返回信息,其他平台返回null

调用方法:

返回对象WAPlatformAccountInfo说明:

参数名 类型 说明 备注
nickname String 三方平台昵称 无该信息时返回空字符串
picture String 三方平台头像地址 无该信息时返回空字符串
platform String 平台名称 参考平台取值

示例代码:

3.13.2 邀请活动功能

3.13.2.1 配置

在AndroidManifest.xml中的主页中添加下面配置:

在主页Activity(一般是MainActivity)中重写下面方法,并调用setIntent

3.13.2.2 分享邀请链接

调用方法:

参数说明:

参数名 类型 必填 说明 备注
activity Activity Y Activity对象
shareType int Y 分享方式:0-系统分享;1-Facebook分享
callback WACallback Y 结果回调

示例代码:

3.13.2.3 获取已邀请人数

邀请链接分享给目标用户后,目标用户需要达到设定的条件(一般是触发完成新手任务事件)才会被统计到已邀请人数中。

调用方法:

示例代码:

3.14 月卡功能

3.14.1.获取月卡信息

调用方法:

月卡信息UWPassPlatformInfo说明:

字段名 类型 说明 备注
passStatus int 月卡状态:0-未激活;1-已激活
subscribeStatus int 订阅状态:0-非连续订阅;1-连续订阅
passExpireTimestamp long 月卡过期时间戳,单位毫秒
passExpireDays int 剩余多少天过期

示例代码:

3.14.2. 月卡用户指引弹框

调用方法:

示例代码:

4 、第三方配置

4.1 Google相关配置

游戏如需使用Google账号进行登录、Google商店进行支付,需要进行以下配置。 如果不需要使用Google相关功能,请忽略此章节
后台配置请参考第三方后台配置—Android版公共配置流程。

4.1.1 Google基本配置

在values/strings.xml中添加公钥字符串资源:

在values/strings.xml中添加服务器OAuth client ID(即Google后台Web application 类型的OAuth client ID):

4.1.2 Google Game Service配置

游戏如需使用Google game service相关功能,需要进行以下配置。 如果不需要相关功能,请忽略此章节
使用Google Game Service服务,还需要在AndroidManifest.xml.xml中application标签下添加以下配置:

说明:字符资源的值是Google Game Service的APP ID,需要Google开发者控制台创建游戏服务获得。请参考第三方后台配置—Android版添加Google Game Service支持。

注意:因为值的内容是数字,要求必须在资源清单文件(如:strings.xml)中使用string类型声明之后引用,否则Game Service SDK无法识别。

4.1.3 Google代码混淆配置

4.1.4 Google获取SHA-1指纹

获取程序签名文件SHA-1命令如下:

其中<release_key_alias>是证书别名,<path-to-production-keystore>是证书的地址。

4.2 Facebook相关配置

游戏如需使用Facebook相关登录、社交、数据收集功能,需要进行以下配置。如果不需要相关功能,请忽略此章节

4.2.1 Facebook基本配置

在strings.xml中添加Facebook APP ID、Client Token、login protocol scheme声明::

在AndroidManifest.xml中添加配置

注意:
1、string的name必须为facebook_app_id,不可更改,值为Facebook app id
2、fb_login_protocol_scheme格式为fb+ YOUR_FACEBOOK_APP_ID,如facebookkid为2929419560408279,则fb_login_protocol_scheme为 fb2929419560408279
3、将FacebookContentProvider后面的${YOUR_FACEBOOK_APP_ID}替换成你的Facebook app id。获取方式请参考第三方后台配置—Android版2.1 Facebook基础配置。

4、client token 获取方式: 获取方式参考

4.2.2 Facebook代码混淆配置


4.3 AppsFlyer相关配置

游戏如需使用Appsflyer相关数据收集功能,需要进行以下配置。如果不需要相关功能,请忽略此章节

4.3.1 AppsFlyer代码混淆配置

4.4.AiHelp智能客服

4.4.1 AiHelp混淆配置

打包apk混淆代码配置中增加以下配置

4.5 GHGL模块相关配置

4.5.1 基础配置

在项目app目录层级下的res/values/strings.xml中添加wa_custom_tab_scheme声明

注意:
1.string的name必须为wa_custom_tab_scheme,不可更改
2.格式为wa+YOUR_SDK_APPID。比如SDK的appid为f7f9a9d18da611e5a0be000d3a906774,则wa_custom_tab_scheme的对应内容为waf7f9a9d18da611e5a0be000d3a906774
3.这里SDK的appid为wingsdk的appid

5 、不常用功能

不常用功能

6 、附录

6.1 代码说明

6.1.1 状态码说明

SDK中的状态码统一以静态变量方式封装在WACallback接口里面,如果使用到状态码,强烈建议采用静态变量的方式调用,不要直接使用数值

名称 取值 说明
CODE_SUCCESS 200 成功
CODE_ERROR 400 错误
CODE_UNAUTHERIZED 401 请求未认证:访问受限资源是缺少认证信息,或者认证未通过
CODE_FORBIDEN 403 禁止访问:由于应用上下文原因或请求端上下文的原因被禁止访问资源,例如IP限制等
CODE_NOT_FOUND 404 找不到被访问资源:接口不存在、页面不存在或对应的业务实体找不到
CODE_SERVER_ERROR 500 服务器内部故障
CODE_API_INVALID 501 所请求接口或页面未实现
CODE_SDK_APPID_INVALID 4010 无效appId: appId不存在或未开启
CODE_SIGN_ERROR 4011 无效osign:osign校验失败
CODE_REQUEST_TIME_OUT 4012 请求已过期:ots校验失败
CODE_PLATFORM_VERIFY_ERROR 4013 第三方平台验证失败
CODE_ACCOUNT_VERIFY_ERROR 4014 访客登录验证失败,登录验证失败
CODE_PLATFORM_BOUND_ALREADY 4015 用户已经绑定了这个平台的其他账户
CODE_PRE_PLATFORM_VERIFY_ERROR 4016 prePlatform验证失败
CODE_USER_NOT_FOUND 4017 用户不存在(没有找到)
CODE_ACCOUNT_BOUND_BY_OTHERS 4018 账户已经被其他用户绑定
CODE_ORDER_ID_INVALID 4019 无效orderId
CODE_ORDER_VERIFY_ERROR 4020 订单验证失败
CODE_REWARD_NOT_FOUND 4021 FB邀请奖励事件未找到奖励政策
CODE_REPEAT_CRASH_REPORT 4022 闪退发送报告重复
CODE_CHENNEL_NOT_FOUND 4023 未找到渠道信息
CODE_UNABLE_DISBAND 4024 不可以执行解绑操作
CODE_PAY_PLATFORM_CLOSED 4026 支付渠道已关闭
CODE_LOGIN_PLATFORM_CLOSED 4029 登录渠道已关闭
CODE_AD_NOT_CONFIG 4044 CP关闭广告开关或未配置广告奖励信息
CODE_AD_NOT_FOUND 4045 查找不到广告展示信息
CODE_CHANNEL_BALANCE_INSUFFICIENT 4046 第三方平台余额不足
CODE_CHANNEL_LOGIN_INVALID 4047 第三方平台登录过期
CODE_ACCOUNT_BIND_DISABLED 4048 账号绑定关闭(不允许绑定账号)
CODE_ACCOUNT_UNBIND_DISABLED 4049 账号解绑关闭(不允许解绑账号)
CODE_USER_CENTER_CLOSED 4059 用户中心未开启
CODE_CANCELED -100 取消操作
CODE_FILE_NOT_FOUND -101 文件找不到
CODE_API_NOT_SUPPORTED -102 API不支持
CODE_SDK_UNINITIALIZED -200 SDK没有初始化
CODE_CONTENT_CAN_NOT_BE_SHARED -201 内容不可分享,一般是传入的内容为空,或者其他
CODE_NOT_LOGIN -202 没有登录
CODE_LOGIN_FAILURE -203 登录失败
CODE_NO_PERMISSION -204 登录没有获取到相应的权限
CODE_EXCEPTION -205 Facebook内部定义的错误,异常信息
CODE_FILE_SIZE_LIMIT -206 文件大小超出限制
CODE_NOT_LOGIN_WITH_PLATFORM -207 没有以平台登录
CODE_SERVER_ID_NOT_FOUND -208 ServerId没有设置
CODE_ACCOUNT_NOT_FOUND -209 账户不存在
CODE_ACCOUNT_NOT_ALLOW_UNBIND -210 账户不允许解绑
CODE_PLATFORM_ACCOUNT_NOT_MATCH -211 登录的平台账户和当前用户不匹配
CODE_GAME_USER_ID_NOT_FOUND -212 Game user id没有设置
CODE_GOOGLE_SERVICE_MISSING -301 没有安装Google服务
CODE_GOOGLE_SERVICE_UPDATING -302 Google服务正在更新中
CODE_GOOGLE_SERVICE_VERSION_UPDATE_REQUIRED -303 Google服务版本过低,需要更新
CODE_GOOGLE_SERVICE_DISABLED -304 Google服务被禁用
CODE_GOOGLE_SERVICE_INVALID -305 Google服务不可用
CODE_DEVICE_NO_SUPPORTED -401 设备不支持
CODE_NETWORK_UNAVAILABLE -402 网络不可用
CODE_PAY_SERVICE_DISCONNECTED -501 支付:服务连接中断
CODE_PAY_SERVICE_UNUSABLE -502 支付:服务不可用
CODE_PAY_ITEM_UNAVAILABLE -503 支付: 商品不可用
CODE_PAY_DEVELOPER_ERROR -504 支付:开发者错误
CODE_PAY_ITEM_ALREADY_OWNED -505 支付:已经拥有该商品(没有消耗)
CODE_PAY_ITEM_NOT_OWNED -506 支付:没有拥有该商品
CODE_PAY_WITHOUT_REPORT -507 支付:支付成功但是没有上报或者上报失败了
CODE_PAY_CHECKING_FAILED -508 支付:支付成功,但是通知后台的时候校验失败了
CODE_PAY_REORDER_TIME_LIMIT -509 支付:订单时间间隔限制(在特定的时间内重复下订单)
CODE_ACHIEVEMENT_NOT_INCREMENTAL -601 成就不是分步成就(非分不成就进行递增或设置步数时)
CODE_ACHIEVEMENT_UNKNOWN -602 成就id不存在,找不到指定成就
CODE_ACHIEVEMENT_UNLOCKED -603 成就已经解锁(尝试解锁已经被解锁的成就时)
CODE_ACHIEVEMENT_UNLOCK_FAILURE -604 成就解锁失败(解锁隐藏成就时)
CODE_GAME_NEED_SIGN -605 游戏服务已登出,需要重新登录

6.1.2 平台取值

平台取值统一在 WAConstants 类中,建议使用静态常量,不要直接使用对应值。比如Google平台可以使用 WAConstants.CHANNEL_GOOGLE 进行取值。

名称 取值 备注
CHANNEL_WA WINGA WA平台,手机号邮箱登录
CHANNEL_GUEST GUEST 游客登录
CHANNEL_GOOGLE GOOGLE Google平台
CHANNEL_FACEBOOK FACEBOOK Facebook平台
CHANNEL_VK VK VK平台
CHANNEL_TWITTER TWITTER Twitter平台
CHANNEL_INSTAGRAM INSTAGRAM Instagram平台
CHANNEL_HUAWEI_HMS 华为海外 华为平台
CHANNEL_GHG GHG_INTEGRATION Game Hollywood Games平台
CHANNEL_R2 R2_INTEGRATION R2Games平台
CHANNEL_APPSELF APPSELF 应用内登录
CHANNEL_NOWGG NOWGG Nowgg平台

6.2 事件说明

6.2.1 SDK预定义事件名

在WAEventType接口中定义

静态变量名称 事件名称 说明
INITIATED_PURCHASE ghw_initiated_purchase 点击购买
COMPLETE_PURCHASE ghw_purchase 购买完成
WAEventUserInfoUpdate ghw_user_info_update 更新用户信息
USER_CREATED ghw_user_create 创建角色
IMPORT_USER ghw_user_import 导入用户
LEVEL_ACHIEVED ghw_level_achieved 等级或分数

6.2.2 SDK预定义参数名

在WAEventParameterName接口中定义

静态变量名称 参数名称 数据类型 说明
ACCOUNT_TYPE accountType String 账户类型
GENDER gender int 性别
AGE age int 年龄
SUCCESS success boolean 是否成功
TRANSACTION_ID transactionId String 交易的流水号
PAYMENT_TYPE paymentType String 支付类型
CURRENCY_TYPE currencyType String 货币类型
CURRENCY_AMOUNT currencyAmount float 现金额
VERTUAL_COIN_AMOUNT virtualCoinAmount int 虚拟货币数量
VERTUAL_COIN_CURRENCY virtualCurrency String 虚拟货币类型
IAP_ID iapId String 道具ID
IAP_NAME iapName String 道具名称
IAP_AMOUNT iapAmount int 道具数量
ITEM_NAME itemName String 游戏内虚拟物品的名称/ID
ITEM_AMOUNT itemAmount int 交易的数量
SCORE score int 得分数
PRICE price float 价格
CONTENT_TYPE contentType String 内容类型
CONTENT_ID contentId String 内容ID
QUANTITY quantity int 数量
SEARCH_STRING searchString String 搜索关键字
DESCRIPTION description String 描述
NICKNAME nickname String 昵称
VIP vip int 等级
ROLE_TYPE roleType String 角色类型
BINDED_GAME_GOLD bindGameGold int 绑定钻石
GAME_GOLD gameGold int 用户钻石数
FIGHTING fighting int 战斗力
REGISTER_TIME registerTime long 注册时间
TASK_ID taskId String 任务Id
TASK_NAME taskName String 任务名称
TASK_TYPE taskType String 任务类型
TASK_STATUS taskStatus int 任务状态:状态标识:1→领取任务,
2→开始任务,
3→待领奖(任务完成),
4→已领奖
GOLD_TYPE goldType int 货币类型
AMOUNT amount int 变更货币数
APPROACH approach String 变更途径
IS_FIRST_ENTER isFirstEnter int 是否第一次导入用户,
默认为0,
是为1
STATUS status int 状态

iOS不常用功能(4.6.0)20250316

wapublisher No Comments

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

11 AdMob功能

11.1 横幅广告

11.1.1 判断横幅广告是否开启

11.1.2 展示横幅广告

参数说明:

参数名 类型 必填 说明 备注
viewController UIViewController Y 显示广告的UIViewController
containerView UIView Y 放置横幅广告的view

11.2 插页广告

11.2.1判断插页广告是否开启

11.2.2 检查和预加载插页广告

检查插页广告是否已准备好,若未准备好,则内部会立即开始缓存广告。

返回值说明:

类型 必填 说明 备注
BOOL Y YES为广告已经准备好,调用showInterstitialAdWithViewController可以展示广告;NO为未准备好,此时内部会立即开始缓存广告。

备注:SDK初始化后会立即开始缓存广告,无需在此时调用该接口。为了避免调用展示的时候因缓存失败而无法显示,建议在展示前适当的时机调用该接口确保广告预加载成功(该接口判断如果接口未准备好会立即开始缓存)。比如:可以在进入关卡时调用一次该接口,确保关卡完成后调用showInterstitialAd可以正常展示广告。

11.2.3 展示插页广告

参数名 类型 必填 说明 备注
viewContoller UIViewController Y 显示广告的UIViewController
delegate GADFullScreenContentDelegate N 广告结果回调
1.显示广告失败:didFailToPresentFullScreenContentWithError
2.显示广告成功:adWillPresentFullScreenContent
3.广告关闭:adDidDismissFullScreenContent

示例代码:

失败处理建议:尽可能确保广告加载失败时,不影响用户后续体验。建议在
[WAAdMobProxy checkInterstitialAdReady])为 NO 时,直接忽略显示广告继续游戏。

11.3 开屏广告

11.3.1 判断开屏广告是否开启

11.3.2 检查和预加载开屏广告

检查开屏广告是否已准备好,若未准备好,则内部会立即开始缓存广告。

返回值说明:

类型 必填 说明 备注
BOOL Y YES为广告已经准备好,调用showAppOpenAdWithViewController可以展示广告;NO为未准备好,此时内部会立即开始缓存广告。

11.3.3 检查和预加载开屏广告

参数名 类型 必填 说明 备注
viewContoller UIViewController Y 显示广告的UIViewController
delegate GADFullScreenContentDelegate N 广告结果回调
1.显示广告失败:didFailToPresentFullScreenContentWithError
2.显示广告成功:adWillPresentFullScreenContent
3.广告关闭:adDidDismissFullScreenContent

示例代码:

失败处理建议:尽可能确保广告加载失败时,不影响用户后续体验。建议在
[WAAdMobProxy checkAppOpenAdReady]为 NO 时,直接忽略显示广告继续游戏。

12 互推功能

12.1 判断广告是否开启

调用判断admob广告是否开启接口

详情参考: 判断激励广告是否开启

12.2 获取推广任务列表

参数说明

参数名 类型 必填 说明 备注
tasksArray NSArray 数组字典 N @”taskName”: @”任务名称(推广游戏名称)”,
@”taskStatus”: @”0/1″ // 0表示未完成,1表示已完成
@”rewardStatus” :”1″//0表示发奖未完成,1表示发奖
error NSError N 错误信息

使用示例:

12.3 通知发放奖励(可选)

参数名 类型 必填 说明 备注
success BOOL Y 查询完成结果
error NSError N 错误信息

使用场景
如玩家看完广告,然后安装了推广游戏,返回到app后,cp需要主动查询下玩家的任务完成情况,查询成功后,然后在刷新下任务列表,看下对应任务完成情况、奖励发放情况,可根据需求对应提示玩家,如任务完成、奖励已发放等。
使用示例:

WINGSDK后台基础配置指南(bak20260313)

wapublisher No Comments

一 快速新增

1.1 应用管理

1 登录WINGSDK后台,在左边导航栏选择设置中的应用管理
2 进入应用管理后,点击“+新增应用”
SDK-应用管理
3 在出现的“添加应用”列表中,填写以下字段
SDK-应用管理

参数 描述
应用名称 输入应用的名称
语言 输入该应用使用的语言,注:此处的语言选择会影响webview支付的语言展示,且客户端需有相应语言包对应
图标 上传该应用的图标,不大于100KB。
游戏服务器时区 需正确选取,选择后将不可再变更(如游戏尚未上线,可和技术人员联系进行修改),该应用的数据将以此设定的时区为准进行统计。如该地区有时令切换问题,SDK后台将自动切换。

4 表单填写后,点击保存,新增App完成。

1.2 应用商店信息

SDK-参数设置相关
B 点击“应用商店信息”配置游戏的公共参数
应用商店信息
安卓:

参数 描述
平台应用包名 应用的包名
下载地址 应用的下载地址


应用商店信息2

参数 描述
平台应用ID SDK-appStore信息
格式为:id12345678
BundleID 同上
Scheme 非必填,如使用到应用墙或消息推送功能可能涉及。这里填写游戏的scheme,用于别的应用打开该应用时使用,如果没有填写,其他应用无法跳转到该应用。
下载地址 应用的下载地址


1.3 参数获取

SDK-参数设置相关
A:点击“设置”,如图红框中的两个参数“应用ID”和“APPKEY”需配置到游戏中(安卓和iOS用同一套参数)
秘钥用于登录校验,具体见
“服务端接口文档→2.1 CP验证用户登录接口→osign参数”
支付秘钥用于支付做校验,具体见“服务端接口文档→3.2 CP发货通知接口→osign参数”


appid

参数 描述
AppKey 该字段自动生成,表示游戏客户端和SDK后台校验的秘钥。
登录秘钥 该字段自动生成,表示SDK后台和游戏后台校验的秘钥(校验登录)
支付秘钥 该字段自动生成,表示SDK后台和游戏后台校验的秘钥(校验支付)

注:只有应用管理员可获取以上参数

二 登录功能

新增登录平台后,由于默认状态为“测试”,因此需要添加测试设备,才可进行调试,具体见4.1 测试设备管理

2.1 直接使用SDK已对接的登录方式

1 点击左侧导航栏选择设置中的登录平台,注意:如果需配置Google和Apple登录平台,需先配置“应用管理”→“应用商店信息”
2 进入界面后,点击“新增”按钮
SDK-登录平台
3 在出现的“新增平台信息”中,填写以下字段—由于不同登录平台所需参数不一样,具体在后面详细说明:
SDK-登录平台

参数 描述
平台类型 选择对应的登录平台
应用ID 应用ID在创建App时,系统自动生成,不可变更
可用状态 控制该登录方式能否在此应用中使用。可分别控制不同操作系统的可用状态(Facebook有gameroom可选)
图标 该平台的登录图标。此处已有默认的登录图标,也可根据需求自行更换
额外信息 该应用的备注信息

Google:

“额外信息”需填入从Google后台获取的clientID,客户端的clientID需要和后台配置的相一致(目前SDK 3.6.1.3版本才需要)

图片1

clientID获取方式:http://blog.wing-analytics.com/archives/2783.html#create_web_clientid中的第三步

GUEST:

可用状态:根据实际情况选择开关
展示状态:打开
图片16


WINGA(手机/邮箱)

可用状态:根据实际情况选择开关
展示状态:打开

图片wa

Apple登录

可用状态:根据实际情况选择开关
展示状态:打开

图片13

Sign in with Apple

可用状态:根据实际情况选择开关
展示状态:打开

图片14

Facebook

可用状态:根据实际情况选择开关
展示状态:打开

图片15

Twitter:

具体获取方式见:http://blog.wing-analytics.com/archives/2391.html#Twitter
SDK-登录平台Twitter

4 表单填写后,点击保存,生成App对应登录平台,此时生成的登录平台默认为测试状态(登录平台正式/测试模式的使用见4.2登录平台的正式/测试模式
5 添加完字段后,点击保存,在该页面上即会生成对应登录平台。
6 可对登录平台进行维护
SDK-登录平台

操作 描述
修改 对登录平台参数进行更新
删除 删除该平台,此操作不可逆,需谨慎操作

Facebook H5&小游戏(Facebook instant game):

13

Facebook H5应用和Facebook小游戏都需要在后台配置FACEBOOK,保存即可;
需要注意,在应用设置里面:
Facebook H5需要配置Facebook H5应用ID(Facebook后台获取的应用编号)
14

Facebook 小游戏需要配置Facebook小游戏秘钥(Facebook后台获取的应用秘钥)
15

ARMORGAMES:

  1. 填写对应的公钥(从ARMORGAMES后台获取):
  2. 由于ARMORGAMES 登录方式只在 ARMORGAMES 平台上才能使用,因此建议将展示状态设置为“不展示”,防止在其他平台上打开游戏时会展示该登录方式。

HUAWEI_HMS:

可用状态:根据实际情况选择开关
防沉迷:关闭
展示状态:打开
AG

官网包登录配置


可用状态:根据实际情况选择开关
平台应用ID:从GHG\R2平台获取
展示状态:打开
官网包标识:谷歌包选择’否’,官网包选择’是’

图片3

图片4

Nowgg登录配置

nowgg

平台应用ID,即Nowgg登录凭据的ClientId 登录凭证

Qoo登录配置

可用状态:根据实际情况选择开关
展示状态:打开

图片1

2.2 应用内登录

使用场景:CP有自己的帐号系统,玩家在用CP的帐号系统登录后,SDK再通过CP的验证接口验证用户的登录信息完成登录流程
1 点击左侧导航栏选择设置中的登录平台
SDK-登录平台
2 平台类型选择“APPSELF”,点击保存
SDK-登录平台appself
3 点击左侧导航栏选择设置中的应用管理,点击C中的“参数设置”,填写“应用内登录验证地址”
SDK-参数设置相关
SDK-登录平台应用内登录验证地址

三 支付功能

使用支付功能,需要完成以下所有配置,包括3.1商品管理 3.2支付平台 3.3参数设置里的发货通知地址,且新增支付平台后,由于默认状态为“测试”,因此需要添加测试设备,才可进行调试,具体见4.1 测试设备管理

3.1 商品管理

3.1.1 新增商品

1 选择左边导航栏的商品管理 ,进入界面后,点击新增
SDK-商品管理
2 在出现的列表中,填写以下的字段
图片14

参数 描述
产品ID 该ID需与游戏里商品列表保持一致,最好为数字及英文字母,长度不超过15。可先在后台自定义生成后,对应配置到游戏;或在游戏中配置好后,同步到WINGSDK后台
商品名称 填写商品名称,长度不超过15,方便使用人员识别即可
游戏币数量 指该商品对应游戏内虚拟货币的价值。如某商品是4.99 美元充值 100 金币,100金币就是游戏币数量
商品价格 用于在充值中心显示,不影响支付价格
商品货币 默认是USD
商品描述 添加对该商品的简单描述-注意,该描述会在某些支付页面出现,因此,添加描述时,最好对应不同语言描述。其中如果用到MOL支付,商品描述需不少于5位字符,且该描述会在MOL界面展示给玩家看,所以最好是填写有意义的信息,比如商品名称

3 添加完字段后,点击保存,在该页面上即会生成新商品
4 添加新商品后,可进行维护
SDK-商品管理

操作 描述
修改 对商品的参数进行修改
删除 删除该商品,此操作不可逆,需谨慎操作

5.设置折扣
点击修改后会出现折扣的修改

图片1

参数 描述
第一笔折扣 玩家首次支付该商品时的折扣,WEB支付生效,GOOGLE,APPLE等应用内支付不支持。
商品折扣 该商品的折扣,WEB支付生效,GOOGLE,APPLE等应用内支付不支持。注:页游和充值中心,商品折扣需要和第一笔折扣保持一致。
折扣适用平台 指该商品的折扣在哪些平台生效。。

3.1.2 批量新增商品

1 选择左边导航栏的商品管理 ,进入界面后,点击新增

图片1

2 在出现的天窗中,选择批量新增

图片2

3.下载模板,填写商品信息。

4.在批量新增页面,上传商品文件。

3.2 支付平台

1 选择左边导航栏的支付平台,进入该页面后,点击新增
SDK-支付平台
2 在出现的添加支付平台的页面中,填写以下字段——由于不同支付平台所需参数不一样,具体在后面详细说明。
SDK-支付平台

参数 描述
平台 选择需要用到的第三方支付渠道
商家ID 对应第三方支付平台里的商家ID
秘钥 对应第三方支付平台里的秘钥
版本 对应第三方支付平台里的版本信息
基准货币 跟对应第三方支付平台的结算货币
游戏币种 对应第三方支付平台里的游戏货币
可用状态 控制该支付方式能否在此应用中使用。可分别控制不同操作系统的可用状态

3 填写完以上信息后,点击保存,即可在该页面新增第三方支付平台,此时生成的支付平台默认为测试状态(支付平台正式/测试模式的使用见4.3支付平台的正式/测试模式
4 可对第三方支付渠道进行相应维护
SDK-支付平台

操作 描述
修改 对第三方支付渠道设置的参数进行修改
国家 根据客户端获取的当前IP地址,控制该支付渠道可展示的国家。默认所有可用国家都展示。
例如Google支付是全球可用,假如Google支付的国家只选择了美国,则当客户端获取的IP地址为美国时,才会显示Google支付,如为其他国家则不显示,如果不配置该选择,则所有Google支持的国家都可显示。
商品 对该支付渠道下可售的商品进行管理
删除 删除该支付渠道,此操作不可逆,需谨慎操作

5 点击商品,进入商品列表界面,点击新增
22111739842308_.pic

6 在出现的“添加商品”列表中,添加以下字段
SDK-支付平台

参数 描述
产品ID 此处可供选择的是在商品管理中添加过的产品
第三方产品ID 该产品在此支付渠道下的ID,不同支付渠道对应不同ID。Google和apple的ID必填,其他支付渠道的ID可与产品ID一样,其中Google的商品ID不能超过15位长度
基准订单金额 此商品在基准货币下的金额,以此方便对不同国的货币进行换算

Facebook的商品信息除了以上内容外,还可控制“定价策略”及“商品图片”
SDK-支付平台Fb商品

参数 描述
定价策略-动态定价 用户支付前Facebook 会到WINGSDK后台查询最新价格进行支付,适合价格变动较大的商品
定价策略-静态定价 当用户第一次购买商品后,商品信息会缓存在Facebook后台,下次用户支付时可以让用户快速购买,提高效率,适合价格稳定商品
商品图片 当前商品图片,会显示在购买窗口,展示给用户

填写完成后,点击保存,即可在界面看到新增的产品
也可对该商品进行维护
SDK-支付平台

操作 描述
修改 对该商品的设置的参数进行修改
删除 删除该商品,此操作不可逆,需谨慎操作

Google & Apple

如果需配置Google和Apple支付平台,需先配置“应用管理”→“应用商店信息”

Google:

图片1111

参数 对应支付渠道值
服务邮箱 创建服务账号生成的邮箱 参考 公共项目创建服务账号
应用名称 即google cloud后台使用的公共项目名称。 参考 公共项目创建服务账号中的项目名称
p12证书 新应用可忽略
json证书 json文件 参考 公共项目创建服务账号中的json证书

注:若google支付掉单严重,可以开启异常订单自动补单功能。
应用管理->参数设置->客户端
自动补单功能

Apple

apple 支付

参数 描述
商家ID appstore后台中的套装 ID,即BundleID,参考下图

图片8

苹果和第三方支付渠道要测试设备,Google不需要(支付平台正式/测试模式的使用见 4.3支付平台的正式/测试模式

提醒:游戏在Google和App Store提审时,会对第三方支付渠道有限制,请提审时先关闭第三方支付渠道,以免游戏被下架。

Boacompra

boacompra

参数 对应支付渠道值
商家ID Boacompra(Store id )
秘钥 Boacompra(Secret key )
项目ID 在Boacompra后台对应项目的Project Id,通常一个游戏/应用对应一个Project Id
系统类型 移动端:指定为移动端页面(只有币种为BRL时可以使用);自动适配:根据当前设备自动适配移动端或电脑端(只有币种为BRL时可以使用);电脑端:指定为电脑端页面(币种不是BRL时只能选择电脑端)

MOL

SDK-MOL
MOL的相关参数由对方直接提供,其测试和正式支付环境是两个不同的账号,需联系客服获取和切换。如一个游戏里同时需要使用普通支付和点卡 短代的支付方式,可使用同一套账号。

参数 对应支付渠道值
商家ID Application Code
秘钥 Secret Key
版本 API Version
基准货币 如是内部项目 ,最好使用USD
渠道 选填项,不填默认使用支付墙方式,如选择指定使用的渠道(下图,图片截取MOL官方文档),这里配置对应ChannelId

SDK-MOL_ChanelID

MOL_VC(点卡,短代)

SDK-MOL_VC
相关参数及要求同上
注意:“1美元兑换的游戏币数量”——此处是点卡和短代的支付方式,处理方式有所不同,因此不仅此处需填写兑换游戏币数量,同时需要CP 服务端兼容根据 SDK 发货通知中的gameAmount (游戏币数量)给玩家发货的方式,具体见下
http://blog.wing-analytics.com/archives/335.html#32_CP
SDK-MOL_VC_default
SDK-MOL_VC_currency
SDK-MOL_VC_product

Paypal

SDK-paypal

参数 对应支付渠道值
版本 204.0
API用户 apiUser
API密码 apiPwd
API签名 apiSign
收款邮箱 申请该配置信息的PayPal账号邮箱
支付页LOGO地址 可选字段,配置后,用户的PayPal支付页会显示配置的商家LOGO

Xsolla

这种形式是商家确认好价格,玩家按定价付款。
SDK-Xsolla
Xsolla,分测试和正式两个阶段,在后台自行切换。

参数 对应支付渠道值
商家ID 商户ID
秘钥 API Key
项目ID Project ID
项目秘钥 Project key

Xsolla_VC(点卡)

这种形式是商家确定一个购买的比例关系,玩家可根据需要任意金额付款,购买的比例关系需同时在SDK后台和Xsolla后台配置
SDK-Xsolla_VC
相关参数及要求同上
服务端兼容处理见MOL_VC

Paymentwall

SDK-paymentwall

参数 对应支付渠道值
商家ID Project Key
秘钥 Secret Key
基准货币 跟对应第三方支付平台的结算货币,公司内部游戏选USD
移动设备视图编码 Widget Code—Paymentwall Mobile
电脑视图编码 Widget Code—Paymentwall Multi New

1 Paymentwall后台需注意的配置:需要将签名版本设置为2
SDK-paymentwall后台
SDK-paymentwall后台

2 Project Key和Secret Key的获取
SDK-paymentwall后台

3 编码的获取
点击进入widgets
SDK-paymentwall后台
SDK-paymentwall后台

Unipin

SDK-Unipin
Unipin相关参数一般是直接联系对方获取,分别是GUID和Secretkey。该支付渠道会分为测试和正式两个阶段,如需切换,要直接联系对方客服切换。

参数 对应支付渠道值
商家ID GUID
秘钥 Secretkey
基准货币 必须选IDR

iPayLink

SDK-iPayLink

参数 对应支付渠道值
商家ID 会员号
版本 1.1
基准货币 商品定价的币种
结算货币 跟对应第三方支付平台的结算货币,可选,默认RMB,公司内部选USD
支付类型 DCC:动态汇率转换,会在付款界面显示两种货币,网站/客户端的交易货币,和持卡人卡本币,持卡人自由选择(公司内部项目选择DCC)
EDC:持卡人支付时仅知道商家标价的本地货币价格,在收到账单后才知道本位币的扣款金额
支付卡种 可选,默认全部支持,否则只支持选择的卡种
网站ID MPS上配置的域名(api.wingsdk.com)
公钥 iPayLink后台获取,需最高权限负责人才可获取

Codapay

需注意:每个不同的币种需要单独配置一个对应的支付平台。
SDK-codapay

参数 对应支付渠道值
秘钥 ApI key
支付类型 默认使用上图选择,泰国及越南VR支付支付时需注意选择对应类型,并配置游戏币兑换关系

Gudang Voucher

SDK-GV

参数 对应支付渠道值
商家ID Merchant Id
秘钥 Merchant Key

Rixty

图片1

Rixty后台例图:

图片1
注意:Rixty后台中Rixty Callback Url和Rixty ReturnURL必须填写以下地址:
Rixty Callback Url:https://api.wingsdk.com/sdkapi/v1/pay/rixty/callback.do
Rixty ReturnURL:https://api.wingsdk.com/sdkapi/v1/pay/rixty/return.do

参数 对应支付渠道值
商家ID Application Code
秘钥 Secret Key
版本 API Version(目前版本:PAYOUT_V1,后台对应配置值为‘v1’)
渠道 目前只支持1和2,默认不填写为2;(1:MOLPoints Wallet,2:Rixty)

Facebook小游戏支付-INSTANTGAMES

instent

参数 对应支付渠道值
秘钥 应用秘钥(App Secret)
基准货币 商品定价的币种

MYCARD

mycard

参数 对应支付渠道值
商家ID FacserviceId
秘钥 key


HUAWEI_HMS

HUAWEI_HMS
mycard

参数 描述
商家ID 项目下某个应用的APP ID
支付私钥 项目下某个应用的 OAuth 2.0客户端ID(凭据)-Client Secret
支付公钥 支付公钥(我的项目–应用内支付服务)
订单信息站点 可不填,默认使用德国站点
中国站点 https://orders-drcn.iap.hicloud.com
德国站点 https://orders-dre.iap.hicloud.com
新加坡站点 https://orders-dra.iap.hicloud.com
俄罗斯站点 https://orders-drru.iap.hicloud.com

PAGSMILE

PAGSMILE

图片1

参数 对应支付渠道值
商家ID APP ID
私钥 security key

LATAMGATEWAY_PICPAY

LATAMGATEWAY_PICPAY
图片2

参数 对应支付渠道值
商家ID User
私钥 Password

LATAMGATEWAY_PIX

LATAMGATEWAY_PIX

图片4

参数 对应支付渠道值
商家ID User
私钥 Password

充值中心

充值中心

1)新增”充值中心”支付平台
图片1

图片1

2)开启充值中心的支付渠道
点击修改

图片2

使用默认,或按需开启支付渠道

图片3

SDK沙盒支付

注:使用沙盒支付需要安卓sdk版本4.5.0以上
添加沙盒支付平台

图片7

参数 对应支付渠道值
IP白名单 公网IP地址

Nowgg

nowgg_pay

参数 对应支付渠道值
秘钥 支付验证API密钥

雷电

leidianpya

参数 对应支付渠道值
商家ID 雷电的APP_ID
秘钥 雷电的ServiceKey

QOOAPP

图片2

参数 对应支付渠道值
商家ID APP ID
公钥 publicKey

Aghanim

图片3

参数 对应支付渠道值
商家ID APP ID
密钥 webhook 中的 Secret Key
API KEY API密钥中的 S2S Key

3.3 支付商品添加

1 在支付平台列表选择具体的支付渠道点击“商品”
图片1

2.选择“新增”

图片2

3.可选择手动新增或者批量导入

图片3

图片4


3.4 参数设置里的发货通知地址

1 点击左侧导航栏选择设置中的应用管理,点击C中的“参数设置”,填写“发货通知地址”
SDK-参数设置相关
SDK-支付平台发货地址

3.6 官网包支付方式配置

配置web方式的支付渠道,例如:paypal,xsolla等,选择具体的支付渠道后,可使用默认配置
配置入口在 WingSDK后台->支付平台->新增

注:使用默认配置后,需要根据游戏修改币种

图片8

四 登录/支付平台测试模式的使用

4.1测试设备管理

测试过程中,如涉及到沙盒支付和debug模式的控制,则需要添加测试设备
注:需对接SDK 3.6及以上的版本才可通过后台控制是否开启debug模式
1 选择左边导航栏的“测试设备”,进入界面后,点击新增
SDK-测试设备管理

2 出现“新增测试设备“列表,添加以下参数
SDK-测试设备管理
A:设备标识:“client id”——添加了的设备为测试设备
B:沙盒环境:是——开启沙盒模式,该设备可以进行沙盒测试
否——关闭沙盒模式,该设备不能进行沙盒测试,只能进行正式购买
备注:支持沙盒模式开关控制的支付渠道包括除Google 外的所有支付渠道

3 点击“搜索”获取设备标识
3

可输入其中一种手机标识,点击“查询”,在出现的设备中,点击“选择”,即可
4

4 点击“保存”即可生成测试设备
SDK-获取clientID

4.2登录平台的正式/测试模式

在游戏正常运作的过程中,如果需要新增登录平台,可通过以下的方式,在SDK后台将新增未通过测试的平台和正式运行的平台隔离开。
该功能需要登录平台和测试设备模块同时使用
登录平台涉及的状态:
1 测试状态:测试设备可以看到该登录平台,并登录; 对其他设备(即正式玩家)不开放。
2 正式状态:对所有玩家正式开放。 其中从测试状态转为正式状态时,系统会检查该登录平台下是否有登录成功的记录,否则不允许转为正式。
3 禁用状态:将登录平台关闭,不对任何玩家开放。

测试模式的使用

1 按照登录平台指引新增一个平台后,该平台默认为测试状态
SDK-登录平台模式切换

2 在测试设备模块进行配置
1)在测试设备页面,点击新增,出现“新增测试设备“列表,添加以下参数,该功能使用说明见“测试设备管理”
SDK-新增测试设备
A:设备标识:“client id”——添加了的设备为测试设备
B:沙盒环境:只与支付平台有关,此处根据支付平台实际情况选择

正式模式的使用

1 登录平台测试通过后,可转换为正式状态
SDK-登录平台模式切换
SDK-登录平台模式切换

2 测试设备页面无需做改动

4.3支付平台的正式/测试模式

在游戏正常运作的过程中,如果需要新增支付平台,可通过以下的方式,在SDK后台将新增未通过测试的平台和正式运行的平台隔离开。
该功能需要支付平台和测试设备模块同时使用
支付平台涉及的状态:
1 测试状态:测试设备可以看到该支付平台,并进行沙盒支付; 对其他设备(即正式玩家)不开放。
2 正式状态:对所有玩家正式开放。 其中从测试状态转为正式状态时,系统会检查该支付平台下是否有支付成功的记录,否则不允许转为正式。
3 禁用状态:将支付平台关闭,不对任何玩家开放。

测试模式的使用

1 按照支付平台指引新增一个平台后,该平台默认为测试状态
SDK-支付平台切换模式

2 在测试设备模块进行配置
1)在测试设备页面,点击新增,出现“新增测试设备“列表,添加以下参数,该功能使用说明见“测试设备管理”
SDK-获取clientID

A:设备标识:“client id”——添加了的设备为测试设备
B:沙盒环境:是——开启沙盒模式,该设备可以进行沙盒测试
否——关闭沙盒模式,该设备不能进行沙盒测试,只能进行正式购买
此处选“是”,进入沙盒模式
备注:支持沙盒模式开关控制的支付渠道包括除Google外的所有支付渠道

正式模式的使用

1 支付平台测试通过后,可转换为正式状态
SDK-支付平台切换模式
2 进入测试设备页面,将沙盒模式转换为“否”
SDK-支付切换正式模式

五 高级设置

5.1 服务器管理——用于分服看数据

1 选择导航栏左边的服务器管理,进入界面后,点击新增
SDK-服务器管理
2 出现“新增服务器“列表,添加以下参数
SDK-服务器管理

参数 描述
游戏区ID 添加游戏后台对应的游戏区ID
游戏区名 添加游戏后台对应的游戏区名
状态 控制该游戏区的使用状态,启用/禁用
备注 对该游戏区进行简要说明

3 填写完以上参数后,点击保存,即可在该界面看到新增的游戏区
4 可对该游戏区进行维护
SDK-服务器管理

操作 描述
修改 对该游戏区的参数进行修改
删除 删除该游戏区,此操作不可逆,需谨慎操作

5 可对“游戏区ID”,“游戏区名”,“状态”进行筛选

筛选类型 作用
游戏区ID 根据游戏区ID,快速筛选出对应的游戏区
游戏区名 根据游戏区名,快速筛选出对应的游戏区
状态 快速筛选出所有处于启用或禁用状态的游戏区

5.2 参数设置

1 点击进入应用管理页面
SDK-参数设置相关
C:点击“参数设置”,如有用到相应功能,请设置对应参数
SDK-参数设置客户端

参数 描述
邀请奖励物品类型 如果使用了SDK的社交(目前有Facebook和VK)邀请事件奖励接口,则需填写奖励的物品。物品可有多项,用“,”分割
客户端FB 安全秘钥 如果需要在Facebook后台进行礼物相关配置,则需填写Facebook的app secret
新建账户 账户管理页面中,SDK3.5.2版本之后可在后台控制是否出现“新建账户”的按钮。默认为开
切换账户 账户管理页面中,SDK3.5.2版本之后可在后台控制是否出现“切换账户”的按钮。默认为开

图片9

参数 描述
发货通知地址 发货通知地址,在支付成功后用来通知CP进行发货
游戏角色类型名称 该参数主要用于“等级分布”模块。由于游戏传回SDK后台的角色类型值的可读性不确定,如传回数字,此时可通过设置该参数,明确角色,详解如下。游戏角色可有多个,用“#”号分割。例如,游戏传回SDK后台的角色类型是1,2,则可以设置“1=骑士#2=法师”
邀请奖励发货通知地址 如果使用了SDK的社交(目前有Facebook和VK)邀请事件奖励接口,则需填写通知奖励发放的地址
应用内登录验证地址 应用内登录的回调地址,用以校验CP 使用应用内登录时的token是否合法,并获取对应的user ID
玩家退款通知地址 SDK后台定时到Google退款通知接口查询最近30天是否有退款订单,如有则会通过该地址通知CP,后续处理则CP自行跟进
用户隐私协议地址 隐私协议地址,如果配置,则SDK 会在玩家登录时弹出提示,要求玩家同意,并展示对应的协议地址链接。 注意:如果修改了该地址并希望玩家强制看到,需点击刷新按钮,并保存。

详解:在未配置“游戏角色类型名称”的情况下,“等级分布”的标识为“_unknown”,如配置“_unknown=骑士”,则此处会显示“骑士”
SDK-参数设置游戏角色

5.3 充值补单

如果游戏在运营过程中出现掉单的情况,需要通过该功能进行补单。该过程需要有财务及运营APM进行审核,具体操作过程如下:
1 根据玩家提供的订单信息,包括UID 所在区服 充值金额等信息,在充值查询页面找一笔该用户相同金额 状态不是成功(支付中 取消购买)的订单
SDK-充值补单
2 根据找到的订单信息,选择左边导航栏的充值补单,进入界面后,点击新增
SDK-充值补单
3 出现“新增补单“列表,添加以下参数
SDK-充值补单
以下信息可在“用户行为分析”的“充值查询”中获取

参数 描述
选择服务器 选择需补单的订单号所在的服务器
订单号 填写需补单的订单号
用户ID 此处会根据服务器和订单号,自动识别生成
商品 此处会根据服务器和订单号,自动识别生成
交易流水号 填写需补单的交易流水号
支付币种 支付时使用的币种
支付金额 支付的金额
支付时间 充值的时间
备注 对该订单信息进行简单说明

4 填写完以上参数后,点击保存,即可在该界面看到新增的订单信息。此时该订单将提交财务做第一次审核,如图可见提示当前审核角色为财务:
SDK-充值补单
SDK-充值补单

5 财务审核完后,如果“通过”,则该订单提交下一审核人“运营APM”,如“拒绝”,则该订单结束。
6 如财务点击“通过”,此时订单提交“运营APM”审核。
SDK-充值补单
SDK-充值补单

7 运营APM操作后,该补单流程结束。
SDK-充值补单
SDK-充值补单

5.4 APP货币汇率管理(可直接使用实时汇率,也可手动维护)

此页面中展示的货币汇率均为雅虎API获取,每日自动更新,也可手动自行维护。该汇率主要用于数据统计。目前SDK后台有关充值数据的展示币种都是美金,但在实际充值中会出现各国的货币,因此需要根据此处的汇率进行转换。
如需手动维护,操作如下:
1 选择左边导航栏的APP货币汇率管理,进入界面后,点击修改
SDK-货币管理
2 将所需要的汇率(最多显示到小数点后8位)填入方框中,点击“保存”
SDK-货币管理
3 主界面中手动维护的货币将会有“修改”,“删除”两种操作
SDK-货币管理
4 如果之后不再希望手动维护汇率,而使用自动更新,点击“删除”即可。

5.5 应用事件管理

该页面主要用于添加自定义事件,并在推广效果展示。
1 选择左边导航栏的“应用事件管理”,进入界面后,点击新增
SDK-应用事件管理
2 出现“新增应用事件“列表,添加以下参数
SDK-应用事件管理

参数 描述
事件名 自定义事件名称
GHW事件 自定义事件应用中埋点的事件名,必须以“ghw_self_”开头,例如ghw_self_lv23
AppsFlyer事件名 根据AF的规则自定义事件名,非必填项
类型 推广统计事件:应用中的自定义事件
Facebook邀请奖励事件:应用中Facebook里的邀请奖励事件
VK邀请奖励事件:应用中VK里的邀请奖励事件
备注 对该自定义事件添加说明

5.6 页游推广渠道管理

该页面主要用于为页游推广添加对应推广渠道 生成推广链接。

5.6.1. 新增推广渠道:(注意:推广平台选择后不可更改)

2

5.6.2. 根据所选择的推广渠道生成对应推广链接:

5

5.7 充值中心管理

5.7.1 充值中心弹窗配置

1)点开充值中心配置
图片17

2)开启用户中心CharacterID 模式, 订单是否统计到手游改成 统计。

图片1

注意:旧的商品需要在商品配置中配置商品价格。

5.7.2 充值中心礼包配置

1)配置 查询可购买礼包(商品)列表接口 和 购买礼包(商品)下单接口

图片2

2)配置 商品 ,设置 > 支付平台 > 充值中心(H5_PLATFORM) > 商品
配置的商品数目需要和谷歌/APPLE一致

5.7.3 平台月卡配置

1)在支付平台 添加 充值中心支付渠道。
2)在充值中心的支付配置项处,开启 平台月卡。
注:月卡开关打开后,充值中心支付渠道会自动增加月卡商品(默认是美元金额),如果
是基准货币是非美元的游戏需要按汇率调整商品价格。

图片3

5.7.4 游戏内使用充值中心支付

在充值中心的支付配置项处,”游戏内使用充值中心” 选择 “仅安卓开启” ,”支付方式”选择 “跳外链方式”

图片5

5.8 SDK推送配置

5.8.1 新建消息

1)“设置”→“消息推送”,点击“新建消息”,出现“添加推送消息”列表,填写以下参数

图片11

具体参数描述如下表

参数 描述
标 题 推送给用户的消息标题
内容 推送给用户的消息内容
消息类型 目前只有文本形式
动作类型 唤醒 召回 推新 备注:唤醒的是本应用,因此需要为本应用进行推送配置
平台 Android或iOS
应用 用于筛选目标受众的应用,同时需为这些用于推送的应用进行推送配置(唤醒操作时无此选项)
受众过滤 国家:推送用户所在国家 充值金额范围:推送用户在该游戏中充值总额,可只填一个输入框,表示大于等于或小于等于(币种:美金)最后登录时间范围:推送用户最后登录该游戏的时间 可只填一个输入框,表示大于等于或小于等于注意:如果是唤醒和召回操作,是以当前应用的用户进行过滤;如果是推新操作,是以所选应用的用户为种子用户进行过滤
营销ID 该消息属于的营销分类,可用数字和字母命名
跳转链接 默认展示Android/iOS对应的官方市场下载链接(即应用商店信息的地址),也可选择“URL”,填写自定义地址跳转官网/其他应用市场等(唤醒操作时无此选项)
提醒类型 目前iOS只有声音提醒。Android机有些没有三色灯,且Android机声音和震动有些会受到系统设置干扰
推送时机 立即推送:保存选项后,在主页面点击“开始推送”,消息推送立即执行指定时间推送:保存选项后,在主页面点击“开始推送”,消息会在指定的时间内推送
推送时间 在所选的指定时间内将消息推送到苹果/Google的服务器

2)点击“保存”,新增一条推送的消息。根据预受众用户数情况,在“操作”一栏“修改”受众的过滤条件,达到筛选目标
3)点击“开始推送”,正式推送消息。如推送时机是“立即推送”,数据处理完成后即开始推送,如推送时机是“指定时间推送”,消息会在指定的时间内推送。

SDK集成的第三方SDK如下表:

参数 描述
状态 草稿:未点击“开始推送”,可修改筛选条件状态 准备计算受众:已点击“开始推送”, 受众计算任务等待执行中 计算受众中:受众计算任务进行中 受众计算完成:受众计算任务已完成并等 推送开始 推送中:推送进行中 推送完成:推送已完成 已废弃:点击“停止该推送”后状态,未完成的消息将停止发送,已经推送的消息不受影响,推送情况在数据表中显示 备注:点击“开始推送”后,即进入“准备计算受众”状态,如要关注目前的推送情况,需刷新该页面,否则状态会维持不变
操作 消息未发送: 修改——在点击“开始推送”前,可修改推送的筛选条件,以满足目标需求 开始推送——开始执行消息推送。需点击该按钮后,消息推送才正式启动 停止该推送——该条消息推送停止 无论是否完成推送 消息发送后:查看——查看消息推送的设置内容。

5.8.2 推送配置

1 选择左边导航栏的“消息推送”,进入界面后,点击 “推送配置”

图片3

图片1

如向iOS用户推送,需配置APNS证书和APNS秘钥,获取方式见:配置APNS证书和APNS秘钥
如向安卓用户推送,需配置FireBase证书,获取方式见:配置FireBase证书


注:如果要使用接口来推送,需要配置CP服务器的IP到白名单中。
注:安卓证书名称示例:xxxx-firebase-adminsdk-ef18j-b47abfdd21.json
注:IOS证书名称示例:push_dev.p12或者push_dis.p12。

5.9 商品手动消耗

目前支持谷歌 IOS
设置->支付平台->消耗
5
输入userId,选择商品后点击保存
5

5.10 FB小游戏广告

配置FB小游戏的广告ID
设置->应用管理->应用参数管理->FB小游戏广告ID

5

5

5.11 账号注销

账号注销入口:设置->应用管理->账号注销参数管理

5

1)客户端配置
可在此处开启账号注销

图片1

2)服务端配置
注:只有ios配置
5

苹果应用私钥:即和苹果服务端验证signinwithapple 的私钥
应该应用私钥标识:即和苹果服务端验证signinwithapple 的私钥文件的Key ID
苹果账号TeamId :即开发者账号的Team ID

配置苹果账号注销接口所需参数(苹果应用私钥 私钥标识 苹果账号TeamId),获取方式参考:Sign in with Apple账号删除参数获取


5.12 配置查询区服角色地址

登录wingsdk应用后台,应用-参数设置-服务端-获取区服角色地址,填写对应的查询区服角色地址。
WechatIMG776


5.13 admob广告功能开启

进入 广告 > AdMob管理

5.13.1 配置激励广告发货地址

1)点击”奖励通知接口配置”
2)填入”奖励通知接口”(此接口由CP提供)
3)点击保存

图片1

5.13.2 配置广告单元

1)点击”新增”
2)选择”广告类型”
3)填入广告所需要的信息

参数 描述
广告名称 广告名称,由运营或市场定义,可定义成具体意义的名称,见文知意,便于CP对接。例如:
1)奖励100金币,可命名成: reward_gold_100
2)死亡复活奖励,可命名成:death_resurrection
广告单元ID 可从Admob管理后台获取(不需要提供给cp)
奖励物品ID 可从Admob管理后台获取
奖励物品数量 可从Admob管理后台获取

4)选择状态为”测试”
5)点击保存

图片2


5.14 官网平台

官网平台参数管理 所在的位置如下:

图片6

5.14.1 账号互通配置

在官网包的”官网平台参数管理”->”服务端”->”GHG/R2官网包应用互通配置”填入谷歌包的sdk appid

图片1

5.14.2 官网礼包配置

1)在”官网平台参数管理”->”服务端”->”CP礼包通知接口”填入游戏研发提供的礼包发货接口
图片2

2)设置官网平台类型

图片3

3)填写官网平台的游戏id,由GHG/R2提供
图片4

4)配置礼包浮窗累计登录多少天弹出。配置1标识直接显示,-1表示关闭

图片5

注:安卓WINGSDK 4.6.0及以上版本,使用’浮窗总开关来控制’

图片6

选择开启后,会提示是否生成默认规则,谷歌包选择’确认’,官网包选择’取消’

图片7

5)浮窗按钮完整展示控制,当对按钮操作后,才会靠边收起并变半透明显示,操作指移动或点击按钮打开浮窗页。
关闭 (默认靠边收起并半透明显示)          
设备首次 (只在设备首次打开时才会完整显示)        
每天首次 (每天首次进入游戏都会完整显示)

图片5

6)浮窗页自动弹出,当浮窗按钮启用时,进入游戏获取到角色信息后,每天自动打开浮窗1次,自动打开的浮窗,5秒无操作则自动关闭
关闭 (不会自动打开)            
启用 (每天自动打开1次)

图片6

7)刷新浮窗页面状态,后台可刷新玩家“下次不再提醒”状态,让自动打开生效,用来强制弹出重要信息
关闭 (不会自动打开)            
启用 (每天自动打开1次)

图片7

8)浮窗方向控制(横屏游戏),只对横屏游戏生效。默认竖屏打开浮窗,可以通过控制来切换横屏打开浮窗
未命名 2

5.15 配置App secret(FB 应用密钥)

登录wingsdk应用后台,应用-参数设置-服务端-FB应用密钥,填写对应的App secret(FB 应用密钥)

facebook应用秘钥

5.16 AIHELP开启

使用AIHELP客服系统需在SDK管理后台开启
位置:应用->客服参数管理->aihelp appid (安卓/iOS) 和 aihelp domain

WEV[(_QT[O(U%K]V$J$)JAD

图片2

1)SDK客服开关–>开启
2)aihelp客服入口id –> 非必填
3)aihelp appId (安卓) –> 必填项,填入安卓的aihelp appid
4)aihelp appId (IOS) –> 必填项,填入IOS的aihelp appid
5)aihelp domain –> 必填项,填入aihelp domain

5.17 Consent开启

登录wingsdk应用后台,应用-参数设置-客户端-Consent开关,选择开启

未命名

5.18 关键等级配置

登录wingsdk应用后台,应用-参数设置-客户端-关键等级(纯数字,多个等级使用英文逗号分隔)

level

5.19 预注册商品添加及配置

1 在WingSDK管理后台,增加预注册商品,像正常的商品那边配置,“商品配置参考”注意:预注册商品在wingsdk后台价格不能配置为0
2 在WingSDK管理后台,配置预注册商品ID。位置:设置-参数配置-服务端-预注册商品ID(参照下图)
注意:通过礼包接口通知发放预注册奖励时, 礼包ID对应预注册商品的 “产品 ID”

{D74D7E10-AFEE-46E0-2D84-23DA9D96795C}

{C3DCB891-9D8A-95A7-D076-AD81334A8494}

5.20 预注册奖励通知方式

登录wingsdk应用后台,应用-参数设置-服务端-预注册奖励通知方式,进行发货通知选择

未命名 2

5.21 iOS 互推广告开关

登录wingsdk应用后台,应用-设置-官网平台参数管理-iOS互推广告开关,设置为打开

未命名 3

图片12

5.22 邀请活动管理

5.22.1 邀请参数配置

配置入口:”邀请活动管理”->”邀请活动”->”邀请参数配置”

图片15

配置项 参数说明
AppsFlyer模板ID 此项为空则表示关闭邀请功能。模板ID获取参考 https://blog.wing-analytics.com/archives/2783.html#aftempId
渠道 被邀请者的归因渠道(wing_invite)
活动名称 被邀请者的归因活动
被邀请者上报时机 根据事件名称触发,目前支持”完成新手任务”时触发上报
系统邀请活动标题 系统邀请时,可根据此项生成标题
邀请活动文案 邀请时,根据此项生成默认文案(建议末尾加两个空格)
邀请奖励服务端通知链接 使用服务端发奖时填写,需CP提供地址
触发邀请奖励服务端通知人数 使用服务端发奖时填写,每分享X人通知一次。填0则关闭此功能

5.23 FB特殊权限配置

配置项在”应用管理”->”参数设置”->”客户端”,可根据此配置觉得是否申请获取玩家的FB邮箱的权限。

6a83aec386e268c940160eacd5e9e682

图片16

5.24 子母包创建

5.24.1 创建母包

新建应用时,”选择母包”处选择’创建母包’

图片1

5.24.2 创建子包

新建应用时,”选择母包”处选择对应的母包

图片2

服务端接口文档bak(20260313)

wapublisher No Comments

一、简介

此文档描述了使用SDK的CP(内容提供商)用到的与WINGSDK后台交付的所有接口的详细定义。
接口分两种:
1、WINGSDK后台实现,CP后台调用。
2、CP后台实现,WINGSDK后台调用。

名词说明:

名词 说明
CP 内容提供商(Content Provider)游戏、应用等
第三方平台登录 通过第三方社交平台的OAuth authentication登录第三方帐号,并绑定WINGSDK帐号
游客登录 通过设备信息登录帐号,设备信息与WINGSDK帐号绑定
应用内登录 用户通过CP提供的帐号系统登录,然后CP通过WINGSDK提供的接口将用户绑定WINGSDK的帐号,以便CP使用SDK提供的服务

二、登录

后台-登录
注:实线表示请求的发起,虚线表示请求的返回

登录流程说明:
1)SDK客户端封装了其它不同第三方登录平台,用户登录后,SDK会返回后台验证的参数
2)客户端去WINGSDK服务端获取在线token,服务端先去第三方登录平台验证accessToken,获取第三方用户信息,并返回对应的WINGSDK用户ID和token给客户端
3)客户端通过SDK API 获取token,userId,puserId,platform等用户信息,然后向游戏后台发送登录请求
4)游戏后台调用WINGSDK提供的接口验证用户登录,请求参数见下
5)如果是应用内登录,以上登录流程图可以将第三方登录平台当成CP服务端,CP需要提供验证用户帐号的接口供WINGSDK后台调用。

2.1 CP验证用户登录接口

接口说明:

接口相关 说明
接口提供方 WINGSDK平台
接口调用方 CP
接口实现方式 HTTP/POST
接口描述 登录流程图第8步,CP验证WINGSDK token是否合法,是否与ghwUserId匹配
生产环境 https://api.wingsdk.com/cpapi/v2/user/authorize.do
支持Http Method POST (需要以表单的形式提交 content-type=application/x-www-form-urlencoded)
返回信息格式 JSON

输入参数说明:

参数名 类型 是否必须 参数说明
token String(100) Y WINGSDK验证token,从客户端获取
appId String(100) Y WINGSDK应用ID
osign Stirng(100) Y MD5(
appId+
token +
secureKey
),如果有参数为空,用空字符串””替代,secureKey (登录验证key,即SDK后台对应的登录秘钥)由运营人员在SDK后台获取

返回格式

参数名 类型 是否必须 参数说明
code Int Y 状态码,请参照状态码说明表
msg String(32) Y 结果描述
error String(32) N 验证错误描述信息
ghwUserId Long N 验证成功后返回ghwUserId,CP通过检验客户端的userId与此字段是否相等防止客户端冒充其它用户

请求示例:

三、支付

3.1 CP发货通知接口

该接口由移动平台定义,CP负责实现
发货接口调用说明
1.WINGSDK服务端系统订单在支付完成之后将实时通知到 CP 发货接口。

2.WINGSDK服务端系统通知 CP 发货时,若未接收到 CP 接口成功回复,该笔订单将重复通知 3次。

3.WINGSDK服务端系统在重复 3 次通知 CP 发货的过程中,若都未收到 CP 的成功回复,订单将进入后台轮询通知发货。每次轮询将有 3 次的通知;第一次轮询为订单新建之后的 15 分钟;之后每小时轮询通知一次; 24 小时之后隔日通知一次。

4.WINGSDK服务端系统收到 CP 接口返回 code=200 时将不再对该笔订单做重复通知。

5.WINGSDK服务端系统若对某笔订单重复通知,则 CP 需自行判断是否已经发货,若已发货则接
口直接返回 code=200,当作成功处理。

6.WINGSDK回调服务器的 IP 地址为 xx.xx.xx.xx,CP 可以考虑在回调接口中做该 IP 的白名单匹
配(可选)。不过 IP 地址可能存在变更,如有变更,将在SDK管理后台上另行通知

注1:接口开发完后可以使用调试工具进行测试,前往调试工具

注2:接口的URL ,必须支持HTTPS请求,且使用正规CA机构颁发的证书,不支持自签证书

URL:https://****/deliver.do
支持Http Method:POST
请求信息格式:application/x-www-form-urlencoded
返回信息格式:Json

输入参数说明:

参数名 类型 是否必须 参数说明
appId String(32) Y WINGSDK 应用 ID
orderId String Y WINGSDK订单号
defaultAmount Double Y 第三方支付后台配置的商品基准货币价格,单位(元);
如果非商品购买(如预点卡支付,短信充值、充值金额由玩家定义),此字段为0
defaultCurrency String(32) Y 第三方支付后台配置的商品价格使用的基准货币
gameAmount Int Y 游戏币数量,如钻石数,金币数
gameCurrency String(32) Y 游戏币种,如钻石,金币,元宝
productId String(32) N WINGSDK后台定义商品Id
如果非商品购买(如点卡支付,充值金额由玩家定义),此字段为
具体值:customAmountProduct,这类购买CP可以通过gameAmount给玩家发相应的游戏币
payChannel String Y 支付渠道:APPLE 、GOOGLE
userId Long Y 用户ID,WINGSDK游戏平台userId
serverId String Y 服务器ID
gameUserId String N 游戏角色ID
orderStatus Int Y 订单状态:
1:成功
2:失败
5:退款
6:争议
statusMsg String Y 订单状态说明
ots Int Y 订单创建时间戳(秒)
payDoneTime String N 支付完成时间(秒),已转成字符串,支付失败为空
extInfo String N CP 扩展信息字段,限长512,创建订单时通过客户端SDK传入,发货通知原样返回给CP。CP可以添加任意自定义的字段(JSON格式),用于检验订单信息或扩展其它功能,不超过长度限制即可。
如果CP的通知发货地址是动态变化的(比如每个服务区的地址都不一致),可以添加参数deliverUrl;
添加merId字段(选填),收款商户ID,使用场景:同一个支付渠道下有多个不同的收款验证信息(或收款帐号)。如果是APPLE支付渠道,merId使用客户端bundleId。
参考格式
{
“deliverUrl”:” http://game.com/deliver.do”,
“merId”:”payChanelMerId”
}
osign String Y 签名,MD5(
appId+
orderId+
defaultAmount+
defaultCurrency+
gameAmount+
gameCurrency+
productId+
userId+
serverId+
gameUserId +
orderStatus+
ots +
payDoneTime +
extInfo +
paySecretKey
)
payDoneTime、extInfo参数无值则使用””(空字符串)代替参与签名
paySecretKey(支付验证key,即SDK后台对应的支付秘钥)由运营人员在SDK后台获取

返回结果说明:

参数名 类型 是否必须 参数说明
appId String(32) N 应用 ID
code Int Y 通知结果状态码,200表示通知成功
msg String(32) Y 结果描述
userId Long N 用户ID
deliverStatus Int N 订单发货状态
0:未知
1:发货成功
2:发货失败
CP在接受到发货通知后,如果能同步确定发货状态,可以返回此状态,如果不能确定发货状态,可以忽略此字段。CP也可以通过发货结果异步回调接口通知SDK发货结果

3.2 发货结果异步回调接口(可选)

接口说明:

接口相关 说明
接口提供方 WINGSDK平台
接口调用方 CP
接口实现方式 HTTP/POST
接口描述 1.CP在向用户发货成功后,将发货结果反馈给WINGSDK平台
2.CP在通知失败情况下(通知结果返回code值非200),需要重试通知
3.WINGSDK对发货成功的订单不再做修改发货状态(发货成功/发货失败),但发货失败的订单可以再修改发货状态。
4.CP对通知结果状态码code=200的订单不需要再重复通知。
生产环境 https://api.wingsdk.com/cpapi/v1/deliver_callback.do
支持Http Method POST
返回信息格式 JSON

输入参数说明:

参数名 类型 是否必须 参数说明
appId String(32) Y 应用 ID
orderId String Y WINGSDK订单号
productId String(32) Y 商品Id
如果非商品购买(如点卡支付,充值金额由玩家定义),此字段为
具体值:customAmountProduct
userId Long Y 用户ID,WINGSDK游戏平台userId
serverId String N 服务器ID
deliverStatus Int Y 订单发货状态
1:发货成功
2:发货失败
statusMsg String N 订单状态说明
osign String Y 签名,MD5(
appId+
orderId+
productId+
userId+
serverId+
deliverStatus +
paySecretKey
)
serverId等参数无值则使用””(空字符串)代替参与签名
paySecretKey(订单验证key,即SDK后台对应的支付秘钥)由运营人员在SDK后台获取

返回结果说明:

参数名 类型 是否必须 参数说明
code Int Y 通知结果状态码,200表示通知成功
msg String(32) Y 结果描述

四、奖励通知

4.1 admob激励广告奖励通知接口定义

接口说明:

接口相关 说明
接口提供方 CP后台
接口调用方 WA平台
接口实现方式 HTTP/POST
接口描述 玩家观看完激励广告后,WA平台通知CP对玩家进行奖励
生产环境 CP自定义,配置到SDK后台即可。
支持Http Method POST
请求信息格式 application/x-www-form-urlencoded
返回信息格式 JSON

接口调用说明
连续通知3次,都失败则不再通知。
注1:接口开发完后可以使用调试工具进行测试,前往调试工具
注2:接口的URL ,必须支持HTTPS请求,且使用正规CA机构颁发的证书,不支持自签证书

输入参数说明:

参数名 类型 是否必须 参数说明
appId String(32) Y 应用 ID
transactionId String Y 广告奖励订单流水号
adName String Y 广告名称
rewardItem String Y 奖励物品标识:礼包ID,钻石,元宝等
rewardAmount Int Y 奖励物品数
userId Long Y 玩家的WA平台用户ID
serverId String N 玩家所在的游戏服
gameUserId String N 游戏角色ID
extInfo String N 扩展字段,游戏在客户端观看视频前通过API传给SDK,原样返回给CP后台
osign String Y 签名,MD5(
appId +
transactionId +
adName+
rewardItem +
rewardAmount +
userId +
serverId+
gameUserId+
extInfo+
secureKey )
参数无值则使用””(空字符串)代替参与签名,secureKey 服务端验证key,在SDK后台配置

返回结果说明(JSON格式):
失败返回错误码,请参照附录1的状态码说明表;

参数名 类型 是否必须 参数说明
code Int Y 状态码,请参照状态码说明表
msg String Y 结果描述
deliverStatus int N 奖励发货状态
0:未知
1:发货成功
2:发货失败
CP在接受到发货通知后,如果能同步确定发货状态,可以返回此状态,如果不能确定发货状态,可以忽略此字段。


4.2 礼包通知接口定义

接口说明:

接口相关 说明
接口提供方 CP后台
接口调用方 WingSDK平台
接口实现方式 HTTP/POST
接口描述 给玩家发放礼包
生产环境 CP自定义,配置到WingSDK后台即可。
支持Http Method POST
请求信息格式 application/x-www-form-urlencoded
返回信息格式 JSON

接口调用说明
连续通知3次,都失败则不再通知。
注1:接口开发完后可以使用调试工具进行测试,前往调试工具
注2:接口的URL ,必须支持HTTPS请求,且使用正规CA机构颁发的证书,不支持自签证书
注3:该接口在预注册奖励发放时并发请求数比较大,建议使用异步或队列的形式处理,避免影响游戏功能.

输入参数说明:

参数名 类型 是否必须 参数说明
appId String(32) Y 应用 ID
giftId String Y 礼包id
transactionId String Y 唯一流水号,可根据此字段来判断是否是重复通知。
userId Long Y 玩家的WingSDK平台用户ID
serverId String Y 玩家所在的游戏服
gameUserId String N 游戏角色ID
osign String Y 签名,MD5(
appId +
giftId +
transactionId+
userId +
serverId+
gameUserId+
secureKey )
参数无值则使用 “”(空字符串)代替参与签名,secureKey 服务端验证key,由运营提供

返回结果说明(JSON格式):
失败返回错误码,请参照附录1的状态码说明表;

参数名 类型 是否必须 参数说明
code Int Y 状态码,200表示通知成功;400表示通知失败
msg String Y 结果描述

五、数据查询接口

5.1 通过第三方OPEN_ID获取WINGSDK平台用户ID

接口说明:

接口相关 说明
接口提供方 WINGSDK平台
接口调用方 CP后端
接口实现方式 HTTP/POST
接口描述 通过第三方平台openId获取WINGSDK平台的userId
生产环境 https://api.wingsdk.com/cpapi/v1/get_user_info.do
支持Http Method POST
返回信息格式 JSON

输入参数说明:

参数名 类型 是否必须 参数说明
appId String Y WINGSDK平台分配的应用id
platform String Y 第三方平台标识: FACEBOOK、APPLE、GOOGLE、GUEST等
openId String Y 第三方平台openId
osign String Y 验证用的加密串
Md5(
appId+
appKey+ //登录验证key,注意保密
platform+
openId
)

返回结果说明(JSON格式):
失败返回错误码,请参照状态码说明表

参数名 类型 是否必须 参数说明
code Int Y 状态码,请参照状态码说明表
msg String Y 结果描述
userId Long N SDK平台用户Id

5.2 查询区服角色信息

该接口由移动平台定义,CP负责实现
查询区服信息接口调用说明
1、WA服务端系统通过WA的userId来查询用户已经玩过的区服角色以及最近玩过的区服角色。
2、Url:https://****/serverinfo.do

注1:接口开发完后可以使用调试工具进行测试,前往调试工具
注2:接口的URL ,必须支持HTTPS请求,且使用正规CA机构颁发的证书,不支持自签证书

接口说明:

接口相关 说明
接口提供方 CP后端
接口调用方 WINGSDK平台
接口实现方式 HTTP/POST
接口描述 通过WA的userId来查询用户已经玩过的区服角色
生产环境 https://****/serverinfo.do
支持Http Method POST
返回信息格式 JSON

输入参数说明:

参数名 类型 是否必须 参数说明
appId String Y WINGSDK平台分配的应用id
userId Long Y 用户ID,WA游戏平台userId
osign String Y 验证用的加密串Md5(appId+userId+secureKey) //secureKey即SDK后台对应的登录密钥, 需运营人员在SDK后台获取

返回结果说明(JSON格式):
失败返回错误码,请参照状态码说明表

参数名 类型 是否必须 参数说明
code Int Y 状态码,请参照状态码说明表
msg String Y 结果描述
currentServerId String Y 当前服务器Id,没有则是最近登录的服务器Id.(游戏没有区服概念时可以传”1”)
currentRoleId String Y 当前角色Id,没有则是最近使用的角色Id
serverList object Y 数组对象
serverList为数组对象,包含数据如下,见示例
serverId String Y 服务器Id。(游戏没有区服概念时可以传”1”)
serverName String Y 服务器名称。(游戏没有区服概念时可以传”server1”)
roleList object Y 数组对象
roleList为数组对象,包含数据如下,见示例
roleId String Y 角色Id
roleName String Y 角色名称

示例:

六、消息推送

6.1 消息推送接口

接口说明:

接口相关 说明
接口提供方 WA平台
接口调用方 CP
接口实现方式 HTTP/POST
接口描述 可通过该接口发起推送任务,需要在sdk后台配置IP白名单后,才能正常访问此接口
生产环境 https://api.wingsdk.com/cpapi/v1/user/push.do
支持Http Method POST
报文类型 application/json; charset=utf-8
返回信息格式 JSON

请求报文头:

字段 类型 必须 参数说明
appId String Y WA应用ID
sign String Y 接口调用签名, 小写MD5(appId + body + secureKey), secureKey (登录验证key)由运营人员在SDK后台生成

body说明:

参数名 类型 是否必须 参数说明
message Object Y 消息对象
message.id String N 自定义ID,当一次推送任务需要多次请求接口时,可以设置相同的ID,标识为同一任务,便于回溯推送情况(不超过64字符)
message.title String Y 消息题目(不超过64字符)
message.body String Y 消息内容(不超过200字符)
message.platform Int Y 推送平台;0-安卓 1-IOS
message.priority String Y 推送优先级;1-低;2-中;3-高;
message.pushType Int Y 推送类型;0-自定义uid推送;1-全服推送;
message.uids List N Uid列表(最多支持1000个),当pushType为”自定义uid推送”时,该参数必须要传值。[123,456,789]

返回格式:

参数名 类型 是否必须 参数说明
code Int Y 状态码,请参照附录1
msg String(32) Y 结果描述

调用实例:

七 充值中心

7.1 查询可购买礼包(商品)列表接口

该接口由移动平台定义,CP负责实现
查询区服信息接口调用说明
1、WingSDK服务端系统通过WingSDK的userId,区服id,角色id来查询玩家可购买的礼包(商品)列表。
2、Url:https://****/gameproductlist.do

注1:接口开发完后可以使用调试工具进行测试,前往调试工具
注2:接口的URL ,必须支持HTTPS请求,且使用正规CA机构颁发的证书,不支持自签证书

接口说明:

接口相关 说明
接口提供方 CP后端
接口调用方 WINGSDK平台
接口实现方式 HTTP/POST
接口描述 查询玩家可购买的礼包(商品)列表
生产环境 https://****/gameproductlist.do
支持Http Method POST
请求信息格式 application/x-www-form-urlencoded
返回信息格式 JSON

输入参数说明:

参数名 类型 是否必须 参数说明
appId String Y WINGSDK平台分配的应用id
userId Long Y 用户ID,WA游戏平台userId
serverId String Y 服务器ID
gameUserId String Y 游戏角色ID
osign String Y 验证用的加密串Md5(appId+userId+serverId+gameUserId+secureKey ) //secureKey即SDK后台对应的登录密钥, 需运营人员在SDK后台获取

返回结果说明(JSON格式):
失败返回错误码,请参照状态码说明表

参数名 类型 是否必须 参数说明
code Int Y 状态码,请参照状态码说明表
msg String Y 结果描述
gameProductList object Y 数组对象
gameProductList为数组对象,包含数据如下,见示例
gameProductType String Y 礼包(商品)类型,游戏本地语言或英语 ,长度限制32字符长度。如:每日礼包,每周礼包
gameProductId String Y 礼包(商品)ID
gameProductName String Y 礼包(商品)名称(游戏本地语言或英语) ,长度限制32字符长度
gameProductDesc String Y 礼包(商品)描述(游戏本地语言或英语)。描述中需要说明限购规则,长度限制250字符长度
waProductId String Y sdk商品ID

示例:

7.2 购买礼包(商品)下单接口

该接口由移动平台定义,CP负责实现
查询区服信息接口调用说明
1、WingSDK服务端系统通过WingSDK的userId,区服id,角色id来查询玩家可购买的礼包(商品)列表。
2、Url:https://****/order.do

注1:接口开发完后可以使用调试工具进行测试,前往调试工具
注2:接口的URL ,必须支持HTTPS请求,且使用正规CA机构颁发的证书,不支持自签证书

接口说明:

接口相关 说明
接口提供方 CP后端
接口调用方 WINGSDK平台
接口实现方式 HTTP/POST
接口描述 查询玩家可购买的礼包(商品)列表
生产环境 https://****/order.do
支持Http Method POST
请求信息格式 application/x-www-form-urlencoded
返回信息格式 JSON

输入参数说明:

参数名 类型 是否必须 参数说明
appId String Y WINGSDK平台分配的应用id
userId Long Y 用户ID,WA游戏平台userId
serverId String Y 服务器ID
gameUserId String Y 游戏角色ID
gameProductId String Y 游戏礼包(商品)ID (需判断gameProductId和waProductId是否对应正确)
waProductId String Y sdk商品ID (需判断gameProductId和waProductId是否对应正确)
osign String Y 验证用的加密串Md5(appId+userId+serverId+gameUserId+gameProductId +waProductId+secureKey ) //secureKey即SDK后台对应的登录密钥, 需运营人员在SDK后台获取

返回结果说明(JSON格式):
失败返回错误码,请参照状态码说明表

参数名 类型 是否必须 参数说明
code Int Y 状态码,请参照状态码说明表
msg String Y 结果描述
extInfo String N CP 扩展信息字段,限长512, 发货通知原样返回给CP。CP可以添加任意自定义的字段(JSON格式),用于检验订单信息或扩展其它功能,不超过长度限制即可。

7.3 查询玩家月卡信息

接口说明:

接口相关 说明
接口提供方 WA平台
接口调用方 CP
接口实现方式 HTTP/POST
接口描述 通过此接口查询玩家月卡信息。
生产环境 https://api.wingsdk.com/cpapi/v1/user/pass_info.do
支持Http Method POST
请求信息格式 content-type=application/x-www-form-urlencoded
返回信息格式 JSON

输入参数说明:

参数名 类型 是否必须 参数说明
appId String(100) Y WA应用ID
userId Long Y SDK 用户id
osign Stirng(100) Y Md5(appId+userId+secureKey) 如果有参数为空,用空字符串””替代,secureKey (登录验证key)由运营人员在SDK后台生成

返回格式:

参数名 类型 是否必须 参数说明
code Int Y 状态码,请参照状态码说明表
msg String(32) Y 结果描述
passStatus Int Y 月卡状态:0-未激活;1-已激活
subscribeStatus Int N 订阅状态:0-非连续订阅;1-连续订阅
passExpireTimestamp Long N 月卡过期时间戳,单位毫秒
passExpireDays Int N 剩余多少天过期

附录1:返回状态码说明

通用返回状态码说明(参考了Http状态码设计):

状态码code 说明
200 成功
400 错误请求:请求参数有错,头信息有误等,导致请求无法被正确理解
401 请求未认证:访问受限资源是缺少认证信息,或者认证未通过
403 禁止访问:由于应用上下文原因或请求端上下文的原因被禁止访问资源,例如IP限制等;
404 找不到被访问资源:接口不存在、页面不存在或对应的业务实体找不到
500 服务器内部故障
501 所请求接口或页面未实现

平台自定义状态码说明

状态码code 说明
4010 无效appId: appId不存在或未开启
4011 无效osign:osign校验失败
4079 推送配置无效,APNS证书及密码(IOS推送)或Firebase(Android推送)认证 Key未配置