服务端接口文档(bak20240708)

服务端接口文档(bak20240708)

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通过检验客户端的ghwUser与此字段是否相等防止客户端冒充其它用户

请求示例:

$ curl -s -XPOST -H ‘content-type:application/x-www-form-urlencoded’ ‘https://api.wingsdk.com/cpapi/v2/user/authorize.do’ -d ‘appId=39a59e6182b911eebb5a02c85f0429f5&osign=2df4b4da628ff9e9da8ade02d5f9bd94&token=30_o1hgud5ogc9CSlgwul4AEaFr8jS0g3sD’

2.2 WINGSDK后台验证CP用户登录信息接口(应用内登录)

登录验证流程图:
后台-CP验证用户登录接口

接口说明:

接口相关 说明
接口提供方 CP
接口调用方 WINGSDK平台
接口实现方式 HTTP/POST
接口描述 应用内登录,登录流程第4步,WINGSDK验证CP用户信息时调用。WINGSDK通过accessToken和extInfo 验证用户信息。accessToken由客户端完成CP帐号系统登录后获取,WINGSDK通过accessToken和extInfo去CP后台验证用户信息
生产环境 地址由CP提供给运营人员,运营人员将地址配置在SDK管理后台
支持Http Method POST
返回信息格式 JSON

输入参数说明:

参数名 类型 是否必须 参数说明
accessToken String N CP帐号登录验证token,从客户端获取
appId String Y WINGSDK应用ID
extInfo String N CP自定义的内容,原样返回
osign Stirng Y MD5(
appId+
accessToken+
secureKey+
extInfo
),如果有参数为空,用空字符串””替代,secureKey (登录验证key,即SDK后台对应的登录秘钥)由运营人员在SDK后台获取

返回格式

参数名 类型 是否必须 参数说明
code Int Y 状态码,请参照状态码说明表
msg String(32) Y 结果描述
error String(32) N 验证错误描述信息
cpUserId String Y CP的用户ID。code=200时返回此字段

三、支付流程

3.1 概述

要使用Wingsdk的支付功能,首先要在SDK后台添加商品列表以及要使用的第三方支付平台信息。每个支付平台的商品列表都是可以单独配置的。
Wingsdk支付过程中,对第三方支付平台的信息都做了屏蔽,也就是说,所有第三方支付平台以及对应的配置信息对CP来说都是透明的。CP在客户端使用的商品列表是wingsdk平台独有的商品Id,和第三方支付后台的商品Id的不一样,但是有映射关系(运营人员在SDK管理后台维护),即wingsdk商品Id+支付渠道标识可以确认一个第三方商品Id,用户选择某一个商品进行购买后,需要选择第三方支付渠道(google、apple等),wingsdk首先会使用wingsdk平台的商品id下订单,之后会使用对应的第三方商品id到第三方(google,apple等)进行支付。支付成功,Wingsdk通知CP发货也是使用Wingsdk的商品Id。
后台-支付流程

3.2 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管理后台上另行通知

URL:http://****/deliver.do
支持Http Method:POST
返回信息格式:Json

输入参数说明:

参数名 类型 是否必须 参数说明
appId String(32) Y WINGSDK 应用 ID
orderId String Y WINGSDK订单号
defaultAmount Double Y 第三方支付后台配置的商品基准货币价格,单位(元);
如果非商品购买(如预点卡支付,短信充值、充值金额由玩家定义),此字段为0
defaultCurrency String(32) Y 第三方支付后台配置的商品价格使用的基准货币
payAmount Double N 即将废弃,请勿使用
用户支付的本地货币金额,单位(元);实际支付金额,如果商品有打折,这个金额是折后的价格,请勿根据此参数设定发货数量
currencyCode String(32) N 即将废弃,请勿使用
用户支付时候使用的本地货币币种;
如果非商品购买(如点卡支付,充值金额由玩家定义),此字段为WINGSDK后台设置的支付渠道对应的基准货币
gameAmount Int Y 游戏币数量,如钻石数,金币数
gameCurrency String(32) Y 游戏币种,如钻石,金币,元宝
dollarAmount Double N 即将废弃,请勿使用
将本地货币金额转换成美元($)的商品金额(精确至小数点后4位),如果没有本地货币,使用基准货币替代。
productId String(32) N WINGSDK后台定义商品Id
如果非商品购买(如点卡支付,充值金额由玩家定义),此字段为
具体值:customAmountProduct,这类购买CP可以通过gameAmount给玩家发相应的游戏币
payChannel String Y 支付渠道:APPLE 、GOOGLE
userId Long Y 用户ID,WINGSDK游戏平台userId
serverId String Y 服务器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+
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.3 发货结果异步回调接口(可选)

接口说明:

接口相关 说明
接口提供方 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 结果描述

3.4 退款通知接口(可选)

该接口由移动平台定义,CP负责实现
退款通知接口调用说明
1.WINGSDK服务端每天定时任务查询第三方支付平台退款订单列表,目前只支持Google play

2.用于Google支付渠道的服务邮箱账号需拥有查看财务的权限。

3.WINGSDK服务端系统通知 CP退款订单时,若未接收到 CP 接口成功回复,该笔退款订单将重复通知5次。每隔30分钟通知一次

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

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

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

URL:http://****/refund_notify.do
支持Http Method:POST
返回信息格式:Json

输入参数说明:

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

返回结果说明:

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

四、奖励通知

4.1 邀请奖励通知接口定义

接口相关 说明
接口提供方 CP后端
接口调用方 WINGSDK平台
接口实现方式 HTTP/POST
接口描述 奖励通知调用说明:
1.WINGSDK服务端系统在用户触发奖励机制后会通知CP对指定用户发送奖励,奖励规则在SDK管理后台配置。
2.WINGSDK服务端系统通知 CP 奖励通知时,若未接收到 CP 接口成功回复,该奖励通知将重复通知 3次。
3.WINGSDK服务端系统在重复 3 次奖励通知的过程中,若都未收到 CP 的成功回复,通知将进入后台轮询通知。每次轮询将有 3 次的通知;第一次轮询为通知新建之后的 15 分钟;之后每小时轮询通知一次; 24 小时之后隔日通知一次。
4.WINGSDK服务端系统收到 CP 接口返回 code=200 时将不再对该奖励做重复通知。
5.WINGSDK服务端系统若对某笔奖励重复通知,则 CP 需自行判断是否已经发货,若已发货则接口直接返回 code=200,当作成功处理。
生产环境 CP自定义
支持Http Method POST
返回信息格式 JSON

输入参数说明:

参数名 类型 是否必须 参数说明
appId String(32) Y 应用 ID
eventName String Y 触发奖励机制的事件名称,由运营人员配置在WINGSDK后台
installTime Long Y 被邀请者应用安装时间戳
inviteePfUserId String(32) Y 被邀请者社交平台openId
inviteeUserId Long Y 被邀请者ghwUserId
inviteeGameUserId String N 被邀请者游戏ID
inviteeServerId String N 被邀请者服务区ID,安装事件可能为空可能为空
platform String Y 社交平台标识 FaceBook, VK
rewardType String Y 奖励物品标识: 钻石,元宝等
rewardAmount Int Y 奖励物品数量
rewardId String 奖励事件唯一标识Id
userId Long Y 邀请者 ghwUserId
serverId String N 邀请者服务区Id
osign String Y 签名,MD5(
appId +
eventName +
installTime +
inviteePfUserId+
inviteeUserId +
inviteeGameUserId+
inviteeServerId +
platform+
rewardAmount +
rewardId +
userId +
serverId+
secureKey )
参数无值则使用””(空字符串)代替参与签名,secureKey 服务端验证key,在SDK后台配置(即SDK后台对应的秘钥)

返回结果说明:

参数名 类型 是否必须 参数说明
appId String(32) N
code Int Y 通知结果状态码,200表示通知成功
msg String(32) Y
userId Long N
deliverStatus Int N 奖励状态
0:未知
1: 奖励成功
2: 奖励失败
CP在接受到奖励通知后,如果能同步确定奖励状态,可以返回此状态,如果不能确定奖励状态,可以忽略此字段

4.2 视频广告奖励通知接口定义

接口说明:

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

输入参数说明:

参数名 类型 是否必须 参数说明
appId String(32) Y 应用 ID
viewId String Y 视频观看Id,全局唯一,每次观看至奖励一次,WINGSDK平台可能会通知多次,CP需要判断去重,避免重复发放奖励
rewardType String Y 奖励物品标识:钻石,元宝等
rewardAmount Int Y 奖励物品数量
userId Long Y 玩家的WINGSDK平台用户ID
serverId String N 玩家所在的游戏服
gameUserId String Y 玩家的角色Id
extInfo String Y 扩展字段,游戏在客户端观看视频前通过API传给SDK,原样返回给CP后台
osign String Y 签名,MD5(
appId +
viewId+
rewardType+
rewardAmount +
userId +
serverId+
gameUserId+
extInfo+
secureKey )
参数无值则使用””(空字符串)代替参与签名,secureKey 服务端验证key,在SDK后台配置(即SDK后台对应的秘钥)

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

参数名 类型 是否必须 参数说明
code Int Y 状态码,请参照状态码说明表
msg String Y 结果描述

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

接口说明:

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

接口调用说明
连续通知3次,都失败则不再通知。

输入参数说明:

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

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

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

4.4 礼包通知接口定义

接口说明:

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

输入参数说明:

参数名 类型 是否必须 参数说明
appId String(32) Y 应用 ID
giftId String Y 礼包id
transactionId String Y 唯一流水号,可根据此字段来判断是否是重复通知。
userId Long Y 玩家的WingSDK平台用户ID
serverId String Y 玩家所在的游戏服
osign String Y 签名,MD5(
appId +
giftId +
transactionId+
userId +
serverId+
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

接口说明:

接口相关 说明
接口提供方 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,没有区服时可以传空字符串
currentRoleId String Y 当前角色Id,没有则是最近使用的角色Id,没有角色时可以传空字符串
serverList object N 数组对象(当没有服务器信息时,返回空数组:[])
serverList为数组对象,包含数据如下,见示例
serverId String N 服务器Id
serverName String N 服务器名称
roleList object N 数组对象 (当没有角色信息时,返回空数组:[])
roleList为数组对象,包含数据如下,见示例
roleId String N 角色Id
roleName String N 角色名称

示例:

六、消息推送

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 结果描述

调用实例:

附录1:返回状态码说明

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

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

平台自定义状态码说明

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

第三方后台配置—iOS版(bak20240708)

wapublisher No Comments

一、Apple后台应用配置

1.1 Apple基础配置

确保游戏的GameCenter启用
iOS-Apple基础配置
获取应用Apple ID,如果使用到appsflyer渠道,应用未发布情况下在appsflyer渠道新建应用要用到此id。如果应用已经发布,则要使用到该应用在app store上的地址。
apple-基础配置
apple-基础配置

1.2 添加Apple商品信息

可以参考官方文档
https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnectInAppPurchase_Guide/Chapters/Introduction.html#//apple_ref/doc/uid/TP40013727-CH1-SW1

1.3 添加Apple测试用户

向测试人员索取测试账号,添加到iTunes Connect中,具体可参考:
https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/SettingUpUserAccounts.html#//apple_ref/doc/uid/TP40011225-CH25-SW10 的 To create a new sandbox tester account部分
iOS-Apple基础配置
截图如下:
1、登录iTunes connect 选择用户和职能
iOS-Apple基础配置

2、进入用户和职能页面,选择沙箱技术测试员Tab标签,新建一个测试账号
iOS-Apple基础配置

添加沙箱技术测试者

iOS-Apple基础配置

截图可能会过时,以官方说明为准

1.4 消息推送

消息推送证书配置请参考Apple官方文档
https://developer.apple.com/cn/help/account

1.5 Sign in with Apple配置

参考苹果官网地址:

https://help.apple.com/developer-account/?lang=en#/devde676e696

1、 登录苹果开发者后台https://developer.apple.com/account
2、 选择Identifiers,找到对应app的identifer,如com.wing.sdkcn.lpw

Sign in with Apple配置

3、 点击对应identifer,进入App Id 配置界面,找到并勾选 Sign In with Apple,点击保存
Sign in with Apple配置

4、 然后点击 右上角 save 保存会出现 Modify App Capabilities 弹窗 点击 Confirm

Sign in with Apple配置

注:开启后 profile 将失效需要重新编辑 profile 文件给开发(即开发使用的开发证书、发布证书需要重新获取,并给到开发)

5、开发打开xcode工程,选择TARGETS–Signing&Capabilites-+Capability,弹出列表中,选择Sign in with Apple即可

Sign in with Apple配置

Sign in with Apple配置

6、开发使用步骤4新生成的签名文件,打包即可测试Sign in with Apple 登录

1.6 Sign in with Apple账号删除参数获取

1、苹果应用私钥&&私钥标识

登录苹果管理后台,找到Keys栏目,点击添加按钮

图片20

然后输入Key name,选择Sign in with Apple,点击右侧配置

图片20

选择对应应用的ID,然后点击Save
图片20

图片20

点击Register

图片20

点击Download,下载格式为.p8文件,保存。
图片20

WechatIMG775

其中Key ID 为私钥标识,copy保存。

打开下载的私钥文件,格式如下:
图片20

需要去除图中标记红色内容(—–BEGIN PRIVATE KEY—–、—–END PRIVATE KEY—–、换行)

如得到苹果应用私钥如下:
MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQgqrI54XKpKJW+JExnKZGdsa1LJ4pFPnyngbQjF+iHvZigCgYIKoZIzj0DAQehRANCAAT8kn1iPsR5COAruk/IiklsS9xzeRf7nfpcE7bn/Susrckpi+EDKdGmD6BOyKT+0OkpEDubkUaHlsyVM140A7fX

2、苹果账号TeamId

登录苹果管理后台,打开Account下的Membership模块,找到Team ID

图片20

1.7 Apple开发账号后台创建新应用



登录苹果管理后台,打开Certificates, Identifiers & Profiles模块
选择Identifiers,点击+号

图片20

选择App IDs,点击继续

图片20

选择App 类型,点击继续

图片20

填写描述以及Bundle ID,点击继续

图片20

点击Register按钮

图片20

此时,bundleid已经创建完成,接下来,需要创建打包需要的iOS App Development、Ad Hoc、App Store对应的证书文件。

Development:开发证书
Ad Hoc :打包证书,打包后只能安装到注册设备上
App Store :appstore证书,上线appstore打包证书

图片20

选择Profiles,点击+

图片20

选择iOS App Development,点击继续

图片20

选择刚才创建的buildid,点击继续

图片20

选择Select All,点击继续

图片20

选择Select All,点击继续

图片20

创建开发证书名字,点击Generate

图片20

点击Download
图片20

到此,则开发证书创建完成。创建Ad Hoc 、App store证书,步骤一致。完成后,需要把3个文件给到研发。

1.8 配置App Store 服务器通知


登录appstoreconnect后台,打开app选项,找到对应项目,然后在App信息-App Store 服务器通知,选择生产环境服务器URL,点击设置URL,其他URL规则如下

国外应用:https://api.wingsdk.com/sdkapi/v1/pay/apple_refund/{sdkAppId}.do
国内应用: https://api.wingsdk.cn/sdkapi/v1/pay/apple_refund/{sdkAppId}.do

然后选择版本1,然后保存

WechatIMG682

WechatIMG685

1.9 gamecenter权限设置

背景:从2023年8月16日开始,提供Game Center功能的新应用和应用更新需要包含Game Center授权,并在app Store Connect中配置Game Center功能,然后才能将其提交到app Store。App Store上现有的应用不受这一新要求的影响。

1.9.1 appstoreconnect 配置

登录appstoreconnect后台,选择对应用-要提交审核的版本,确保CameCenter 已开启。如已开启,则可忽略。如没有开启,点击开启,如下图
WechatIMG813

1.9.2 开发者后台配置

登录开发者后台 在Identifiers中,选择对应的应用的标识并点击开始编辑,选中 Game Center ,然后保存。如已开启,则可忽略

WechatIMG808

WechatIMG809

然后重新生成开发、生产证书给到研发。

1.9.3 Xcode配置

在TARGETS中,选中对应target,然后点击+Capability,选择Game Center,然后添加。查看项目名.emtitlements文件,确保内部已经添加了Game Center。如已添加,则可忽略

WechatIMG812

WechatIMG810

WechatIMG811

二、Facebook第三方后台配置

2.1 Facebook基础配置

  1. 请参考android的facebook登录配置
    与Android设置不同在“2. 添加Bundle ID”

向开发人员索取Bundle ID,设置到
图片20

2.facebook 应用面板->设置->基本->iOS->网址格式后缀(非必填)
url

2.5 Facebook添加开发者

请参考android的配置Facebook添加开发者

三、VK后台应用配置

请参考android部分的VK后台应用设置

四、Twitter后台应用配置

请参考android部分的Twitter后台应用设置

五、Instagram后台应用配置

请参考android部分的Instagram后台应用设置

六、智能客服 AIHelp后台应用配置

请参考android部分的智能客服 AIHelp后台应用设置

七、Firebase后台应用配置

7.1 现有Firebase添加应用

在浏览器中打开Firebase控制台点击添加已经在Google API存在的项目

1、点击项目进入详情,点击添加应用按钮

图片36

2、输入软件信息,bundle id,程序名字、appstoreID
图片36

3、然后点击注册应用,下载google配置文件放置项目根目录。

图片36

4、接下的步骤可以一直点击到下一步,直到项目创建完成。

图片36

7.2 现有项目获取配置文件(iOS)

登录firbase 管理后台,选择现有项目—设置—常规—您的应用,找到对应应用,下载最新的配置文件。

图片36

八、AppsFlyer后台应用配置

8.1 获取AppsFlyer的DevKey

在浏览器中打开appsflyer管理后台找到配置-应用配置-SDK验证下的Dev key(同一个账号下,所有应用的Dev key是相同的)

WechatIMG774

九、AbMob后台应用配置

参考 AdMob后台配置

第三方后台配置—Android版(bak20240708)

wapublisher No Comments

1.Google后台应用配置

google控制台地址:https://console.developers.google.com

1.0 Google后台公共配置

Google后台首先需要做一些公共配置,大致流程如下:

图片1
上图中的所涉及到的流程在后续章节中都有详细指引。

1.1 Google API控制台公共项目配置:

简要流程:
1.API控制台创建一个公共项目用于Play 控制台关联(如果已经有关联的项目则不需要再创建,一个主开发者帐号只能关联一个项目)
2.Play控制台关联API控制台的公共项目
3.API控制台中在公共项目中创建服务者账号,下载P12证书文件
4.Play控制台中为服务者帐号开放权限,目前只需要查看财务权限
5.将P12证书文件和服务者帐号保存至WA后台

1.1.1 API 控制台创建新的公共项目

打开Google API控制台,创建一个新的控制台项目

注意:如果使用现有的公共项目(Google Play Console已关联的项目),可以不新建。

图片2
点击”新建项目”
图片3
在”新建项目页面”输入项目名称,点击“创建”新建即可完成新项目创建

图片4

项目名称需要保存记录,对应windsdk后台中,添加google支付平台的需要填写的应用名称栏目

1.1.2 控制台关联公共项目

打开Google Play开发者控制台,在设置->API权限->关联项目中,关联前面创建的公共项目。如果已关联,则下一步在已关联的项目中创建“服务者账号”即可。:

图片6


1.2.API控制台创建服务账号(Service account key)*

服务帐号是SDK后台验证支付订单时候使用,运营人员需要将服务帐号和证书保存至SDK后台。SDK后台的操作请参考《WINGSDK后台基础设置》 。不同的应用,不要使用相同的服务帐号。

打开Google API控制台,选择公共项目,进入项目“API和服务”中的“凭据”页面

图片7

在“凭据”页面,点击“创建凭据”,选择“服务账号”

图片7

进入“创建服务账号”页面,第一步填入“服务账号名称”

图片2

第二步选择服务账号“角色”,分配“Editor”角色,然后点击“继续”

图片2

第三步中直接点击“完成”即可
图片2

接下来在公共项目的“凭据”中“服务账号”列表找到刚创建的“服务账号”

图片2

点击进入该“服务账号”的编辑界面,选中“密钥”标签,点击“添加密钥”并选择“创建新密钥”

图片2

在弹出框中选择“P12”类型私钥,点击“创建”

图片2

点击“创建”后,浏览器会自动下载“P12”私钥文件

图片2

“P12″私钥文件需要妥善保管,在WingSDK后台中添加Google支付平台时会要求上传该文件。

1.1.4 Play控制台“服务账号”权限配置

创建“服务账号”完毕后,在Google Play控制台,设置->API权限的页面的“服务账号”列表中,可以找到新创建的“服务账号”查看并修改权限

图片2

选中“账号权限”标签,只勾选“查看财务”权限即可

图片2

选中“应用权限”标签,添加该“服务账号”对应的游戏,点击“应用”

图片2

在弹出框中确认已勾选“查询财务数据”权限,点击“应用”完成添加

图片2

完成“应用权限”和“账号权限”配置后,点击“邀请用户”发送邀请

图片2

之后可以在“用户和权限”中看到该“服务账号”,并且状态是“有效”

图片12

进行完上述操作之后,将“服务帐号”(即邮箱)和“P12”私钥文件保存至WA后台即可。

1.3 Google API控制台游戏项目配置

简要流程:
1.创建专用于游戏的新项目
2.在游戏项目中新建Web类型ClientID,用于WA后台Google登录配置
3.在游戏项目中新建Android类型ClientID,需要研发提供包名(PackageName)和应用签名jks文件的SHA-1信息

1.3.1 创建专用于游戏的新项目

同上面公共项目创建一样,新建一个专用于游戏的项目

图片2

图片2

1.3.2 启用Google+ API

在游戏项目中,选择进入“API和服务”中的“已启用的API和服务

图片2

在“已启用的API和服务”界面,选择“+启用API和服务”,进入“API库”界面

图片2

在“API库”中,搜索“Google+”,选择并进入“Google+ API”

图片2

图片2
在“Google+ API”产品详情页面中,点击“启用”

图片2

1.3.3 同意屏幕配置

在添加OAuth Client ID之前,必须先完成“同意屏幕”配置。“同意屏幕”会影响用户授权是看到的界面,如下:

图片2

图片2
首先在前面新建的专用于游戏的“项目”中,进入“同意屏幕”界面,操作如下

图片2

在“同意屏幕”配置界面,UserType选择“外部”,然后点击“创建”

图片2

第一步,填入“应用名称”和“用户支持电子邮件”,以及“开发者联系信息”,这几项都是必填项目。

其中“应用名称”将会是用户授权登陆时看到的应用名称,其他可选项根据实际情况决定是否填写,下面是可选项的影响及要求:

1.应用的徽标和名称:建议使用徽标,但不强制要求使用
2.用户可以用来与您联系的电子邮件地址以及范围列表:范围是您的应用对访问用户的 Google 帐号以及会共享哪些数据的具体请求。您将在下一步中添加范围。
3.指向应用隐私权政策和服务条款的链接

此部分内应包含:

一个描述用户可以如何管理对其 Google 帐号的访问权限的句子
一个指向 Google 文章的链接,其中介绍了 Google 如何帮助用户安全地共享其数据

图片2
图片2

第二步数据访问“范围”配置,这一步无需处理,直接下一步即可

图片2

第三步“测试用户”配置,这一步也无需配置,直接下一步

图片2

第四步“摘要”,到这一步已经完成“同意屏幕”配置,可以在“摘要”界面审查自己的配置,也可以直接返回。

图片2

正确配置完成OAuth同意屏幕后,“发布状态”默认是“测试版”状态。确保之前的配置无误后,还需点击“发布应用”,把“发布状态”改为“正式版”。

图片1

如果没有填写需要验证的项,可以无需验证直接发布到“正式版”,如下图“发布应用确认弹窗”点击“确认”即可完成发布。

图片2

图片3
如果是无需验证的,可以忽略以下验证过程的文章内容。
有需要验证的项的改动,则需要按照提示完成Google验证,例如添加了“应用徽标”点击“发布应用”,则是弹出下面提示框
图片4

点击“确认”后状态已是“正式版”,但是需要完成验证,点击“执行验证准备工作”
图片5

确认“OAuth同意屏幕”信息,“应用首页”和“应用隐私权政策链接”,属于必填项,填写之后还需要把这两个链接的域名加到“已获授权的网域”,点击“保存并继续”。
注意:“已获授权的网域”需要转到 Google Search Console(https://search.google.com/search-console/welcome) 来检查您的网域是否已经过授权,如何获得授权在Google Search Console也有描述和指引。

图片6

然后是确认“范围”,点击“保存并继续”
图片9

“可选信息”中,为了确保审核通过,尽量补充完善可选内容。另外按照之前提示框的提示,提供YouTube视频,展示如何使用从范围中获取的Google用户数据;还有一份书面说明,告知访问敏感数据和受限用户的原因

图片10

最后勾选声明,点击“提交以进行验证”完成提交。敏感范围验证最多需要10天才能完成,受限范围需要数周时间,其他图标,主页,隐私政策通常需要2-3天。

图片11


1.3.4 创建Web类型OAuth Client ID

进入游戏“项目”的“凭据”界面,点击“创建凭据”选择“OAuth客户端ID”

图片2

在“应用类型”中选择“Web应用”类型

图片2

填写“名称”,然后点击“创建”即可完成创建

图片2

在创建完成提示界面中,可以直接 复制刚创建的“Web客户端ID”保存,后续将需要提供给研发和WA后台Google登录配置。

图片2

1.3.5 创建Android类型OAuth Client ID

跟创建Web应用“OAuth 客户端 ID”类似,在游戏“项目”的“凭据”界面中创建“OAuth客户端ID”,但是类型选择“Android”

图片2

填写“名称”,“包名”,“SHA-1证书指纹”,其中“包名”和“SHA-1”都由研发提供,获取指引如下:
包名:Android项目的applicationId,在“应用层级”的build.gradle文件中的android->defaultConfig->applicationId找到,具体参考下图

图片2

SHA-1证书指纹:首先需要研发创建游戏的“正式应用签名jks文件”,然后使用下方命令输出“SHA-1证书指纹”信息,输出结果参考下图
命令:keytool -keystore path-to-debug-or-production-keystore -list -v

图片2

图片2

创建完成之后,一般“隔天”会生效,生效后就可以正常进行Google登录

图片2

1.4 Play控制台更改应用签名密钥

为了确保由研发生成的“正式应用签名jks文件”在GooglePlay中正常生效,需要在Play控制台更改应用签名密钥。

若Play未创建应用,可以参考章节 《GooglePlay创建应用》 进行创建。

Play控制台中选择游戏应用,在“内部测试”轨道中选择“创建新的发布版本”或“修改发布版本”

图片2

不需要上传应用,直接点击“更改应用签名密钥”,在弹出的确认框中点击“使用其他密钥”

图片2

图片2

接着在“应用签名偏好设置”界面中,选择“从Java密钥库导出并上传密钥”,在这里按照指示完成“zip文件”上传,最后点击保存。具体指示说明参考下图

PEPK工具文件:下载pepk.jar

命令:

注意 java版本最好是11版本或以上,否则执行会出错

图片2

保存完成之后,可以在游戏应用的“设置”->“应用完整性”中找到Play中已生效的“SHA-1”信息,把这个跟前面研发提供的“SHA-1”进行比对,一致则说明配置正确,否则需要重新配置,同样是从“内部测试”的“更改应用签名密钥”开始。

图片2

1.5 Google Play创建应用

进入“所有应用”界面,点击右侧“创建应用”

图片10

按照要求填写或选择“应用名称”,“默认语言”,“应用或游戏”,“免费或付费”,并且勾选同意“开发者计划政策”和“美国出口法律”。
免费或付费:免费指下载免费,付费指付费才能下载

图片11

1.6 Google Play添加应用内商品

添加应用内商品前,按要求需要先上传有BILLING 权限(接入WingSDK的Google模块默认带有该权限)的应用包,建议在“内部测试”完成上传,上传应用包即可达成条件,无需发布。

图片2

单个商品创建

在游戏应用的“应用内商品”界面,可以“创建商品”
图片2

按照提示填写完成对应项,最后点击“保存”,其中“设置价格”和“税费和法规遵从设置”界面如下图
注意:商品ID是唯一的,即使被删除后也依然占用原ID。

图片2

图片2

图片2

保存之后,商品默认是“无效”状态,需要点击“启动”改为“有效”状态

图片2

“启用”商品之后,在应用内对应商品详情界面,可以进行停用及删除

图片2

批量导入商品

GooglePlay后台目前支持批量导入,因为csv模板可能会变更,所以建议先创建一个商品,再导出,根据导出的最新csv模板样式,添加商品,再保存csv文件上传导入。

同样是在“应用内商品”界面,先根据上一步操作创建一个商品,然后点击“创建商品”旁边的选项“图标”,选择“导出”

图片2

导出的商品csv文件内容如下图,再参考已有的导出商品,按照相同方式补充完剩下的商品,保存商品csv文件

图片2

同样是“应用内商品”界面,点击选项“图标”,选择“导入”

图片2

导入最新的商品csv文件。注意:批量导入,如果csv商品文件中包含已有商品则会修改对应商品内容。

图片2

导入完成之后就可以在列表中看到所有已导入的商品

注意:如果文件内容中有中文,那么csv文件可能存在乱码问题,如果有这种情况,需要把csv的编码改为utf-8,确认中文字符正常,再保存上传。

 
 

1.7 添加Google Play测试用户

在应用未正式发布前,Google支付可以在Google Play添加测试用户才能进行沙盒测试。

详细的GooglePlay应用测试说明和方法可参考下方官方文档:
https://support.google.com/googleplay/android-developer/answer/9845334

“封闭式测试”和“内部测试”:
进入游戏应用的“内部测试”轨道(“封闭式测试”也相似),在“测试用户数量”标签中,如果勾选“已有测试列表”,如果没有则“创建电子邮件列表”再勾选(创建界面截图如下),然后保存。保存之后可以复制“测试邀请链接”,发给测试人员,注意要发布过版本才会有“测试邀请链接”

图片2

图片2

测试人员在浏览器上登录被邀请的Google账号,然后打开“测试邀请链接”,点击“接受邀请”

图片2

“接收邀请”之后,测试人员根据指示下载测试版应用安装测试

图片2

 
 

1.8.添加Google Game Service支持

在开发者管理者控制台左侧菜单打开“游戏服务”菜单,在列表中选中需要新建成就的游戏服务。

图片27

如看不到Play 游戏服务,则在顶部搜索栏中搜索”Play游戏服务设置”,然后选中
图片27

选中“是,我的游戏已经使用了Google API”,此时在下方选择要关联的项目。选择项目,下一步即可完成创建。(如没有创建Google API项目,则参考 1.3.子项目中配置应用的OAuth Client Id* 流程先创建子项目)

图片28

在游戏服务中添加新游戏之后自动生成了Google Game Service App Id,此值需提供给开发人员,如下图所示:

图片28

如提示配置OAuth同意屏幕,按照要求操作同意接口,同意完后,点击添加凭证,选择Android类型,输入名称等基本信息,选择OAuth客户端即可,然后保存。(默认情况下选择OAuth客户端只有一个,如若多个,可以选择后,查看包名和指纹是否和应用的一致进行确认)

图片6

创建完游戏服务之后就可以创建成就和排行榜了,创建完的游戏服务,必须要发布才能够使用。

在goolge应用控制台为某一个应用添加Google Game Service成就,请参考以下官方文档:
https://developers.google.com/games/services/common/concepts/achievements
 
在左侧菜单选择“成就”,点击页面“添加成就”可以添加新的成就。

图片28

1.9.Google 促销商品配置

参考地址:https://developer.android.com/google/play/billing/promo
登录Google Play后台,选择对应应用进入详情,选择获利—产品—促销代码,点击创建促销代码

图片36

输入 促销活动名称、开始时间、结束时间,促销类型选择应用内商品,然后选择需要参与促销的商品,输入促销代码数量,保存即可。

图片36

当到达输入当开始日期时间后,促销码就可以使用。在您的应用中:用户可以点击 Google Play 购买屏幕中付款方式旁边的向下箭头,然后点击兑换链接以输入代码,由此发起购买交易

图片36

选择兑换代码,输入对应兑换代码
图片36

注:创建促销商品的商品id为google_001,在应用内兑换时,需要点击相对应的商品(对应google商品id为google_001)弹出支付界面,然后输入兑换码才能正常兑换。

另外,也可在 Play商店-账号信息-付款与订阅-兑换代码,然后点击兑换代码进行兑换(预注册奖励也可使用此方式测试)

69F23255C7F76711D90C33F3613C701D

197237B259B014FAB5F19B4A37E0CF04

39C0572ED38C0E13893AA9066FB7FA19

BA4A3D184552C77DE97631C56B3BA921

AB432970EF1F97A2B4A97B05FC53F2AC

5A17CC07EE19116B87EBE81F3A3EA432

 
 

1.10.Google Play 签名密钥

如果已经成功执行《Play控制台更应用签名密钥》 章节,本章节可以忽略。若需要更详细了解Google Play密钥,或者需要升级密钥,可以查看本章内容。

Google Play控制台的签名密钥有两种,一种是应用签名密钥,一种是上传签名密钥,他们对应的实体文件是keystore/jks文件。

上传签名密钥:上传Google Play 的aab或apk包必须使用该签名秘钥进行签名,不能使用证书指纹不一致的应用签名秘钥或者其他签名秘钥,否则会提示签名错误,无法上传。该签名密钥用于Google Play验证上传的应用包的合法性。

应用签名密钥:是应用最终所使用的签名密钥。虽然上传Play的应用包使用的是上传签名秘钥签名,但是正式上架对外时,Google Play会抹去原来的签名,并使用应用签名秘钥签名。

为了方便管理,建议“应用签名密钥”和“上传签名密钥”使用相同的签名密钥jks文件
说明:使用下面步骤,不包含“上传签名密钥”的配置,因为Google不允许两个签名一致,但是“更改签名密钥”时不进行“创建新的上传密钥”即可让两个签名保持一致。

1.10.1.上传自己的签名密钥

创建应用版本会默认加入Google签名计划,该计划实际内容是:由Google自行创建签名密钥,并保存在谷歌服务器,无法访问和下载,最终向用户分发应用时再由Google进行签名。默认方式的签名密钥文件不可访问,无法控制,不利于管理签名密钥文件和调试测试,所以建议上传自己的签名密钥。

注意:这一步,是应用未正式上架时可以重复操作修改的,但是正式上架后不可用再从这里修改,需要参考下一章节执行“升级密钥”操作才可更改。

具体操作同《Play控制台更改应用签名密钥》一致,最终验证“应用签名密钥证书”和“上传密钥证书”保持一致即说明配置正确。

1.10.2.验证签名密钥配置

1.研发在命令终端通过输入keytool命令获取签名密钥jks文件的证书指纹。
命令:keytool -list -v -alias ALIAS_NAME -keystore KEYSTORE_PATH

图片_20230307160725(1)

2.在Google Play控制台的,设置->应用完整性,中找到当前生效的密钥证书信息

图片2

1.10.3.升级应用签名密钥

适用对象:已上架,并且之前执行过《Play控制台更应用签名密钥》 章节,把默认的Google生成签名改为自己签名文件的应用

不适用对象:
1.未上架的应用,无需升级也可在“内部测试”或任意轨道版本中选择“更改应用签名密钥”进行更改
2.已上架,但是之前默认由Google生成签名的应用(未执行过《Play控制台更应用签名密钥》 章节),界面参考下图

使用“Google生成的签名”的应用,会没有“请求升级密钥”按钮

图片2

升级注意:“请求升级密钥”操作,一年只有一次机会,无法撤销,请谨慎操作

同样是“应用完整性”页面,在“应用签名”标签里面找到“请求升级密钥”按钮,并点击

图片2

在弹出框中,【关键】首先展开“隐藏选项”,选择“所有Android版本的所有安装”选项 。然后升级方式选择“从Java密钥库上传新的应用签名密钥”

图片2

按照“从Java密钥库上传新的应用签名密钥”的指示,下载PEPK文件给研发使用,研发使用指示命令生成zip文件,其中命令的黑体参数需要替换为本地对应参数,具体参考如下,最后完成“上传zip文件”,选择“升级原因”,点击“升级”。

foo.keystore:新的应用签名密钥jks文件
foo:foo.keystore文件使用的别名
upload.keystore:原应用签名密钥jks文件
upload-key-alias:upload.keystore文件使用的别名

注意:若upload.keystore使用的不是原应用签名密钥jks文件,会升级失败

图片2

在弹出框中确认升级影响目标必须是“所有Android版本上的新安装”,若不是则需要修改前面“隐藏选项”的选择。
确认升级影响目标正确后,点击“确认”完成升级。

图片2

升级之后可以在“应用完整性”的“应用签名”标签中,确认最新生效的“证书指纹”信息,也可以查看“曾用密钥”的证书指纹信息。另外升级后“请求升级密钥”按钮变为不可用状态,并且旁边会有显示上一次的升级日期

图片2

更多内容可以查看Google文档了解:
https://support.google.com/googleplay/android-developer/answer/9842756

1.10.4.应用签名密钥变更后续配置

无论是“上传自己的签名密钥”或者“升级应用签名密钥”,都会影响应用的验证,比如Google登录,Facebook登录等三方功能,所以修改后确认同步修改对应平台相关内容。

  • 如果是未上架应用“上传自己的应用签名密钥”,更改原有对应配置即可。
  • 如果是已上架应用“升级应用签名密钥”,为了保证旧的“应用签名密钥”用户也可以暂时使用,保留“原应用签名密钥”证书指纹相关配置,并添加新的“新应用签名密钥”证书指纹相关配置。

下面罗列一些平台需要用到签名信息的相关配置指南:

Google:Google Cloud Platform(https://console.cloud.google.com/)控制台,API和服务 -> 凭据中,添加Android类型的OAuth 2.0 客户端 ID,输入包名和新的应用签名的SHA-1证书指纹。子项目中配置应用的OAuth Client Id

Facebook:Facebook登录的“密钥散列”与应用签名有关,需要添加新的“密钥散列”。
添加签名密钥散列

Fireabse:关联应用有用到应用签名的SHA-1和SHA-256证书指纹,需要添加
手动关联GooglePlay应用

Huawei:华为应用需要配置证书指纹。
生成签名证书指纹

1.10.3.4 签名密钥常见问题

1.打包的时候该使用哪个签名密钥?
上传签名密钥,只有在给需要上传到Google Play任意轨道(测试或正式等)的应用包打包时使用。
其他任意时候,比如想在本地运行调试,或者本地打包测试,只要不需要上传到Google Play的,都使用应用签名密钥进行打包。

2.MD5,SHA-1,SHA-256这些证书指纹该用哪个签名密钥的?
上传签名密钥只有在上传Google Play任意轨道时候打包应用包时使用,其他任何情况都以应用签名密钥为准。所以给Google,Firebase,Facebook,Huawei等平台提供的SHA-1,SHA-256证书指纹都需要使用应用签名密钥的证书指纹。

3.什么是keystore/jks文件,怎么生成的?
二者是同一个东西,都是Android签名密钥文件,用来打包Android应用的,当前常用的是jks文件。该文件用于确保应用的唯一性及合法性,非常重要,请务必保管好该文件及相关的密码,并确保不会泄漏。
虽然可以使用JDK的keytool工具生成这两种文件,但常用的方式是开发者使用Android Studio生成jks文件,而keystore文件一般使用Eclipse生成。

4.Google Play上的应用签名密钥keystore/jks文件找不到了,能否重新生成一个跟上面相同证书指纹的签名密钥文件?如果不能又该如何处理?
不能生成指定证书指纹的签名密钥文件。Google Play上也无法下载签名密钥文件。
处理方法:
1)上传应用到任意轨道(正式或测试),从Play Store的应用页面下载应用,上面下载的应用都会使用应用签名密钥打包签名过。
2)如果想自己重新掌握keystore/jks文件,并且Play控制台中该应用未升级过应用签名密钥(每个应用只有一次升级机会),可以进行密钥升级,更换为新的keystore/jks文件信息。升级的时候务必选择“上传自己的签名密钥”,不要选择默认的“由Google Play生成。。。”,升级成功后也务必对一些平台上的配置做出相依的配置改动,否则会影响这些平台的API使用,如Google登录,Facebook登录等,具体升级请参考“升级应用签名密钥”章节操作。

5.应用打包运行之后的签名密钥,和Play上的应用签名密钥不一致会有什么后果?
通常会影响所有配置了与应用签名密钥有关信息的平台API。比如Google的Android类型OAuth ClientID使用了SHA-1,会影响谷歌登录,导致谷歌登录直接返回取消。Facebook使用的散列秘钥,影响Facebook登录。其他的还有Firebase的应用关联,Huawei的应用配置。

 

1.11Google Play 发布应用

准备应用包:
使用上传签名密钥打包签名好应用包apk或aab。若使用应用签名密钥或其他签名密钥,会提示错误。关于签名密钥可以参考上一章节说明。
注意:推荐aab,2021年8份起新应用必须使用aab包发布应用。Play发布的apk大小限制为100MB,aab大小限制为150MB,若超出大小限制,apk包需要使用APK拓展文件obb功能,aab需要使用Play Asset Delivery功能,对应用或游戏资源进行配置,才能上传成功。

登录Google Play 控制台,选择并进入需要发布的应用。

1.选择发布的版本,根据需要可以选择内部测试,封闭测试,开放性测试,正式版。
2、若是测试轨道,可以选择测试人员并保存

图片36

3.若是开放性测试,或正式版,需要设置发布的国家。

图片36

4.创建新版本,上传应用包,保存。若之前已上传过该应用包,可以直接从内容库中选择。保存之后,点击检查发布版本。

图片36

图片36

5.在检查发布版本页面,查看所有错误警告消息,若是错误,必须按照指引完成修改。完成所有错误的修改后,回到该页面,点击 开始发布,即可完成操作,等谷歌审核通过后,即是正式完成发布。

图片36

其他说明:发布前错误提示,信息中心需要完成步骤,主要是设置应用部分,按照指引完成任务即可。

图片36

 

1.12.Google广告ID声明设置

选择应用》应用内容》广告 ID进入声明设置
图片36

使用广告ID项选择 “是”,使用方式选择,“分析”,“广告或营销”,点击保存。
图片36

1.13.Google Cloud后台Appsflyer卸载检测配置

1.13.1.创建 AppsFlyer uninstalls角色

进入Google Cloud后台 ,选择项目,IAM和管理,选择角色

WechatIMG603

点击创建角色

WechatIMG604

名称输入 AppsFlyer uninstalls
ID输入 af_uninstalls
角色发布阶段选择 正式版
然后点击添加权限

WechatIMG605

过滤条件输入 cloudmessaging.messages.create

WechatIMG607

WechatIMG608

选择cloudmessaging.messages.create权限,点击添加按钮。最后点击创建按钮。

WechatIMG609

1.13.2.将AppsFlyer指定为卸载角色

进入Google Cloud后台 ,选择IAM,点击授予访问权限

WechatIMG610

新的主账号输入:af-uninstalls-tracking@af-uninstalls-tracking.iam.gserviceaccount.com
角色选择   :AppsFlyer uninstalls

WechatIMG611

WechatIMG612

然后保存,完成Google Cloud后台Appsflyer卸载检测配置操作。

2.Facebook第三方后台配置


2.1 Facebook基础配置

Facebook控制台地址:https://developers.facebook.com/

2.1.1 创建Facebook应用

一共有五种可选的应用类型:公司、游戏、小游戏、消费者或无。当您选择应用类型后,系统会为应用提供仅适用于该应用类型的产品(如登录,分析等产品)、权限(访问用户生日性别照片等数据权限)和功能,精简应用创建流程。
1、公司类型适用于可帮助公司和组织管理公共主页、小组、活动、广告以及和广告相关素材的应用。
2、游戏类型适用于可以在 Facebook 开放平台上游玩的游戏应用。
3、小游戏类型适用于可以在 Facebook 开放平台上游玩的游戏应用。
4、消费者类型适用于整合 Facebook 登录等消费者相关产品以便为用户提供更多帐户关联体验的应用程式。
根据说明,上面的“游戏类型”是适用Facebook游戏平台上的游戏。我们推荐创建应用类型时,选择“消费者”类型,该类型包含Facebook登录,分析,应用事件,应用链接,Instagram基本显示API,分享,社交等常用的产品。
想了解所有应用类型对应可使用的产品、权限和功能,可以查看Facebook官方文档: https://developers.facebook.com/docs/apps/app-types/

进入应用控制台,点击“创建应用”。
图片1

点选择用途“打造关联体验”(对应消费者应用类型),点击“继续”。

图片1

填写“应用显示名”,和“应用联系邮箱”,点击“创建应用”。
图片1

“创建应用”完成以后会立即进入到该应用的控制台页面。
图片1

移除应用类型

如果选择应用类型之后,在产品添加中没有找到自己需要的产品,或者当前应用类型提供的权限或功能无法满足需求,可以移除该应用的应用类型,或者重新创建新的应用类型的应用。移除应用类型之后,就是无指定类型的应用了,可以选择添加任何产品和申请任意权限及功能。
注意:移除类型后是无法再次指定应用类型的。

下面介绍如何移除应用类型:
进入目标应用控制台页面,点击“产品 +”,往下滑,找到“想找其他产品和权限?”卡片,点击“移除应用类型”按钮。

图片1
输入该账号的密码,点击“提交”

图片1

操作完成之后,在应用控制台中可以看到,已经不再显示应用类型了,并且可添加产品中,显示了所有的产品,权限页面也可以看到显示所有权限。

图片1

2.1.2 添加产品

创建完应用编号后,需要添加产品。点击左侧菜单栏中的“产品+”按钮,找到所需的产品,点击该产品卡片的“设置”按钮进行添加。(接下来以必接的登录功能为示例,另外在这里只需要对产品进行设置,所以会忽略其他非设置步骤)。

图片1


2.1.3 设置项目信息

点击“设置”进入产品添加的向导(菜单栏“快速启动”方式设置),选择添加的产品支持的平台(此处以Android平台为例)

图片5

图:选择产品支持的平台

选择平台后,进入平台的设置页面,在这个页面可以在上面的tab中切换不同的平台进行设置,第1、2步是SDK集成,由开发人员完成,进入第三步设置项目信息。

输入应用包名,和默认活动类的完整路径(如果使用DeepLink功能,需要填入DeepLink功能响应的Activity类路径,否则可以填入首个启动的Activity,例如MainActivity即可),点击“Save”保存。

图片5

图:填写Android项目信息

点击保存,如果你的应用在Google Play没有上架,会弹出下图“Google Play包名校验遇到困难”的对话框,点击“使用此包名”即可。

图片5
图:Google Play包名验证出现困难


2.1.4 添加签名秘钥散列

签名秘钥散列需要开发技术同事协助获取,获取到的字符串是包含 28 个字符的唯一密钥散列,获取方式参考Facebook官方文档。将生成的秘钥散列添加到“秘钥散列”下面的文本框,如果测试环境和正式环境不一样的签名文件,这里可以添加多个。添加后点击“Save”保存。

具体操作过程可以参考以下任何一种方式,他们都是相同的指引,然后按指引生成“发布密钥散列”进行添加:
1.Facebook控制台 -> 产品 -> Facebook登录 -> 快速启动 -> Android平台 -> 添加开发和发布密钥散列
2.Facebook登录接入文档,第6节-为应用提供开发和发布密钥散列:
https://developers.facebook.com/docs/facebook-login/android#6

图片8

openssl-for-windows 下载路径
命令行:

图:添加签名秘钥散列

2.1.5 启用单点登录

根据需求,如果需要启用单点登录,打开单点登录,保存进入下一步。
图片9
图:启用单点登录

2.1.6 其他配置及提供参数信息给技术配置到工程项目中

在左侧菜单点开“设置->基本”,将应用编号(Facebook App id)提供给技术配置到项目中,如果需要礼物功能,需要将应用密钥(App Secret配置到SDK后台,关于礼物的配置参考后续章节。如果需要使用游戏邀请功能,必须在设置中设置应用的类别为“游戏”。
图片5

在“设置>高级>安全”中找到“客户端口令”,将该参数(ClientToken)提供给技术配置到项目中。

图片6

2.1.7 相关产品的配置修改

如果需要修改相关产品的配置,在左侧菜单中的“产品”中找到相应的产品,“设置”展示所有设置,“快速启动”是包含了向导的设置。
图片9
图:产品配置修改


2.2 Facebook添加开发者

添加步骤如下:
在Facebook控制台页面,在左侧“用户身份”菜单展开,下面有两个,“用户身份”和“测试用户”。“用户身份”是配置哪些用户拥有编辑和查看应用的权限;“测试用户”用来测试不同应用功能的临时性的 Facebook 帐户。

图片18
图:用户身份配置


图片18
图:测试用户

2.3 上线注意事项

切换到线上模式,必须提供“隐私权政策网址”和“数据删除信息”。
“隐私权政策网址”必须提供有效的地址,在Facebook登录页面和应用详情页面会显示该入口。
“数据删除信息”,Facebook为了符合通用数据保护条例 (GDPR),可获取用户数据的应用程序必须执行以下某项操作:
1.执行数据删除请求回调。
2.为用户提供含有明确说明的网址,介绍如何使用第三方网站或工具删除数据。第三方网站可能是应用程序隐私政策的相关部分。
用户在Facebook设置中移除应用时候,会有提醒用户移除数据的相关说明。
第一种方式需要按照官方文档要求提供接口给Facebook调用。我们建议选择第二种方式,提供数据删除说明地址,介绍如何删除数据。
图片18
图:切换线上模式提示框

图片18
图:选择 数据删除说明网址

图片18
图:选择 数据删除说明网址

3.VK后台应用配置

VK目前必接的功能包括登录,登出,显示用户名称以及头像,group和邀请。

3.1. VK基础配置

创建VK应用,创建地址如下(如果还没注册,需要先注册):https://new.vk.com/editapp?act=create
Android-VK基础配置

title中填入应用的名称, 点击Connect Application按钮,并按照提示创建应用。填写关键信息,主要是填写Information和Settings部分:
Android-VK基础配置

Android-VK基础配置

Android-VK基础配置

上图的SDK settings中安卓部分需要填写应用的包名和指纹,指纹的获取方式请参考1.1 配置应用程序证书指纹(去掉冒号),也可以参考:https://new.vk.com/dev/android_sdk,或者与开发人员联系获取。

获取vk app id提供给开发人员并且注意设置应用状态为可见
android-VK基础配置

3.2 应用提交审核

VK的邀请功能是对接VK渠道官方要求必须接入的,而邀请功能只能在审核通过的应用中使用,所以需要将配置好的应用提审。

这里需要注意的是:
VK的应用审核比较严格,首先必须是游戏应用,并且需要全部翻译成俄文,不能是demo,有人工审核。
如果需要测试邀请,原则需要审核过的应用,在应用审核通过之前,使用apps.sendRequest接口,type为request来测试,测试者需要双方是好友,都是管理员并且都已经安装过该应用。
对接VK邀请功能业务流程图如下:
vk上线流程图

控制台提审大致步骤如下:
Android-VK基础配置

Android-VK基础配置

4.Firebase后台配置

在Firebase后台配置后,会得到两个文件,一个是google-services.json,需要给研发配置到游戏中去;另一个是Firebase服务器秘钥,需要配置到SDK后台

4.1 添加项目

在浏览器中打开Firebase控制台点击添加已经在Google API存在的项目

图片9

点击输入项目名称输入框时,会弹出已经存在Google Api的项目列表,选择对应项目并继续

图片3

图片4

图片6

选择配置Google Analytics账号,点击添加Firebase按钮

图片7

图片8

点击继续,则项目创建完成。

4.2 新建应用

进入项目,点击对应应用类型

图片6

输入软件包名、应用名、SHA-1指纹,点击注册应用

图片6

注册应用,进入下一步,下载google-services.json。将下载的配置文件复制到项目模块文件夹,通常为 app/。

图片6

google-services.json文件可以随时重新下载,可以在设置,常规,选中项目后,下载某个项目的google-services.json文件,如果包名改变,或者其他配置更新,则需要重新下载google-services.json文件,然后更新到项目中去。

图片6

4.3 获取Firebase服务器秘钥 (消息推送使用)

在项目详情左侧菜单中点击“设置按钮”进入“项目设置”页面,选中“云消息传递标签”,目前使用的新版 Firebase Cloud Messaging API(V1),

WechatIMG595

如未开启,需要额外开启,点击“选项”图标

跳转到Google Cloud页面的 Cloud Messaging 产品详情,点击“启动”

3-云消息密钥-2

“启动”完成后,回到Firebase的云消息传递页面,刷新后就会显示,Firebase Cloud Messaging API(V1)已是“已启用”状态。

选择服务账号-Firebase Admin SDK,如未创建服务账号,展示效果如下:

WechatIMG597

点击创建服务账号按钮,成功后,展示效果如下:
WechatIMG598

点击生成新的私钥按钮,弹出提示框,点击生成密钥,然后会下载对应的密钥json文件,保存,后续android推送配置上传密钥时,会使用。

WechatIMG598

WechatIMG599

4.4 将Google Play链接到Firebase

前提条件:
所关联的应用,必须在GooglePlay中已经创建,并上传过对应包名的应用包,否则无法关联。
说明:
1.必须链接到Google Play才能查看Android应用的in_app_purchase和订阅事件。
2.需要使用主账号关联

1.在Firebase控制台项目中,点击“项目概览”的选项图标,选择“项目设置”
2.在“项目设置”页面选中“集成”选项卡,在里面找到“Google Play”,点击“关联”

4-关联Play-0

3.“关联GooglePlay”页面,在第一步中点击“下一部分”

4-关联Play-1

4、在第二步勾选“共享应用购买和订阅收入数据”,勾选后可以查看“已选择应用”,如果还没创建应用,可以先创建再关联。最后点击“关联到Google Play”

4-关联Play-2

手动关联Google Play应用

已关联Google Play账号的的项目,如若Firebase继续添加应用,则需要手动关联新的Google Play应用。

同样是在“关联Google Play”界面,在“已关联应用”中,可以勾选未被关联的应用点击“保存”进行关联,
关联的应用同样必须在Play中已创建并有上传对应包名的应用包。

4-关联Play-4

然后需要重新下载最新的google-services.json配置文件,给到研发进行更新

4.5 Firebase 分析调试

参考:https://firebase.google.com/docs/analytics/debugview?authuser=0
要在 Android 设备上启用 Analytics“调试”模式,请执行以下命令:

例如:adb shell setprop debug.firebase.analytics.app com.ghw.sdk2

“调试”模式将保持启用状态,直至您通过执行以下命令明确停用“调试”模式:

开启调试后,打开管理后台,选择项目–分析–DebugView,能够看到目前正在调试的设备,以及上传的事件。

图片36

注意:为了防止测试和开发影响测量值,在调试模式下记录的事件将从总体 Analytics 数据中排除,并且不会包含在每日 BigQuery 导出报告中。

4.6 获取 Firebase Project ID

1.进入FCM Console(FCM控制台)
2.选择一个项目。
3.进入Project Overview(项目总览)> Project settings(项目设置)。

图片12

4.复制Project ID,即为Firebase 的Project ID

5.Twitter后台配置

5.1 Twitter后台应用配置

注册一个Twitter账号,打开Twitter开发者页面,如果您的Twitter账号不是开发者账号,还需要将Twitter账号注册成为开发者账号。进入My Apps页面,可管理应用。如果还没有应用,点击“Create New App”进入创建应用界面,填写相关信息新建应用。
Twitter-后台配置
新建应用后,点击应用列表中的应用,可以查看应用的详情。
Twitter-后台配置
点开“Keys and Access Tokens”标签可以看到ConsumerKey和ConsumerSecret
Twitter-后台配置

5.2 WINGSDK后台应用配置

将Twitter中新建应用的consumeKey和ConsumeSecret配置到WINGSDK后台。选中应用→设置→登录平台→添加Twitter登录平台,在“平台应用ID”中填写consumeKey,在“公钥”中填写consumeSecret。
Twitter-后台配置

6.Instagram后台配置

打开Instagram开发者页面,注册账号并登陆。点击“Manage Clients”标签打开应用列表,点击“Register a New Client”新建一个客户端。
Instagram-后台配置
在新建客户端的页面填写相关信息提交即可完成创建。
Instagram-后台配置
回到“Manage Clients”页面,点击刚刚新建的客户端可以查看详情,在这里可以看到Client ID和Client Secret。
Instagram-后台配置
新建的客户端的状态是“Sandbox”,在这种状态下,所有参与测试的人员都需要添加到“Sandbox”才能参与测试,添加用户到“Sandbox”的方法如下:打开“Sandbox”标签页面,输入邀请的用户名,用户名不是邮箱,一般用户名是注册邮箱@符号的前部分。注意,添加后一定要保存才能生效。保存后通知被邀请人接受邀请,可在“Sandbox Invites”看到邀请记录,接受邀请后的用户可以测试登录。
Instagram-后台配置
应用如果完成了测试要准备上线,需要将应用发布为正式状态,在“permissions”标签下,点击“Start a submission”进行权限申请。
Instagram-后台配置
在下一步选择“My app allows people to login with Instagram and share their own content.”,填写相关信息,这一步需要一个视频演示链接,完成提交后等待审核即可。
Instagram-后台配置

7.智能客服 AIHelp后台配置

AiHelp官方支持地址:
https://aihelp.net/elva/FAQ/FAQList.aspx?l=zh_CN&SectionID=0&pf_app_id=5

AiHelp 官方后台配置文档地址(页面内有下载链接介绍文档pdf):
https://aihelp.net/elva/FAQ/FAQList.aspx?SectionID=3392&LanguageID=5&pf_app_id=5&kmContentId=122760

已下是常用功能配置说明,需更多更详细请到官方下载最新pdf文档

7.1.新建应用

7.1.1 左侧“设置”-> “应用”-> “+”如下图位置

WechatIMG548
弹出界面,输入应用名称,点击“Add”完成新建 如下图
WechatIMG549

7.1.2 选择新建应用,如下图操作

WechatIMG550

选择中刚刚新建应用,会切换到应用下内容。

7.2.获取参数

如果不在需要app下,需按照 7.1.2 切换app
左侧“设置”-> “应用”-> “+”如下图位置

WechatIMG551

7.3.添加语言

设置语言后app应用Aihelp部分功能支持多语言。
左侧“设置”-> “语言”-> “添加语言”如下图位置
WechatIMG552
点击设置后,弹出语言列表,可以增加需要语言
WechatIMG553

7.4.配置FAQ

此功能配置是在app 应用中FAQ相关功能

7.4.1.新建FAQ分类

左侧“机器人”->“常见问题”-> “[分类]”-> “新增分类+” 如下图位置
WechatIMG554

弹出新增页面,输入名称和顺序编号后保存

WechatIMG556

WechatIMG555

分类列表会出现新建分类,左侧栏也会出现对应分类

7.4.2编辑FAQ分类

在分类列表中,点击如下图按钮
WechatIMG558

弹出详情页面,可做对应修改。其中中文,英文对应aihelp sdk显示的语言内容。

WechatIMG557

7.4.3.新建FAQ

在左侧栏选择FAQ分类->“新增FAQ”,如下图
WechatIMG559

弹出新增页面

WechatIMG560

7.4.4.编辑FAQ

在FAQ列表中,点击如下图按钮

WechatIMG562

弹出详情页面,其中语言对应aihelp sdk显示的语言内容。

WechatIMG563

7.4.5.发布FAQ

如,在热门问题分类下,创建了一个信息,然后发布流程
左侧“机器人”-> “常见问题”-> “发布” 如下图位置

WechatIMG564

7.5.配置运营模块Tab

此功能是app应用中运营界面功能

7.5.1.新建Tab

左侧“运营支持”-> “运营模块”-> “[Tab设置]”-> “新增Tab” 如下图位置
WechatIMG566

弹出新增页面

WechatIMG567

7.5.2.编辑Tab

左侧“运营支持”-> “运营模块”-> “[Tab设置]”-> 编辑,如下图

WechatIMG568

7.5.3.新建文章

左侧“运营支持”-> “运营模块”-> “[Tab列表]”,选择刚才创建的tab1,点击新建,如下图
WechatIMG569

弹出新增页面

WechatIMG570

7.5.4.编辑文章

在文章列表中,点击如下按钮
WechatIMG571

弹出详情页面,其中语言对应aihelp sdk显示的语言内容。

WechatIMG572

7.5.5.发布Tab

Tab要在app应用中显示需要发布,每次修改都需要发布。
左部“运营支撑”-> “运营模块”-> 需要发布的Tab -> “发布” 如下图位置
选择平台、语言后发布

WechatIMG573
发布后,效果图如下
WechatIMG575

7.6 自定义SDK配置

7.6.1 展示头像配置

WechatIMG575

7.6.2 APP对外名称配置

WechatIMG575

7.6.3 设置横竖屏

WechatIMG945

7.6.4 更多其他配置

另外还包含欢迎语设置,主题设置等等功能。
详情请参考:
https://aihelp.net/FAQ/#/AIhelp%20Support/app/zh_CN/EB5AE263D8AB85A4/35E3B9E6396692FE/396CD31FF6A33A5D

8.华为HMS后台配置


8.1 基本流程

1、登录流程
WechatIMG575

参考:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/dev-process-0000001050443773
2、支付流程
WechatIMG575
参考:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/dev-process-0000001050033070

8.2 配置AppGallery Connect

1)注册成为开发者
2)在 AppGallery Connect创建项目、创建应用
A、 如果没有项目,则创建项目,我的项目—添加项目,输入项目名称,确认,则项目创建成功。
WechatIMG575

WechatIMG575
点击确定完成后,点击添加应用,跳转添加应用界面
WechatIMG575

WechatIMG575

注:需要集成支付能力,包名后缀必须为.HUAWEI或者.huawei

B、如果已存在项目,则可在项目下,创建具体的应用,一个项目下可创建多个应用
WechatIMG575


3)生成签名证书指纹
keytool -list -v -keystore C:\TestApp.jks
执行结果如下:

WechatIMG575

说明:C:\TestApp.jks表示应用签名文件,CP替换成自己的签名文件即可。

4)在“我的项目”中找到刚创建的项目项目,找到对应的应用,配置SHA256证书,如下图所示
WechatIMG575

5)打开相关服务
5.1)打开API权限服务,在“项目设置”->“API管理”菜单中,开启相应服务,如下图所示:
WechatIMG575
登录服务为 Auth Service,支付服务为 In-App Purchases,其他权限为创建应用默认开启的权限,可以忽略。

此操作为项目级别操作,操作完后,项目下所有应用都会有此权限。

5.2)配置支付参数
① 在我的项目中,选择具体某个应用,在左侧导航栏选择“盈利 > 应用内支付服务”,点击“设置”。

WechatIMG575
说明:如果首次配置会弹出签署协议弹框,其中订阅通知地址,可不填写

8.3.获取应用的AppGallery Connect配置文件

1)获取agconnect-services.json文件
WechatIMG575

8.4.配置商品

1)打开“ AppGallery Connect”->“我的应用”->“运营”菜单,如下:
WechatIMG575

2)点击“添加商品”,如下图所示:
WechatIMG575
填写商品相关的商品信息,点击保存即可,这里选择“消耗型”商品。

3)创建商品后,默认状态为失效状态,需要点击激活按钮:
WechatIMG575
点击后,提示此商品将被开放购买,点击确认。

8.5.配置沙盒测试账号

参考:https://developer.huawei.com/consumer/cn/doc/distribution/app/agc-tester_account_mgt

接入完支付sdk后,华为提供沙盒支付测试模式。打开华为AppGallery Connect管理后台,选择用户与访问,选择左侧沙盒测试栏目下的测试账号,点击新增,输入华为账号即可
WechatIMG575

WechatIMG575

注:测试帐号必须填写已注册、真实的华为帐号。

添加完成后,使用此沙盒测试账号,支付时,可以直接进行沙盒支付测试

8.6.配置华为分析

1)接入流程
WechatIMG575
2)后台开启分析服务

a、如果没有华为开发者联盟帐号,需要先注册帐号并通过实名认证。详细操作请参见帐号注册认证。
b、参见创建项目和在项目中添加应用完成应用的创建。
c、登录AppGallery Connect网站,点击“我的项目”图标
d、选择需要查看分析数据的应用。
e、点击“华为分析”下的任意菜单,并点击“启动分析服务”按钮可开通分析服务。(注:需拥有产品管理权限才可开通服务)

WechatIMG575

f、进入“项目接入设置”页面,设置数据存储位置、数据共享设置、支持行业分析、标识用户、时区、货币、设置用户数据留存时间、设置自然周定义后,点击“完成”,即完成Analytics Kit 服务开通。对于支持行业分析,如果您已经设置应用的分类情况,则默认开启

WechatIMG575

g、开启后,选择项目设置–我的项目–应用,下载最新的配置文件,给到研发进行更新

WechatIMG575

3)调试

1、开启/停用调试模式

调试模式打开后,所有事件将实时上报,在应用调试界面可实时查看上报的数据。
说明:请将命令行中的“package_name”字段替换为您的应用包名
数据成功上报后,“华为分析 > 应用调试”页面会展示出数据,如下图

WechatIMG575

2、您可执行如下命令行,停用调试模式

8.7.开通华为性能分析

参考:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-apms-viewdata

进入“质量->性能管理”,如果APM服务未开通,请点击“立即开通”按钮,开通APM服务

WechatIMG575

说明:
由于开通服务时可能需要设置数据存储位置,设置数据存储位置后会刷新agconnect-services.json文件里的配置。如果您开通服务时设置了数据存储位置,在开通完成后您需要重新下载agconnect-services.json文件并集成到您的工程中。

9. appsflyer后台配置

9.1 appsflyer卸载配置

说明:
需要完成Google Cloud后台Appsflyer卸载检测配置操作,如已操作可继续执行以下步骤

进入appsflyer后台 ,选择项目-配置-卸载模块,如未开启则点击开启

WechatIMG601

输入 选择HTTPV1
输入 Project ID(获取 Firebase Project ID )
点击Test connection 按钮,测试成功会提示:Success! Your app is connected to Firebase
然后保存设置,即完成操作。

WechatIMG594

10.AdMob后台配置

AdMob后台入口地址:https://apps.admob.com/v2/home

10.1 创建应用

创建应用分为,已上架,和未上架两个步骤,最终都需要应用上架应用商店。

10.1.1 添加未上架应用

10.1.1.1 添加应用

添加应用-1

在应用页中,点击“添加应用”

添加应用-7

在上架选项中,选择“否”

添加应用-8

输入“应用名称”,点击“添加应用”

添加应用-9

点击“完成”应用添加。

注意:到这里只是完成了应用添加,要准备广告实际投放使用,还需要完成后续完成应用商店添加。

10.1.1.2 应用商店信息配置

应用上架商店后,可以继续完成商店信息添加。

添加应用-9

应用 > 选择前面添加的应用 > 应用设置 > 在“应用商店详细信息” > 点击“添加”

添加应用-9

输入“应用商店地址”或者“应用包名”,点击“搜索”,在查找结果中找到目标应用,点击“添加”

添加应用-9

点击“继续”

添加应用-9

点击“保存”

添加应用-9

点击“完成”

添加应用-9

最终看到已经完成应用商店添加的应用设置页面

10.1.2 添加已上架应用

添加应用-1

在应用页中,点击“添加应用”

添加应用-1

在上架选项中,选择“是,此应用已在受支持的应用商店中上架”

添加应用-1

输入“应用商店地址”或“应用包名”,点击“搜索”,在查询结果中找到目标应用,点击“添加”

添加应用-1

确认目标应用无误,然后点击“继续”

添加应用-1

确认应用包名等信息,点击“添加应用”

添加应用-1

点击“完成”

10.1.3 获取应用ID

成功添加应用后,在 应用 > 目标应用 > 应用设置 > 应用ID 中可以查看应用ID,点击可以进行复制

图片16

10.2 设置app-ads.txt

完成应用添加后,AdMob需要对已上架应用进行验证,确定该账号是应用的所有者,才允许进行广告投放。这需要在该应用的商店详情页中的开发者网站地址中,完成app-ads.txt的添加与设置。

官方指引文档:https://support.google.com/admob/answer/9363762

10.2.1.确认或添加开发者网站

设置ads-3

在Play后台 > 选择应用 > 商店发布 > 商店设置 > 网站,中确认当前设置的网址,如果未设置,则可以点击“修改”进行设置

设置ads-4

在弹出信息修改页中,填入网址,点击“保存并发布”,在确认弹框中点击“保存并发布”

可以在应用的商店详情页中可以查看到该网址和跳转

设置ads-5

10.2.2.创建app-ads.txt文件

如果开发者网站之前已有app-ads.txt,可以直接使用之前的文件,如果没有则新创建一个,然后在该文件中添加从AdMob后台中得到的代码段。

设置ads-1

在AdMob后台 > 应用 > 查看所有应用 > 点击“设置app-ads.txt”

设置ads-2

在弹出的设置app-ads.txt指引中,点击复制代码段

设置ads-8

粘贴复制好的代码段,如果app-ads.txt已有内容,则在新行中粘贴,如图。最后保存修改。

10.2.3 在开发者网站发布 app-ads.txt文件

AdMob 的 app-ads.txt 抓取工具会根据应用商品详情中的开发者网站查找 app-ads.txt 文件。根据 app-ads.txt 规范,抓取工具会查找采用以下网址格式的文件:
https://<<主机名>>/app-ads.txt
http://<<主机名>>/app-ads.txt
如果开发者网站是带有子域名的,抓取工具会在开发者网站中探查最多一个子域名层级,建议app-ads.txt文件发布在不带子域名的网址下,更多详细规则查看官方说明:https://support.google.com/admob/answer/9363762?sjid=5773086561328805503-AP#step3

图片1

10.2.4 等待 AdMob 验证 app-ads.txt 文件

AdMob 最长可能需要 24 小时才会抓取并验证 app-ads.txt 文件。

10.2.5 查看 app-ads.txt 文件验证结果

在应用> 查看所有应用 > app-ads.txt 中可以查看应用的验证结果

设置ads-7

10.3 添加广告单元

广告单元可以简单理解为需要在应用上播放广告的广告位。广告单元分不同类型,目前SDK支持的有,横幅广告,插页广告,开屏广告,激励广告,播放广告需要使用广告单元ID。

在AdMob后台添加广告单元

广告单元-1

应用 > 目标应用 > 广告单元 > 添加广告单元

广告单元-2

选择广告单元类型

10.3.1.横幅广告

这是一种矩形广告,会占据应用中的一部分版面;可在一段时间后自动刷新。实际效果:

横幅

广告单元-3

输入名称 > 高级设置(查看或修改) > 创建广告单元

广告单元-4

成功创建广告单元后,可以得到该广告单元的ID,以供SDK使用。

10.3.2.插页广告

这是一种全屏广告格式,在自然间歇点和过渡点(比如在打完一关时)显示,实际效果:

插页

广告单元-5

输入名称 > 高级设置(查看或修改) > 创建广告单元

广告单元-6

成功创建广告单元后,可以得到该广告单元的ID,以供SDK使用。

10.3.3.开屏广告

这种格式的广告在用户打开或切换回您的应用时显示。广告会叠加在加载屏幕上。实际效果:

开屏

广告单元-7

输入名称 > 高级设置(查看或修改) > 创建广告单元

广告单元-8

成功创建广告单元后,可以得到该广告单元的ID,以供SDK使用。

10.3.4.激励广告

这是一种会为选择观看广告的用户提供奖励的全屏广告格式。这种广告与插页式激励广告的不同点在于,必须让用户能够自主选择是否观看。实际效果:

激励

广告单元-9

输入名称 > 输入奖励数量 > 输入奖品名 > 设置回调地址(具体看下一步) > 创建广告单元

设置回调地址:

广告单元-10

输入回调地址 > 验证网址 > 使用经过验证的网址,该地址由WingSDK后台提供。

广告单元-11

成功创建广告单元后,可以得到该广告单元的ID,以供SDK使用。

10.3.5.查看广告单元ID

在 应用 > 目标应用 > 广告单元 列表中能查看所有广告单元ID,点击可以进行复制

广告单元-12

也可以点击广告单元,进入编辑页面中进行选中复制

广告单元-14

10.3.6.费用底价

有效每千次展示费用底价设置。

10.3.6.1 Google优化

默认选中的是由Google优化,并且是接受所有价格。

较高的的底价,和适中的底价目前还是属于Google的BETA测试功能,越高的底价对应广告填充率越低,也就是用户可以观看的广告越少。

广告单元-15

10.3.6.2 人工定价

选择人工定价,需要指定“全球有效前次展示费用底价”,也可以针对不同国家地区设置不同的底价。

广告单元-16

10.4 关联Firebase

官方指引文档:https://support.google.com/admob/answer/6383165

10.4.1 权限要求

操作关联对账号权限有相关的要求:
6

10.4.2 关联

1

应用 > 目标应用 > 应用设置 > 管理管理的服务

2

会自动跳转到 设置 > 已管理的服务 页面,在 管理应用管理 > 展开目标应用,点击Firebase右侧的关联开关

关联弹窗,会有三种关联方式,根据目前Firebase的项目和应用创建情况选择符合自身的选项。

10.4.2.1 与现有的 Firebase 应用和项目相关联

3

Firebase后台已经创建了项目和该应用,则选择该项 , 然后选择该应用所在项目 , 如果在该项目中找到该应用则会在下方显示该应用,最后点击“关联应用”。

10.4.2.2 在现有 Firebase 项目中创建新应用

4

Firebase后台未创建该应用,如果希望在已有项目下创建该应用,则应该选择该项,然后选择需要创建该应用的项目,最后点击“创建并关联应用”。

10.4.2.3 创建新的 Firebase 应用和项目

5

Firebase后台未创建该应用,如果希望创建新的项目并在新项目下创建应用,则应该选择该项,点击“转至Firebase”,跳转到Firebase后台进行后续操作创建项目及应用操作。

10.4.2.4 关联结果

最终关联成功后弹框提示:

7

关联之后,在应用 > 目标应用 > 应用概览 中出现Firebase用户指标模块,有相关的数据。

8

10.5 UMP隐私权与消息

“隐私权和消息”工具可帮助您与用户沟通,以根据欧盟《一般数据保护条例》(GDPR) 及美国州级隐私保护法律等法规征求用户意见或收集停用请求,或者挽回因用户屏蔽广告而造成的收入损失。

目前只需应对GDPR要求即可,该部分功能是结合UMP SDK一起使用的,主要用于控制UMP同意弹窗的显示效果。

1

1.进入 隐私权和消息 > 管理

2

2.点击“创建消息”

3

3.在消息创建编辑界面,可以完成UMP同意弹窗消息的展示控制。

必须完成的内容:
1)添加应用,可以多选
2)选择不同意按钮的开启或关闭(建议选择关闭)

其他编辑控制项:
1)消息名称
2)默认语言,建议使用英语
3)其他支持的语言
4)关闭(不同意)按钮的控制,建议关闭

预览:
1)可以选择横竖屏,和语言
2)可以选择页面进行效果查看

4

应用选择页面中,勾选适用应用,可以多选,如果未填写隐私权政策网址,则需要点击“添加网址”并完成添加。

5

可选,点击“样式”可以进行显示的样式控制

6

可选,点击“定位”,可以查看生效区域,默认为GDPR国家地区,无需修改

7

4.完成编辑后,点击“发布”即可完成最终发布。发布之后,一般是立即生效,可以在应用上立即查看到发布后的改动。

10.6 审核

官方说明文档:https://support.google.com/admob/answer/10564477

10.6.1 审核条件

必须达成下面条件,AdMob才会开始进行审核:
1.应用必须在已支持的应用商店中上架,比如Google PlayStore。
2.AdMob后台中该应用必须已经通过app-ads.txt验证。
3.AdMob后台中的该应用必须已经设置好与支持的应用商店关联。

审核通常需要几天时间,应用审核通过,或者拒绝都会有相应的电子邮件通知,也可以在AdMob后台的所有应用页面查看状态。

10.6.2 审核状态

在 应用 > 所有应用 > 应用标签 > 审批状态 中查看应用的审批状态

2

1

Android 第三方后台配置备份(20240516)

wapublisher No Comments

1.Google后台应用配置

google控制台地址:https://console.developers.google.com

1.0 Google后台公共配置

Google后台首先需要做一些公共配置,大致流程如下:

图片1
上图中的所涉及到的流程在后续章节中都有详细指引。

1.1 Google API控制台公共项目配置:

简要流程:
1.API控制台创建一个公共项目用于Play 控制台关联(如果已经有关联的项目则不需要再创建,一个主开发者帐号只能关联一个项目)
2.Play控制台关联API控制台的公共项目
3.API控制台中在公共项目中创建服务者账号,下载P12证书文件
4.Play控制台中为服务者帐号开放权限,目前只需要查看财务权限
5.将P12证书文件和服务者帐号保存至WA后台

1.1.1 API 控制台创建新的公共项目

打开Google API控制台,创建一个新的控制台项目

注意:如果使用现有的公共项目(Google Play Console已关联的项目),可以不新建。

图片2
点击”新建项目”
图片3
在”新建项目页面”输入项目名称,点击“创建”新建即可完成新项目创建

图片4

项目名称需要保存记录,对应windsdk后台中,添加google支付平台的需要填写的应用名称栏目

1.1.2 控制台关联公共项目

打开Google Play开发者控制台,在设置->API权限->关联项目中,关联前面创建的公共项目。如果已关联,则下一步在已关联的项目中创建“服务者账号”即可。:

图片6


1.2.API控制台创建服务账号(Service account key)*

服务帐号是SDK后台验证支付订单时候使用,运营人员需要将服务帐号和证书保存至SDK后台。SDK后台的操作请参考《WINGSDK后台基础设置》 。不同的应用,不要使用相同的服务帐号。

打开Google API控制台,选择公共项目,进入项目“API和服务”中的“凭据”页面

图片7

在“凭据”页面,点击“创建凭据”,选择“服务账号”

图片7

进入“创建服务账号”页面,第一步填入“服务账号名称”

图片2

第二步选择服务账号“角色”,分配“Editor”角色,然后点击“继续”

图片2

第三步中直接点击“完成”即可
图片2

接下来在公共项目的“凭据”中“服务账号”列表找到刚创建的“服务账号”

图片2

点击进入该“服务账号”的编辑界面,选中“密钥”标签,点击“添加密钥”并选择“创建新密钥”

图片2

在弹出框中选择“P12”类型私钥,点击“创建”

图片2

点击“创建”后,浏览器会自动下载“P12”私钥文件

图片2

“P12″私钥文件需要妥善保管,在WingSDK后台中添加Google支付平台时会要求上传该文件。

1.1.4 Play控制台“服务账号”权限配置

创建“服务账号”完毕后,在Google Play控制台,设置->API权限的页面的“服务账号”列表中,可以找到新创建的“服务账号”查看并修改权限

图片2

选中“账号权限”标签,只勾选“查看财务”权限即可

图片2

选中“应用权限”标签,添加该“服务账号”对应的游戏,点击“应用”

图片2

在弹出框中确认已勾选“查询财务数据”权限,点击“应用”完成添加

图片2

完成“应用权限”和“账号权限”配置后,点击“邀请用户”发送邀请

图片2

之后可以在“用户和权限”中看到该“服务账号”,并且状态是“有效”

图片12

进行完上述操作之后,将“服务帐号”(即邮箱)和“P12”私钥文件保存至WA后台即可。

1.3 Google API控制台游戏项目配置

简要流程:
1.创建专用于游戏的新项目
2.在游戏项目中新建Web类型ClientID,用于WA后台Google登录配置
3.在游戏项目中新建Android类型ClientID,需要研发提供包名(PackageName)和应用签名jks文件的SHA-1信息

1.3.1 创建专用于游戏的新项目

同上面公共项目创建一样,新建一个专用于游戏的项目

图片2

图片2

1.3.2 启用Google+ API

在游戏项目中,选择进入“API和服务”中的“已启用的API和服务

图片2

在“已启用的API和服务”界面,选择“+启用API和服务”,进入“API库”界面

图片2

在“API库”中,搜索“Google+”,选择并进入“Google+ API”

图片2

图片2
在“Google+ API”产品详情页面中,点击“启用”

图片2

1.3.3 同意屏幕配置

在添加OAuth Client ID之前,必须先完成“同意屏幕”配置。“同意屏幕”会影响用户授权是看到的界面,如下:

图片2

图片2
首先在前面新建的专用于游戏的“项目”中,进入“同意屏幕”界面,操作如下

图片2

在“同意屏幕”配置界面,UserType选择“外部”,然后点击“创建”

图片2

第一步,填入“应用名称”和“用户支持电子邮件”,以及“开发者联系信息”,这几项都是必填项目。

其中“应用名称”将会是用户授权登陆时看到的应用名称,其他可选项根据实际情况决定是否填写,下面是可选项的影响及要求:

1.应用的徽标和名称:建议使用徽标,但不强制要求使用
2.用户可以用来与您联系的电子邮件地址以及范围列表:范围是您的应用对访问用户的 Google 帐号以及会共享哪些数据的具体请求。您将在下一步中添加范围。
3.指向应用隐私权政策和服务条款的链接

此部分内应包含:

一个描述用户可以如何管理对其 Google 帐号的访问权限的句子
一个指向 Google 文章的链接,其中介绍了 Google 如何帮助用户安全地共享其数据

图片2
图片2

第二步数据访问“范围”配置,这一步无需处理,直接下一步即可

图片2

第三步“测试用户”配置,这一步也无需配置,直接下一步

图片2

第四步“摘要”,到这一步已经完成“同意屏幕”配置,可以在“摘要”界面审查自己的配置,也可以直接返回。

图片2

正确配置完成OAuth同意屏幕后,“发布状态”默认是“测试版”状态。确保之前的配置无误后,还需点击“发布应用”,把“发布状态”改为“正式版”。

图片1

如果没有填写需要验证的项,可以无需验证直接发布到“正式版”,如下图“发布应用确认弹窗”点击“确认”即可完成发布。

图片2

图片3
如果是无需验证的,可以忽略以下验证过程的文章内容。
有需要验证的项的改动,则需要按照提示完成Google验证,例如添加了“应用徽标”点击“发布应用”,则是弹出下面提示框
图片4

点击“确认”后状态已是“正式版”,但是需要完成验证,点击“执行验证准备工作”
图片5

确认“OAuth同意屏幕”信息,“应用首页”和“应用隐私权政策链接”,属于必填项,填写之后还需要把这两个链接的域名加到“已获授权的网域”,点击“保存并继续”。
注意:“已获授权的网域”需要转到 Google Search Console(https://search.google.com/search-console/welcome) 来检查您的网域是否已经过授权,如何获得授权在Google Search Console也有描述和指引。

图片6

然后是确认“范围”,点击“保存并继续”
图片9

“可选信息”中,为了确保审核通过,尽量补充完善可选内容。另外按照之前提示框的提示,提供YouTube视频,展示如何使用从范围中获取的Google用户数据;还有一份书面说明,告知访问敏感数据和受限用户的原因

图片10

最后勾选声明,点击“提交以进行验证”完成提交。敏感范围验证最多需要10天才能完成,受限范围需要数周时间,其他图标,主页,隐私政策通常需要2-3天。

图片11


1.3.4 创建Web类型OAuth Client ID

进入游戏“项目”的“凭据”界面,点击“创建凭据”选择“OAuth客户端ID”

图片2

在“应用类型”中选择“Web应用”类型

图片2

填写“名称”,然后点击“创建”即可完成创建

图片2

在创建完成提示界面中,可以直接 复制刚创建的“Web客户端ID”保存,后续将需要提供给研发和WA后台Google登录配置。

图片2

1.3.5 创建Android类型OAuth Client ID

跟创建Web应用“OAuth 客户端 ID”类似,在游戏“项目”的“凭据”界面中创建“OAuth客户端ID”,但是类型选择“Android”

图片2

填写“名称”,“包名”,“SHA-1证书指纹”,其中“包名”和“SHA-1”都由研发提供,获取指引如下:
包名:Android项目的applicationId,在“应用层级”的build.gradle文件中的android->defaultConfig->applicationId找到,具体参考下图

图片2

SHA-1证书指纹:首先需要研发创建游戏的“正式应用签名jks文件”,然后使用下方命令输出“SHA-1证书指纹”信息,输出结果参考下图
命令:keytool -keystore path-to-debug-or-production-keystore -list -v

图片2

图片2

创建完成之后,一般“隔天”会生效,生效后就可以正常进行Google登录

图片2

1.4 Play控制台更改应用签名密钥

为了确保由研发生成的“正式应用签名jks文件”在GooglePlay中正常生效,需要在Play控制台更改应用签名密钥。

若Play未创建应用,可以参考章节 《GooglePlay创建应用》 进行创建。

Play控制台中选择游戏应用,在“内部测试”轨道中选择“创建新的发布版本”或“修改发布版本”

图片2

不需要上传应用,直接点击“更改应用签名密钥”,在弹出的确认框中点击“使用其他密钥”

图片2

图片2

接着在“应用签名偏好设置”界面中,选择“从Java密钥库导出并上传密钥”,在这里按照指示完成“zip文件”上传,最后点击保存。具体指示说明参考下图

PEPK工具文件:下载pepk.jar

命令:

注意 java版本最好是11版本或以上,否则执行会出错

图片2

保存完成之后,可以在游戏应用的“设置”->“应用完整性”中找到Play中已生效的“SHA-1”信息,把这个跟前面研发提供的“SHA-1”进行比对,一致则说明配置正确,否则需要重新配置,同样是从“内部测试”的“更改应用签名密钥”开始。

图片2

1.5 Google Play创建应用

进入“所有应用”界面,点击右侧“创建应用”

图片10

按照要求填写或选择“应用名称”,“默认语言”,“应用或游戏”,“免费或付费”,并且勾选同意“开发者计划政策”和“美国出口法律”。
免费或付费:免费指下载免费,付费指付费才能下载

图片11

1.6 Google Play添加应用内商品

添加应用内商品前,按要求需要先上传有BILLING 权限(接入WingSDK的Google模块默认带有该权限)的应用包,建议在“内部测试”完成上传,上传应用包即可达成条件,无需发布。

图片2

单个商品创建

在游戏应用的“应用内商品”界面,可以“创建商品”
图片2

按照提示填写完成对应项,最后点击“保存”,其中“设置价格”和“税费和法规遵从设置”界面如下图
注意:商品ID是唯一的,即使被删除后也依然占用原ID。

图片2

图片2

图片2

保存之后,商品默认是“无效”状态,需要点击“启动”改为“有效”状态

图片2

“启用”商品之后,在应用内对应商品详情界面,可以进行停用及删除

图片2

批量导入商品

GooglePlay后台目前支持批量导入,因为csv模板可能会变更,所以建议先创建一个商品,再导出,根据导出的最新csv模板样式,添加商品,再保存csv文件上传导入。

同样是在“应用内商品”界面,先根据上一步操作创建一个商品,然后点击“创建商品”旁边的选项“图标”,选择“导出”

图片2

导出的商品csv文件内容如下图,再参考已有的导出商品,按照相同方式补充完剩下的商品,保存商品csv文件

图片2

同样是“应用内商品”界面,点击选项“图标”,选择“导入”

图片2

导入最新的商品csv文件。注意:批量导入,如果csv商品文件中包含已有商品则会修改对应商品内容。

图片2

导入完成之后就可以在列表中看到所有已导入的商品

注意:如果文件内容中有中文,那么csv文件可能存在乱码问题,如果有这种情况,需要把csv的编码改为utf-8,确认中文字符正常,再保存上传。

 
 

1.7 添加Google Play测试用户

在应用未正式发布前,Google支付可以在Google Play添加测试用户才能进行沙盒测试。

详细的GooglePlay应用测试说明和方法可参考下方官方文档:
https://support.google.com/googleplay/android-developer/answer/9845334

“封闭式测试”和“内部测试”:
进入游戏应用的“内部测试”轨道(“封闭式测试”也相似),在“测试用户数量”标签中,如果勾选“已有测试列表”,如果没有则“创建电子邮件列表”再勾选(创建界面截图如下),然后保存。保存之后可以复制“测试邀请链接”,发给测试人员,注意要发布过版本才会有“测试邀请链接”

图片2

图片2

测试人员在浏览器上登录被邀请的Google账号,然后打开“测试邀请链接”,点击“接受邀请”

图片2

“接收邀请”之后,测试人员根据指示下载测试版应用安装测试

图片2

 
 

1.8.添加Google Game Service支持

在开发者管理者控制台左侧菜单打开“游戏服务”菜单,在列表中选中需要新建成就的游戏服务。

图片27

如看不到Play 游戏服务,则在顶部搜索栏中搜索”Play游戏服务设置”,然后选中
图片27

选中“是,我的游戏已经使用了Google API”,此时在下方选择要关联的项目。选择项目,下一步即可完成创建。(如没有创建Google API项目,则参考 1.3.子项目中配置应用的OAuth Client Id* 流程先创建子项目)

图片28

在游戏服务中添加新游戏之后自动生成了Google Game Service App Id,此值需提供给开发人员,如下图所示:

图片28

如提示配置OAuth同意屏幕,按照要求操作同意接口,同意完后,点击添加凭证,选择Android类型,输入名称等基本信息,选择OAuth客户端即可,然后保存。(默认情况下选择OAuth客户端只有一个,如若多个,可以选择后,查看包名和指纹是否和应用的一致进行确认)

图片6

创建完游戏服务之后就可以创建成就和排行榜了,创建完的游戏服务,必须要发布才能够使用。

在goolge应用控制台为某一个应用添加Google Game Service成就,请参考以下官方文档:
https://developers.google.com/games/services/common/concepts/achievements
 
在左侧菜单选择“成就”,点击页面“添加成就”可以添加新的成就。

图片28

1.9.Google 促销商品配置

参考地址:https://developer.android.com/google/play/billing/promo
登录Google Play后台,选择对应应用进入详情,选择获利—产品—促销代码,点击创建促销代码

图片36

输入 促销活动名称、开始时间、结束时间,促销类型选择应用内商品,然后选择需要参与促销的商品,输入促销代码数量,保存即可。

图片36

当到达输入当开始日期时间后,促销码就可以使用。在您的应用中:用户可以点击 Google Play 购买屏幕中付款方式旁边的向下箭头,然后点击兑换链接以输入代码,由此发起购买交易

图片36

选择兑换代码,输入对应兑换代码
图片36

注:创建促销商品的商品id为google_001,在应用内兑换时,需要点击相对应的商品(对应google商品id为google_001)弹出支付界面,然后输入兑换码才能正常兑换。

另外,也可在 Play商店-账号信息-付款与订阅-兑换代码,然后点击兑换代码进行兑换(预注册奖励也可使用此方式测试)

69F23255C7F76711D90C33F3613C701D

197237B259B014FAB5F19B4A37E0CF04

39C0572ED38C0E13893AA9066FB7FA19

BA4A3D184552C77DE97631C56B3BA921

AB432970EF1F97A2B4A97B05FC53F2AC

5A17CC07EE19116B87EBE81F3A3EA432

 
 

1.10.Google Play 签名密钥

如果已经成功执行《Play控制台更应用签名密钥》 章节,本章节可以忽略。若需要更详细了解Google Play密钥,或者需要升级密钥,可以查看本章内容。

Google Play控制台的签名密钥有两种,一种是应用签名密钥,一种是上传签名密钥,他们对应的实体文件是keystore/jks文件。

上传签名密钥:上传Google Play 的aab或apk包必须使用该签名秘钥进行签名,不能使用证书指纹不一致的应用签名秘钥或者其他签名秘钥,否则会提示签名错误,无法上传。该签名密钥用于Google Play验证上传的应用包的合法性。

应用签名密钥:是应用最终所使用的签名密钥。虽然上传Play的应用包使用的是上传签名秘钥签名,但是正式上架对外时,Google Play会抹去原来的签名,并使用应用签名秘钥签名。

为了方便管理,建议“应用签名密钥”和“上传签名密钥”使用相同的签名密钥jks文件
说明:使用下面步骤,不包含“上传签名密钥”的配置,因为Google不允许两个签名一致,但是“更改签名密钥”时不进行“创建新的上传密钥”即可让两个签名保持一致。

1.10.1.上传自己的签名密钥

创建应用版本会默认加入Google签名计划,该计划实际内容是:由Google自行创建签名密钥,并保存在谷歌服务器,无法访问和下载,最终向用户分发应用时再由Google进行签名。默认方式的签名密钥文件不可访问,无法控制,不利于管理签名密钥文件和调试测试,所以建议上传自己的签名密钥。

注意:这一步,是应用未正式上架时可以重复操作修改的,但是正式上架后不可用再从这里修改,需要参考下一章节执行“升级密钥”操作才可更改。

具体操作同《Play控制台更改应用签名密钥》一致,最终验证“应用签名密钥证书”和“上传密钥证书”保持一致即说明配置正确。

1.10.2.验证签名密钥配置

1.研发在命令终端通过输入keytool命令获取签名密钥jks文件的证书指纹。
命令:keytool -list -v -alias ALIAS_NAME -keystore KEYSTORE_PATH

图片_20230307160725(1)

2.在Google Play控制台的,设置->应用完整性,中找到当前生效的密钥证书信息

图片2

1.10.3.升级应用签名密钥

适用对象:已上架,并且之前执行过《Play控制台更应用签名密钥》 章节,把默认的Google生成签名改为自己签名文件的应用

不适用对象:
1.未上架的应用,无需升级也可在“内部测试”或任意轨道版本中选择“更改应用签名密钥”进行更改
2.已上架,但是之前默认由Google生成签名的应用(未执行过《Play控制台更应用签名密钥》 章节),界面参考下图

使用“Google生成的签名”的应用,会没有“请求升级密钥”按钮

图片2

升级注意:“请求升级密钥”操作,一年只有一次机会,无法撤销,请谨慎操作

同样是“应用完整性”页面,在“应用签名”标签里面找到“请求升级密钥”按钮,并点击

图片2

在弹出框中,【关键】首先展开“隐藏选项”,选择“所有Android版本的所有安装”选项 。然后升级方式选择“从Java密钥库上传新的应用签名密钥”

图片2

按照“从Java密钥库上传新的应用签名密钥”的指示,下载PEPK文件给研发使用,研发使用指示命令生成zip文件,其中命令的黑体参数需要替换为本地对应参数,具体参考如下,最后完成“上传zip文件”,选择“升级原因”,点击“升级”。

foo.keystore:新的应用签名密钥jks文件
foo:foo.keystore文件使用的别名
upload.keystore:原应用签名密钥jks文件
upload-key-alias:upload.keystore文件使用的别名

注意:若upload.keystore使用的不是原应用签名密钥jks文件,会升级失败

图片2

在弹出框中确认升级影响目标必须是“所有Android版本上的新安装”,若不是则需要修改前面“隐藏选项”的选择。
确认升级影响目标正确后,点击“确认”完成升级。

图片2

升级之后可以在“应用完整性”的“应用签名”标签中,确认最新生效的“证书指纹”信息,也可以查看“曾用密钥”的证书指纹信息。另外升级后“请求升级密钥”按钮变为不可用状态,并且旁边会有显示上一次的升级日期

图片2

更多内容可以查看Google文档了解:
https://support.google.com/googleplay/android-developer/answer/9842756

1.10.4.应用签名密钥变更后续配置

无论是“上传自己的签名密钥”或者“升级应用签名密钥”,都会影响应用的验证,比如Google登录,Facebook登录等三方功能,所以修改后确认同步修改对应平台相关内容。

  • 如果是未上架应用“上传自己的应用签名密钥”,更改原有对应配置即可。
  • 如果是已上架应用“升级应用签名密钥”,为了保证旧的“应用签名密钥”用户也可以暂时使用,保留“原应用签名密钥”证书指纹相关配置,并添加新的“新应用签名密钥”证书指纹相关配置。

下面罗列一些平台需要用到签名信息的相关配置指南:

Google:Google Cloud Platform(https://console.cloud.google.com/)控制台,API和服务 -> 凭据中,添加Android类型的OAuth 2.0 客户端 ID,输入包名和新的应用签名的SHA-1证书指纹。子项目中配置应用的OAuth Client Id

Facebook:Facebook登录的“密钥散列”与应用签名有关,需要添加新的“密钥散列”。
添加签名密钥散列

Fireabse:关联应用有用到应用签名的SHA-1和SHA-256证书指纹,需要添加
手动关联GooglePlay应用

Huawei:华为应用需要配置证书指纹。
生成签名证书指纹

1.10.3.4 签名密钥常见问题

1.打包的时候该使用哪个签名密钥?
上传签名密钥,只有在给需要上传到Google Play任意轨道(测试或正式等)的应用包打包时使用。
其他任意时候,比如想在本地运行调试,或者本地打包测试,只要不需要上传到Google Play的,都使用应用签名密钥进行打包。

2.MD5,SHA-1,SHA-256这些证书指纹该用哪个签名密钥的?
上传签名密钥只有在上传Google Play任意轨道时候打包应用包时使用,其他任何情况都以应用签名密钥为准。所以给Google,Firebase,Facebook,Huawei等平台提供的SHA-1,SHA-256证书指纹都需要使用应用签名密钥的证书指纹。

3.什么是keystore/jks文件,怎么生成的?
二者是同一个东西,都是Android签名密钥文件,用来打包Android应用的,当前常用的是jks文件。该文件用于确保应用的唯一性及合法性,非常重要,请务必保管好该文件及相关的密码,并确保不会泄漏。
虽然可以使用JDK的keytool工具生成这两种文件,但常用的方式是开发者使用Android Studio生成jks文件,而keystore文件一般使用Eclipse生成。

4.Google Play上的应用签名密钥keystore/jks文件找不到了,能否重新生成一个跟上面相同证书指纹的签名密钥文件?如果不能又该如何处理?
不能生成指定证书指纹的签名密钥文件。Google Play上也无法下载签名密钥文件。
处理方法:
1)上传应用到任意轨道(正式或测试),从Play Store的应用页面下载应用,上面下载的应用都会使用应用签名密钥打包签名过。
2)如果想自己重新掌握keystore/jks文件,并且Play控制台中该应用未升级过应用签名密钥(每个应用只有一次升级机会),可以进行密钥升级,更换为新的keystore/jks文件信息。升级的时候务必选择“上传自己的签名密钥”,不要选择默认的“由Google Play生成。。。”,升级成功后也务必对一些平台上的配置做出相依的配置改动,否则会影响这些平台的API使用,如Google登录,Facebook登录等,具体升级请参考“升级应用签名密钥”章节操作。

5.应用打包运行之后的签名密钥,和Play上的应用签名密钥不一致会有什么后果?
通常会影响所有配置了与应用签名密钥有关信息的平台API。比如Google的Android类型OAuth ClientID使用了SHA-1,会影响谷歌登录,导致谷歌登录直接返回取消。Facebook使用的散列秘钥,影响Facebook登录。其他的还有Firebase的应用关联,Huawei的应用配置。

 

1.11Google Play 发布应用

准备应用包:
使用上传签名密钥打包签名好应用包apk或aab。若使用应用签名密钥或其他签名密钥,会提示错误。关于签名密钥可以参考上一章节说明。
注意:推荐aab,2021年8份起新应用必须使用aab包发布应用。Play发布的apk大小限制为100MB,aab大小限制为150MB,若超出大小限制,apk包需要使用APK拓展文件obb功能,aab需要使用Play Asset Delivery功能,对应用或游戏资源进行配置,才能上传成功。

登录Google Play 控制台,选择并进入需要发布的应用。

1.选择发布的版本,根据需要可以选择内部测试,封闭测试,开放性测试,正式版。
2、若是测试轨道,可以选择测试人员并保存

图片36

3.若是开放性测试,或正式版,需要设置发布的国家。

图片36

4.创建新版本,上传应用包,保存。若之前已上传过该应用包,可以直接从内容库中选择。保存之后,点击检查发布版本。

图片36

图片36

5.在检查发布版本页面,查看所有错误警告消息,若是错误,必须按照指引完成修改。完成所有错误的修改后,回到该页面,点击 开始发布,即可完成操作,等谷歌审核通过后,即是正式完成发布。

图片36

其他说明:发布前错误提示,信息中心需要完成步骤,主要是设置应用部分,按照指引完成任务即可。

图片36

 

1.12.Google广告ID声明设置

选择应用》应用内容》广告 ID进入声明设置
图片36

使用广告ID项选择 “是”,使用方式选择,“分析”,“广告或营销”,点击保存。
图片36

1.13.Google Cloud后台Appsflyer卸载检测配置

1.13.1.创建 AppsFlyer uninstalls角色

进入Google Cloud后台 ,选择项目,IAM和管理,选择角色

WechatIMG603

点击创建角色

WechatIMG604

名称输入 AppsFlyer uninstalls
ID输入 af_uninstalls
角色发布阶段选择 正式版
然后点击添加权限

WechatIMG605

过滤条件输入 cloudmessaging.messages.create

WechatIMG607

WechatIMG608

选择cloudmessaging.messages.create权限,点击添加按钮。最后点击创建按钮。

WechatIMG609

1.13.2.将AppsFlyer指定为卸载角色

进入Google Cloud后台 ,选择IAM,点击授予访问权限

WechatIMG610

新的主账号输入:af-uninstalls-tracking@af-uninstalls-tracking.iam.gserviceaccount.com
角色选择   :AppsFlyer uninstalls

WechatIMG611

WechatIMG612

然后保存,完成Google Cloud后台Appsflyer卸载检测配置操作。

2.Facebook第三方后台配置


2.1 Facebook基础配置

Facebook控制台地址:https://developers.facebook.com/

2.1.1 创建Facebook应用

一共有五种可选的应用类型:公司、游戏、小游戏、消费者或无。当您选择应用类型后,系统会为应用提供仅适用于该应用类型的产品(如登录,分析等产品)、权限(访问用户生日性别照片等数据权限)和功能,精简应用创建流程。
1、公司类型适用于可帮助公司和组织管理公共主页、小组、活动、广告以及和广告相关素材的应用。
2、游戏类型适用于可以在 Facebook 开放平台上游玩的游戏应用。
3、小游戏类型适用于可以在 Facebook 开放平台上游玩的游戏应用。
4、消费者类型适用于整合 Facebook 登录等消费者相关产品以便为用户提供更多帐户关联体验的应用程式。
根据说明,上面的“游戏类型”是适用Facebook游戏平台上的游戏。我们推荐创建应用类型时,选择“消费者”类型,该类型包含Facebook登录,分析,应用事件,应用链接,Instagram基本显示API,分享,社交等常用的产品。
想了解所有应用类型对应可使用的产品、权限和功能,可以查看Facebook官方文档: https://developers.facebook.com/docs/apps/app-types/

进入应用控制台,点击“创建应用”。
图片1

点选择用途“打造关联体验”(对应消费者应用类型),点击“继续”。

图片1

填写“应用显示名”,和“应用联系邮箱”,点击“创建应用”。
图片1

“创建应用”完成以后会立即进入到该应用的控制台页面。
图片1

移除应用类型

如果选择应用类型之后,在产品添加中没有找到自己需要的产品,或者当前应用类型提供的权限或功能无法满足需求,可以移除该应用的应用类型,或者重新创建新的应用类型的应用。移除应用类型之后,就是无指定类型的应用了,可以选择添加任何产品和申请任意权限及功能。
注意:移除类型后是无法再次指定应用类型的。

下面介绍如何移除应用类型:
进入目标应用控制台页面,点击“产品 +”,往下滑,找到“想找其他产品和权限?”卡片,点击“移除应用类型”按钮。

图片1
输入该账号的密码,点击“提交”

图片1

操作完成之后,在应用控制台中可以看到,已经不再显示应用类型了,并且可添加产品中,显示了所有的产品,权限页面也可以看到显示所有权限。

图片1

2.1.2 添加产品

创建完应用编号后,需要添加产品。点击左侧菜单栏中的“产品+”按钮,找到所需的产品,点击该产品卡片的“设置”按钮进行添加。(接下来以必接的登录功能为示例,另外在这里只需要对产品进行设置,所以会忽略其他非设置步骤)。

图片1


2.1.3 设置项目信息

点击“设置”进入产品添加的向导(菜单栏“快速启动”方式设置),选择添加的产品支持的平台(此处以Android平台为例)

图片5

图:选择产品支持的平台

选择平台后,进入平台的设置页面,在这个页面可以在上面的tab中切换不同的平台进行设置,第1、2步是SDK集成,由开发人员完成,进入第三步设置项目信息。

输入应用包名,和默认活动类的完整路径(如果使用DeepLink功能,需要填入DeepLink功能响应的Activity类路径,否则可以填入首个启动的Activity,例如MainActivity即可),点击“Save”保存。

图片5

图:填写Android项目信息

点击保存,如果你的应用在Google Play没有上架,会弹出下图“Google Play包名校验遇到困难”的对话框,点击“使用此包名”即可。

图片5
图:Google Play包名验证出现困难


2.1.4 添加签名秘钥散列

签名秘钥散列需要开发技术同事协助获取,获取到的字符串是包含 28 个字符的唯一密钥散列,获取方式参考Facebook官方文档。将生成的秘钥散列添加到“秘钥散列”下面的文本框,如果测试环境和正式环境不一样的签名文件,这里可以添加多个。添加后点击“Save”保存。

具体操作过程可以参考以下任何一种方式,他们都是相同的指引,然后按指引生成“发布密钥散列”进行添加:
1.Facebook控制台 -> 产品 -> Facebook登录 -> 快速启动 -> Android平台 -> 添加开发和发布密钥散列
2.Facebook登录接入文档,第6节-为应用提供开发和发布密钥散列:
https://developers.facebook.com/docs/facebook-login/android#6

图片8

openssl-for-windows 下载路径
命令行:

图:添加签名秘钥散列

2.1.5 启用单点登录

根据需求,如果需要启用单点登录,打开单点登录,保存进入下一步。
图片9
图:启用单点登录

2.1.6 其他配置及提供参数信息给技术配置到工程项目中

在左侧菜单点开“设置->基本”,将应用编号(Facebook App id)提供给技术配置到项目中,如果需要礼物功能,需要将应用密钥(App Secret配置到SDK后台,关于礼物的配置参考后续章节。如果需要使用游戏邀请功能,必须在设置中设置应用的类别为“游戏”。
图片5

在“设置>高级>安全”中找到“客户端口令”,将该参数(ClientToken)提供给技术配置到项目中。

图片6

2.1.7 相关产品的配置修改

如果需要修改相关产品的配置,在左侧菜单中的“产品”中找到相应的产品,“设置”展示所有设置,“快速启动”是包含了向导的设置。
图片9
图:产品配置修改


2.2 Facebook添加开发者

添加步骤如下:
在Facebook控制台页面,在左侧“用户身份”菜单展开,下面有两个,“用户身份”和“测试用户”。“用户身份”是配置哪些用户拥有编辑和查看应用的权限;“测试用户”用来测试不同应用功能的临时性的 Facebook 帐户。

图片18
图:用户身份配置


图片18
图:测试用户

2.3 上线注意事项

切换到线上模式,必须提供“隐私权政策网址”和“数据删除信息”。
“隐私权政策网址”必须提供有效的地址,在Facebook登录页面和应用详情页面会显示该入口。
“数据删除信息”,Facebook为了符合通用数据保护条例 (GDPR),可获取用户数据的应用程序必须执行以下某项操作:
1.执行数据删除请求回调。
2.为用户提供含有明确说明的网址,介绍如何使用第三方网站或工具删除数据。第三方网站可能是应用程序隐私政策的相关部分。
用户在Facebook设置中移除应用时候,会有提醒用户移除数据的相关说明。
第一种方式需要按照官方文档要求提供接口给Facebook调用。我们建议选择第二种方式,提供数据删除说明地址,介绍如何删除数据。
图片18
图:切换线上模式提示框

图片18
图:选择 数据删除说明网址

图片18
图:选择 数据删除说明网址

3.VK后台应用配置

VK目前必接的功能包括登录,登出,显示用户名称以及头像,group和邀请。

3.1. VK基础配置

创建VK应用,创建地址如下(如果还没注册,需要先注册):https://new.vk.com/editapp?act=create
Android-VK基础配置

title中填入应用的名称, 点击Connect Application按钮,并按照提示创建应用。填写关键信息,主要是填写Information和Settings部分:
Android-VK基础配置

Android-VK基础配置

Android-VK基础配置

上图的SDK settings中安卓部分需要填写应用的包名和指纹,指纹的获取方式请参考1.1 配置应用程序证书指纹(去掉冒号),也可以参考:https://new.vk.com/dev/android_sdk,或者与开发人员联系获取。

获取vk app id提供给开发人员并且注意设置应用状态为可见
android-VK基础配置

3.2 应用提交审核

VK的邀请功能是对接VK渠道官方要求必须接入的,而邀请功能只能在审核通过的应用中使用,所以需要将配置好的应用提审。

这里需要注意的是:
VK的应用审核比较严格,首先必须是游戏应用,并且需要全部翻译成俄文,不能是demo,有人工审核。
如果需要测试邀请,原则需要审核过的应用,在应用审核通过之前,使用apps.sendRequest接口,type为request来测试,测试者需要双方是好友,都是管理员并且都已经安装过该应用。
对接VK邀请功能业务流程图如下:
vk上线流程图

控制台提审大致步骤如下:
Android-VK基础配置

Android-VK基础配置

4.Firebase后台配置

在Firebase后台配置后,会得到两个文件,一个是google-services.json,需要给研发配置到游戏中去;另一个是Firebase服务器秘钥,需要配置到SDK后台

4.1 添加项目

在浏览器中打开Firebase控制台点击添加已经在Google API存在的项目

图片9

点击输入项目名称输入框时,会弹出已经存在Google Api的项目列表,选择对应项目并继续

图片3

图片4

图片6

选择配置Google Analytics账号,点击添加Firebase按钮

图片7

图片8

点击继续,则项目创建完成。

4.2 新建应用

进入项目,点击对应应用类型

图片6

输入软件包名、应用名、SHA-1指纹,点击注册应用

图片6

注册应用,进入下一步,下载google-services.json。将下载的配置文件复制到项目模块文件夹,通常为 app/。

图片6

google-services.json文件可以随时重新下载,可以在设置,常规,选中项目后,下载某个项目的google-services.json文件,如果包名改变,或者其他配置更新,则需要重新下载google-services.json文件,然后更新到项目中去。

图片6

4.3 获取Firebase服务器秘钥 (消息推送使用)

在项目详情左侧菜单中点击“设置按钮”进入“项目设置”页面,选中“云消息传递标签”,目前使用的新版 Firebase Cloud Messaging API(V1),

WechatIMG595

如未开启,需要额外开启,点击“选项”图标

跳转到Google Cloud页面的 Cloud Messaging 产品详情,点击“启动”

3-云消息密钥-2

“启动”完成后,回到Firebase的云消息传递页面,刷新后就会显示,Firebase Cloud Messaging API(V1)已是“已启用”状态。

选择服务账号-Firebase Admin SDK,如未创建服务账号,展示效果如下:

WechatIMG597

点击创建服务账号按钮,成功后,展示效果如下:
WechatIMG598

点击生成新的私钥按钮,弹出提示框,点击生成密钥,然后会下载对应的密钥json文件,保存,后续android推送配置上传密钥时,会使用。

WechatIMG598

WechatIMG599

4.4 将Google Play链接到Firebase

前提条件:
所关联的应用,必须在GooglePlay中已经创建,并上传过对应包名的应用包,否则无法关联。
说明:
1.必须链接到Google Play才能查看Android应用的in_app_purchase和订阅事件。
2.需要使用主账号关联

1.在Firebase控制台项目中,点击“项目概览”的选项图标,选择“项目设置”
2.在“项目设置”页面选中“集成”选项卡,在里面找到“Google Play”,点击“关联”

4-关联Play-0

3.“关联GooglePlay”页面,在第一步中点击“下一部分”

4-关联Play-1

4、在第二步勾选“共享应用购买和订阅收入数据”,勾选后可以查看“已选择应用”,如果还没创建应用,可以先创建再关联。最后点击“关联到Google Play”

4-关联Play-2

手动关联Google Play应用

已关联Google Play账号的的项目,如若Firebase继续添加应用,则需要手动关联新的Google Play应用。

同样是在“关联Google Play”界面,在“已关联应用”中,可以勾选未被关联的应用点击“保存”进行关联,
关联的应用同样必须在Play中已创建并有上传对应包名的应用包。

4-关联Play-4

然后需要重新下载最新的google-services.json配置文件,给到研发进行更新

4.5 Firebase 分析调试

参考:https://firebase.google.com/docs/analytics/debugview?authuser=0
要在 Android 设备上启用 Analytics“调试”模式,请执行以下命令:

例如:adb shell setprop debug.firebase.analytics.app com.ghw.sdk2

“调试”模式将保持启用状态,直至您通过执行以下命令明确停用“调试”模式:

开启调试后,打开管理后台,选择项目–分析–DebugView,能够看到目前正在调试的设备,以及上传的事件。

图片36

注意:为了防止测试和开发影响测量值,在调试模式下记录的事件将从总体 Analytics 数据中排除,并且不会包含在每日 BigQuery 导出报告中。

4.6 获取 Firebase Project ID

1.进入FCM Console(FCM控制台)
2.选择一个项目。
3.进入Project Overview(项目总览)> Project settings(项目设置)。

图片12

4.复制Project ID,即为Firebase 的Project ID

5.Twitter后台配置

5.1 Twitter后台应用配置

注册一个Twitter账号,打开Twitter开发者页面,如果您的Twitter账号不是开发者账号,还需要将Twitter账号注册成为开发者账号。进入My Apps页面,可管理应用。如果还没有应用,点击“Create New App”进入创建应用界面,填写相关信息新建应用。
Twitter-后台配置
新建应用后,点击应用列表中的应用,可以查看应用的详情。
Twitter-后台配置
点开“Keys and Access Tokens”标签可以看到ConsumerKey和ConsumerSecret
Twitter-后台配置

5.2 WINGSDK后台应用配置

将Twitter中新建应用的consumeKey和ConsumeSecret配置到WINGSDK后台。选中应用→设置→登录平台→添加Twitter登录平台,在“平台应用ID”中填写consumeKey,在“公钥”中填写consumeSecret。
Twitter-后台配置

6.Instagram后台配置

打开Instagram开发者页面,注册账号并登陆。点击“Manage Clients”标签打开应用列表,点击“Register a New Client”新建一个客户端。
Instagram-后台配置
在新建客户端的页面填写相关信息提交即可完成创建。
Instagram-后台配置
回到“Manage Clients”页面,点击刚刚新建的客户端可以查看详情,在这里可以看到Client ID和Client Secret。
Instagram-后台配置
新建的客户端的状态是“Sandbox”,在这种状态下,所有参与测试的人员都需要添加到“Sandbox”才能参与测试,添加用户到“Sandbox”的方法如下:打开“Sandbox”标签页面,输入邀请的用户名,用户名不是邮箱,一般用户名是注册邮箱@符号的前部分。注意,添加后一定要保存才能生效。保存后通知被邀请人接受邀请,可在“Sandbox Invites”看到邀请记录,接受邀请后的用户可以测试登录。
Instagram-后台配置
应用如果完成了测试要准备上线,需要将应用发布为正式状态,在“permissions”标签下,点击“Start a submission”进行权限申请。
Instagram-后台配置
在下一步选择“My app allows people to login with Instagram and share their own content.”,填写相关信息,这一步需要一个视频演示链接,完成提交后等待审核即可。
Instagram-后台配置

7.智能客服 AIHelp后台配置

AiHelp官方支持地址:
https://aihelp.net/elva/FAQ/FAQList.aspx?l=zh_CN&SectionID=0&pf_app_id=5

AiHelp 官方后台配置文档地址(页面内有下载链接介绍文档pdf):
https://aihelp.net/elva/FAQ/FAQList.aspx?SectionID=3392&LanguageID=5&pf_app_id=5&kmContentId=122760

已下是常用功能配置说明,需更多更详细请到官方下载最新pdf文档

7.1.新建应用

7.1.1 左侧“设置”-> “应用”-> “+”如下图位置

WechatIMG548
弹出界面,输入应用名称,点击“Add”完成新建 如下图
WechatIMG549

7.1.2 选择新建应用,如下图操作

WechatIMG550

选择中刚刚新建应用,会切换到应用下内容。

7.2.获取参数

如果不在需要app下,需按照 7.1.2 切换app
左侧“设置”-> “应用”-> “+”如下图位置

WechatIMG551

7.3.添加语言

设置语言后app应用Aihelp部分功能支持多语言。
左侧“设置”-> “语言”-> “添加语言”如下图位置
WechatIMG552
点击设置后,弹出语言列表,可以增加需要语言
WechatIMG553

7.4.配置FAQ

此功能配置是在app 应用中FAQ相关功能

7.4.1.新建FAQ分类

左侧“机器人”->“常见问题”-> “[分类]”-> “新增分类+” 如下图位置
WechatIMG554

弹出新增页面,输入名称和顺序编号后保存

WechatIMG556

WechatIMG555

分类列表会出现新建分类,左侧栏也会出现对应分类

7.4.2编辑FAQ分类

在分类列表中,点击如下图按钮
WechatIMG558

弹出详情页面,可做对应修改。其中中文,英文对应aihelp sdk显示的语言内容。

WechatIMG557

7.4.3.新建FAQ

在左侧栏选择FAQ分类->“新增FAQ”,如下图
WechatIMG559

弹出新增页面

WechatIMG560

7.4.4.编辑FAQ

在FAQ列表中,点击如下图按钮

WechatIMG562

弹出详情页面,其中语言对应aihelp sdk显示的语言内容。

WechatIMG563

7.4.5.发布FAQ

如,在热门问题分类下,创建了一个信息,然后发布流程
左侧“机器人”-> “常见问题”-> “发布” 如下图位置

WechatIMG564

7.5.配置运营模块Tab

此功能是app应用中运营界面功能

7.5.1.新建Tab

左侧“运营支持”-> “运营模块”-> “[Tab设置]”-> “新增Tab” 如下图位置
WechatIMG566

弹出新增页面

WechatIMG567

7.5.2.编辑Tab

左侧“运营支持”-> “运营模块”-> “[Tab设置]”-> 编辑,如下图

WechatIMG568

7.5.3.新建文章

左侧“运营支持”-> “运营模块”-> “[Tab列表]”,选择刚才创建的tab1,点击新建,如下图
WechatIMG569

弹出新增页面

WechatIMG570

7.5.4.编辑文章

在文章列表中,点击如下按钮
WechatIMG571

弹出详情页面,其中语言对应aihelp sdk显示的语言内容。

WechatIMG572

7.5.5.发布Tab

Tab要在app应用中显示需要发布,每次修改都需要发布。
左部“运营支撑”-> “运营模块”-> 需要发布的Tab -> “发布” 如下图位置
选择平台、语言后发布

WechatIMG573
发布后,效果图如下
WechatIMG575

7.6 自定义SDK配置

7.6.1 展示头像配置

WechatIMG575

7.6.2 APP对外名称配置

WechatIMG575

7.6.3 设置横竖屏

WechatIMG945

7.6.4 更多其他配置

另外还包含欢迎语设置,主题设置等等功能。
详情请参考:
https://aihelp.net/FAQ/#/AIhelp%20Support/app/zh_CN/EB5AE263D8AB85A4/35E3B9E6396692FE/396CD31FF6A33A5D

8.华为HMS后台配置


8.1 基本流程

1、登录流程
WechatIMG575

参考:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/dev-process-0000001050443773
2、支付流程
WechatIMG575
参考:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/dev-process-0000001050033070

8.2 配置AppGallery Connect

1)注册成为开发者
2)在 AppGallery Connect创建项目、创建应用
A、 如果没有项目,则创建项目,我的项目—添加项目,输入项目名称,确认,则项目创建成功。
WechatIMG575

WechatIMG575
点击确定完成后,点击添加应用,跳转添加应用界面
WechatIMG575

WechatIMG575

注:需要集成支付能力,包名后缀必须为.HUAWEI或者.huawei

B、如果已存在项目,则可在项目下,创建具体的应用,一个项目下可创建多个应用
WechatIMG575


3)生成签名证书指纹
keytool -list -v -keystore C:\TestApp.jks
执行结果如下:

WechatIMG575

说明:C:\TestApp.jks表示应用签名文件,CP替换成自己的签名文件即可。

4)在“我的项目”中找到刚创建的项目项目,找到对应的应用,配置SHA256证书,如下图所示
WechatIMG575

5)打开相关服务
5.1)打开API权限服务,在“项目设置”->“API管理”菜单中,开启相应服务,如下图所示:
WechatIMG575
登录服务为 Auth Service,支付服务为 In-App Purchases,其他权限为创建应用默认开启的权限,可以忽略。

此操作为项目级别操作,操作完后,项目下所有应用都会有此权限。

5.2)配置支付参数
① 在我的项目中,选择具体某个应用,在左侧导航栏选择“盈利 > 应用内支付服务”,点击“设置”。

WechatIMG575
说明:如果首次配置会弹出签署协议弹框,其中订阅通知地址,可不填写

8.3.获取应用的AppGallery Connect配置文件

1)获取agconnect-services.json文件
WechatIMG575

8.4.配置商品

1)打开“ AppGallery Connect”->“我的应用”->“运营”菜单,如下:
WechatIMG575

2)点击“添加商品”,如下图所示:
WechatIMG575
填写商品相关的商品信息,点击保存即可,这里选择“消耗型”商品。

3)创建商品后,默认状态为失效状态,需要点击激活按钮:
WechatIMG575
点击后,提示此商品将被开放购买,点击确认。

8.5.配置沙盒测试账号

参考:https://developer.huawei.com/consumer/cn/doc/distribution/app/agc-tester_account_mgt

接入完支付sdk后,华为提供沙盒支付测试模式。打开华为AppGallery Connect管理后台,选择用户与访问,选择左侧沙盒测试栏目下的测试账号,点击新增,输入华为账号即可
WechatIMG575

WechatIMG575

注:测试帐号必须填写已注册、真实的华为帐号。

添加完成后,使用此沙盒测试账号,支付时,可以直接进行沙盒支付测试

8.6.配置华为分析

1)接入流程
WechatIMG575
2)后台开启分析服务

a、如果没有华为开发者联盟帐号,需要先注册帐号并通过实名认证。详细操作请参见帐号注册认证。
b、参见创建项目和在项目中添加应用完成应用的创建。
c、登录AppGallery Connect网站,点击“我的项目”图标
d、选择需要查看分析数据的应用。
e、点击“华为分析”下的任意菜单,并点击“启动分析服务”按钮可开通分析服务。(注:需拥有产品管理权限才可开通服务)

WechatIMG575

f、进入“项目接入设置”页面,设置数据存储位置、数据共享设置、支持行业分析、标识用户、时区、货币、设置用户数据留存时间、设置自然周定义后,点击“完成”,即完成Analytics Kit 服务开通。对于支持行业分析,如果您已经设置应用的分类情况,则默认开启

WechatIMG575

g、开启后,选择项目设置–我的项目–应用,下载最新的配置文件,给到研发进行更新

WechatIMG575

3)调试

1、开启/停用调试模式

调试模式打开后,所有事件将实时上报,在应用调试界面可实时查看上报的数据。
说明:请将命令行中的“package_name”字段替换为您的应用包名
数据成功上报后,“华为分析 > 应用调试”页面会展示出数据,如下图

WechatIMG575

2、您可执行如下命令行,停用调试模式

8.7.开通华为性能分析

参考:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-apms-viewdata

进入“质量->性能管理”,如果APM服务未开通,请点击“立即开通”按钮,开通APM服务

WechatIMG575

说明:
由于开通服务时可能需要设置数据存储位置,设置数据存储位置后会刷新agconnect-services.json文件里的配置。如果您开通服务时设置了数据存储位置,在开通完成后您需要重新下载agconnect-services.json文件并集成到您的工程中。

9. appsflyer后台配置

9.1 appsflyer卸载配置

说明:
需要完成Google Cloud后台Appsflyer卸载检测配置操作,如已操作可继续执行以下步骤

进入appsflyer后台 ,选择项目-配置-卸载模块,如未开启则点击开启

WechatIMG601

输入 选择HTTPV1
输入 Project ID(获取 Firebase Project ID )
点击Test connection 按钮,测试成功会提示:Success! Your app is connected to Firebase
然后保存设置,即完成操作。

WechatIMG594

版本变更记录(WingSteamExeSDK)

wapublisher No Comments

WingSteamExeSDK-1.0.1(2023.12.12发布)

  • WingSteamExeSDK变更如下:对接文档
    1.新增Exit退出方法,程序退出时调用

WingSteamExeSDK-1.0.0(2023.11.14发布)

  • WingSteamExeSDK变更如下:对接文档
    1、登录:集成steam登录
    2、支付:集成steam支付
    3、数据收集:WINGSDK数据收集