WingSDK对接常见问题解答

WingSDK对接常见问题解答

wapublisher No Comment
Uncategorized

登录

公共问题

Q:为什么登录方式为空

A:
1. 是否已在SDK 后台添加对应的登录方式? 登录平台管理
2. SDK 后台对应的登录方式是否已打开? 直接使用SDK已对接的登录方式
3. SDK 后台对应的登录方式是否为正式状态? 直接使用SDK已对接的登录方式
4. SDK 后台登录方式为测试状态时,是否已将当前设备添加到测试设备列表? 登录/支付平台测试模式的使用

Facebook

Q:Facebook登录失败?

A:
请检查:
1. Facebook后台是否已完成登录相关配置? 第三方后台配置—Facebook
2. Facebook后台配置的keyhash 是否与游戏中的keyhash相同? 添加签名秘钥散列
3. 当前用户是否已添加为Facebook测试用户? Facebook添加开发者

Q:facebook登录网页可以登录装了facebook app就报key hash不匹配,配置对key hash之后登录黑屏

A:
可能是key hash不匹配导致,检查facebook 后台的key hash配置。
参考WINGSDK第三方配置中如何配置Facebook密钥散列

Q:facebook登录(iOS)确认之后浏览器(网页)没有返回问题(错误码308)

重现步骤:
第一步:点击facebook登录按钮
第二步:点击确定
第三步:页面跳转后没有关闭,始终停留在此页面(正常的情况下是自动关闭浏览器返回游戏界面)

A:看是否调用facebook登录多次

Google

Q:google不上架google play应用市场,是否可以使用google登录

A:
经过测试是可以的

Q:Google登录失败?

A:
请检查:
1、 Google后台是否已完成登录相关配置? 第三方后台配置—Google
2、 Google后台是否已配置 web application 类型的应用? 配置应用的OAuth Client Id
3、 SDK 后台是否已配置对应的web类型的client id?
直接使用SDK已对接的登录方式

图片1

4、 游戏中是否已配置对应的Google登录信息? 4.1.1 Google基本配置

5、从Google Play下载的应用登录失败,请检查Google Play控制台应用的设置>应用完整性的应用签名密钥,其SHA-1是否已在CCP(Google Cloud Platform)中配置对应该应用的Android类型oauth client id,若未配置,则需要配置
配置应用的OAuth Client Id

6、非Google Play下载的应用登录失败,需要确保该应用包使用正式的应用签名文件来签名打包应用包。可以通过比较打包时所用的签名密钥文件的SHA-1,同GCP(Google Cloud Platform)配置该应用的Android类型oauth client id中配置是否一致来确认,一致即说明使用了正确的签名文件。

配置应用的OAuth Client Id

7、是否开启了vpn,需要开启vpn
8、若运营刚配好Android Client ID,需要一段时间登录才能生效,之前测试是隔天

Q:Google推广流量归因不到(全是自然流量)?

1、检查Firebase,项目设置>集成>Google Play 中是否使用主账号关联?
2、检查项目设置>集成>Google Play 中应用是否关联?
3、如上述有调整,需要在Firebase后台下载新的google-services.json给研发,重新出包

Q:调用WINGSDK android端的初始化后应用闪退

A:
看是否是在非主线程中调用了WINGSDK的初始化方法,应该放到主线程中调用,比如:
UnityPlayerActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
WAUserProxy.loginUI()
}
});
涉及到界面的接口都需要在主线程中调用。

Apple

Q:iOS9/iOS8 game center 登录问题 iOS8三次登录取消之后不再显示登录窗

A:
iOS8三次登录取消之后不再显示登录窗口,需要自行到game center中主动登录
iOS9无论多少次登录取消都可以显示登录窗口

Q:iOS apple登录时报错This game is not recognized by game center

A:
检查itunes connect里面是否有添加排行榜和成就;
检查game center的开关是否已经关闭

Q:iOS还没上线, 需要测试GameCenter登陆, 需要怎么配置

A:
首先需要在apple itunes connect配置测试账号,其次在WINGSDK后台登录方式要配置好apple类型登录方式,如果是正式状态,可以直接使用苹果账号测试;如果是测试状态,需要先添加测试设备。

支付

公共问题

Q:支付方式为空?

A:
请检查:
1. 是否已在SDK 后台添加对应的支付方式? 支付平台管理
2. SDK 后台是否已配置对应商品? 商品管理
3. SDK 后台支付方式为测试状态时,是否已将当前设备添加到测试设备列表? 登录/支付平台测试模式的使用

Q:游戏中已完成了支付,为什么没有收到对应的商品?

A:
请检查SDK 后台对应订单的状态:

1.如果订单是支付失败,请联系SDK相关人员排查具体的原因。
2.如果订单是支付成功,但是发货状态为 未通知或通知失败, 请联系SDK 相关人员联合排查具体的原因。
3.如果订单是支付成功,发货状态也是通知成功,请联系CP 排查游戏未发货的原因。

Google

Q:如何测试Google支付

A:测试Google支付,需要给Google账号添加银行卡,地址是:
https://pay.google.com/payments/u/2/home?pli=1#paymentMethods,如果添加不上,有可能是银行卡地址有问题,尝试使用美国地址,如下图:

图片1

Q:如何添加测试账号

A:目前添加测试账号如下:
1、给单个应用添加测试账号【建议】参考:《添加Google Play测试用户》章节

2、同时给所有应用添加测试账号,操作如下:

进入在google play后台https://play.google.com/apps/publish ,在设置->开发者账号->账号详情->许可测试中添加测试者账号,如下图:

图片2

Q:android游戏客户端Google支付后后台校验失败导致无法完成交易,无法进行第二次购买

A:
google服务账号需要开通“查看财务报告”权限,检查是否是此原因。具体方法可以参考WINGSDK第三方配置中如何配置google账号的财务权限。http://blog.wing-analytics.com/archives/2783.html

Q:google支付调用第二次发生闪退

A:
请检查支付的onActivityResult接口有没有调用

Q:Google play的应用内支付是如何显示本地货币的

A:
首先是从google账号里面获取,如果获取不到就可能是其他一些未知的币种,一般在美国之外是用us.
请参考:https://support.google.com/googleplay/answer/6220312?hl=en

Q:有时财务会收到一些Google订单的款项, 然后发现充值到帐了但是我们后台没发货记录, 这种可以追溯到是哪个玩家充的吗?

A:
如果在WINGSDK后台查不到该笔订单的订单号,就相当于掉单了。除非玩家主动联系客服提供用户昵称和用户id等信息才能追溯到是哪个玩家充的,进而判断是否需要进行充值补单操作。

Q:Google应用内支付遇到“无法购买您要买的商品”

A:
请检查:

1.保证在开发者控制台已经上传程序APK并且发布成功(发布应用后需要等待一段时间才能完成发布)
2.保证测试程序的Package Name和上传发布的包一致
3.保证测试程序的VersionCode和上传的发布的包一致(或在发布过的测试包中存在一致)
4.保证Google后台的商品SKU和应用配置的一致(SDK后台中商品信息配置)
5.保证GooglePlay商店已安装(一般来说只要弹出支付是没问题的, 如果商店无法使用,请检查)
6.保证支付账号是测试人员账号, 你在测试阶段可以正常支付你的游戏 (如果是Beta版,封闭式测试,把测试账号加入测试组,并且需要接受邀请成为测试员,需要点击链接接受邀请成为测试人员)
7.保证当前设备中只有一个Google账号。
8、如果是新创建的google应用,需要在内部封闭测试版本审核通过后,才能测试支付(表现为google登录正常,拉取商品时,提示get google product fail! ,在调用支付的时候,提示 sku not found on google server)

Q:Play游戏电脑版有什么要求以及如何测试

A:
1)SDK接入要求
SDK在3.17.0才有针对Play游戏PC做适配,所以必须升级接入3.17.0及以上版本。另外必须接入SDK的Play Game Service功能,参考:
http://blog.wing-analytics.com/archives/2391.html#355

2)游戏上线要求
Google要求游戏需要对PC做兼容性和优化方面的调整,这方面需要研发在游戏方面达到对应要求。

如果目标是达到上线要求即可,可以只满足兼容性要求:

https://developer.android.com/games/playgames/checklist?hl=zh-cn#publishing-requirements

如果目标是拿到Google的推荐位,建议满足优化型的要求:

https://developer.android.com/games/playgames/checklist?hl=zh-cn#optimized-requirements

SDK要求:
SDK在3.17.0才有针对Play游戏PC做适配,所以必须升级接入3.17.0及以上版本

3)启用外形规格怎么选
参考:

https://developer.android.com/games/playgames/development-submit?hl=zh-cn#add_the_google_play_games_on_pc_form_factor
如果打出的游戏包,同时支持移动端和PC端,那么选择 使用与您的移动应用相同的发布轨道和工件,在后续的测试及正式轨道中,Play游戏PC的分发会合并到手机等项中,效果如下图第一个。
如果打出的游戏包,是需要分别支持移动端和PC端,比如发布移动端需要单独出包A,发布PC端需要单独出包B,那么选择为 Google Play 游戏电脑版使用专用发布轨道,效果如下图第四个。
效果参考:

图片1

4)如何测试

具体参考:

https://developer.android.com/games/playgames/development-submit?hl=zh-cn 大概步骤:
1.在封闭测试中,指定 仅分发至Play游戏电脑版(根据外形规格定),创建Play游戏PC专用测试轨道
2.提交应用
3.添加测试人员
4.提交审核
5.审核通过后的,测试人员接受邀请,并在 Play游戏电脑版 客户端上安装游戏并测试

4)上线注意
在正式版需要根据外形规格选择对应分发平台,再创建新的发布版本。

Apple

Q:更换bundle id和证书后,商品不可用,证书是新证书,出现invalidIndentified,商品id无效

A:
请检查是否是开发者中心的合同过期没有重新签署。

另外也可以检查以下检查项:
1.创建的App ID是否启用了IAP功能。
2.商品信息是否配置到iTurn Connect,并到达“Ready to Submit”状态。
3.在iTurn Connect中创建Test User,并收取邮件激活。之后登录到测试用手机的设置页面中(Store选项)。
4.App的Bundle Id是否和苹果开发者中心配置的App Id一致。
5.是否创建相应的provisioning profile,并用此签名App。
6.iTurn Connect后台配置完商品信息后,是否等待若干小时生效。
7.SKProductsRequest请求的商品Id必须和iTurn Connect中配置的一致。(如:com.test.product.xxx)
8.iTunes Connect中配置的银行信息是否正确。
9.是否先删除旧App,再重新编译生成新的。
10.请不要使用越狱手机测试。

Q:iOS的ipa开发包,如何在新设备上安装?

A:

登录苹果开发者后台,https://developer.apple.com/account/resources/devices/list ,添加测试设备标识,然后更新对应打包证书,添加刚才新加入的设备,保存。然后下载新证书,发给研发重新打包。

Q:ios越狱机是否可以使用apple官方渠道内购

A:
目前WINGSDK只支持在非越狱机器使用apple官方渠道内购。在ios越狱机中,sdk调用api去获取sdkproduct有可能无法获取到商品详细信息,也就无法进行下一步购买。

Q:使用apple sandbox账号无法登录game center,无法进行苹果支付

A:
sandbox账号不是真实账号,登录不了game center。尝试在手机上把apple id删掉,然后在游戏里进入购买流程,弹出要输入apple id的对话框,使用sandbox账号进行购买。

Q:苹果沙盒充值需要哪些步骤

A:
大致包含以下步骤
1.配置App 支付功能和证书下载(苹果开发者中心)
2.需要在app connect配置测试账号(itunes connect)
3.需要在app connect配置商品(itunes connect)
4.同步app connect商品到wing SDK后台
5.集成WINGSDK接口

Q:在WINGSDK后台配置成正式环境,能否使用沙盒账号进行购买

A:
只要是沙盒测试的账号,就会自动切换到沙盒环境,和是不是配置为正式没关系。

Q:sdk(google/apple)是请求商品信息的流程是怎么样的

A:
iOS和android请求商品的流程相似:

1.首先需要在apple/google后台配置商品信息
2.在WINGSDK后台配置同样的商品信息(包括产品id,基准货币和游戏币数量)
3.调用接口获取商品列表(接口首先是获取ghw后台配置的商品列表id后,根据商品id 列表去apple/google获取商品具体信息),这个商品列表里包含了apple/google后台配置的具体信息

数据收集

Q:SDK 后台没有Appsflyer的安装、事件回调?

A:
请检查Appsflyer后台是否已配置push api callback。

Q:SDK 有Appsflyer的安装事件回调,但是无法配置渠道信息?

A:
1、请检查wingsdk后台应用商店信息中,Android包名(iOS的Bundle ID)是否设置正确。
2、请检查wingsdk后台应用商店信息中,ios的平台应用ID是否设置正确(id+Apple ID)。

SDK 后台没有Facebook 安装,而Appsflyer后台有?

A:
请检查是否已在Appsflyer后台同意FB相关协议(Terms of Service)。

Google推广流量归因不到(全是自然流量)?

1、检查Firebase,项目设置>集成>Google Play 中是否使用主账号关联?
2、检查项目设置>集成>Google Play 中应用是否关联?
3、如上述有调整,需要在Firebase后台下载新的google-services.json给研发,重新出包


AF返回的FB渠道数据从2021年11月开始返回media_source都是restricted

A:
从20211029日之后,针对android平台,在appsflyer后台,针对facebook的渠道,需要添加Install Referrer Decryption Key

1、进入facebook管理后台,找到对应的应用,找到设置–基本-Android下的Install Referrer Decryption Key,copy
许可测试中添加测试者账号2
2、进入appsflyer后台,左侧菜单找到配置-合作伙伴配置,选择facebook,下的Facebook对接配置,有一项Install Referrer Decryption Key,粘贴步骤一中copy的Install Referrer Decryption Key,然后保存
许可测试中添加测试者账号2
许可测试中添加测试者账号2

Firebae 后台看不到in_app_purchase事件

https://support.google.com/analytics/answer/9234069

in_app_purchase事件为firebase内部自动发送事件。
首先检测firebase后台是否将Goole Analytics(分析)关联到Goole Play

图片1

图片2

社交

Facebook

Q:Android端邀请好友不成功,闪退等

A:
可能是证书的key hash没有在facebook后台配置, 参考WINGSDK第三方配置中如何配置Facebook密钥散列http://blog.wing-analytics.com/archives/2783.html

Facebook小游戏

Q:如何获取设备clientId用于添加测试设备等。

A:
window.localStorage.getItem(‘ghw_wing_client_id’)

Q:小游戏分享能否知道是否分享成功

A:
目前Facebook小游戏的分享接口没有分享成功的回调,无法判断。只要能拉起分享对话框,就当做是成功了。

Q:小游戏如何测试支付

A:
目前需要在带google play的android机上才能,google账号需要绑了银行卡,然后把FB账号加入到Facebook开发者后台白名单里(如下图),才能做虚拟充值。
才能做虚拟充值

Q:小游戏提交提示:不能调用私有API

850E9ED82E5E847CF364201A8C31FC77

A:
这对上传应用报引用私有api问题 修改建议

1、在引用js时 第二行的注释代码不能删除、

第二行注释不能删除

2、parent.postMessage为私有api。把引用的parent.postMessage删除,或者通过拼接方式调用,搜索时,搜索不到即可 。示例如下:

AIHelp客服

Q:怎样让VIP玩家才能看到人工客服入口?

A:
如果是VIP玩家,需要CP调用WACscProxy.openAiHelp(String language,boolean isVip)接口时,设置isVip参数为ture,便表示允许该玩家使用人工客服

Q:Android、iOS横竖屏自适应?

A:
Android和iOS默认都支持自适应
iOS如果游戏是横屏,关闭了竖屏权限,则aihelp无法竖屏。
如果cp需要支持aihelp自适应,请参考如下处理:
可以在RootViewController.m文件中添加supportedInterfaceOrientations方法,并返回游戏的支持方向

-(UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;

}

Q:怎样更换机器人客服头像?

A:
参考博客展示头像配置 章节

Q:怎样实现客服沟通后弹出商店评分?

A:
参考地址 https://aihelp.net/FAQ/#/AIhelp-Support/app/zh_CN/EB5AE263D8AB85A4/6F0620193A22ADC0/1EDD468D9FBD439A
操作步骤:玩家提问问题后,客服选择回复并解决。玩家打5分后,会弹出是否喜欢这个app,去打分?点击进入打分环境

2O0XC860RK1FOt3r

Q:CP怎样自定义FAQ展示

A:
1)展示FAQ分类:
a、首先需要运营人员确认使用哪条FAQ分类,
b、然后找客服人员提供此条FAQ分类的PublishID(查找方法:可以在AIHelp 后台 中,从FAQs菜单下[Section]菜单,鼠标放在分类出,大概2s左右,会弹出PublishID)
c、然后开发人员调WACscProxy.showFAQSection方法传递PublishID,进行单FAQ分类展示,接口详情请参考WINGSDK使用指南

附 aihelp后台获取FAQ分类的PublishID截图:
iOS

2)展示单条FAQ
a、首先需要运营人员确认使用那条FAQ,
b、然后找客服人员提供此条FAQ的faqId(查找方法:faqId为FAQ的编号,打开AIHelp 后台中,在机器人→常见问题页面下找到指定FAQ的FAQ编号,注意:此faqId不能填写客服后台未存在的FAQ编号。)
c、开发拿到faqId后,调用WACscProxy. showSingleFAQ方法,传递faqId进行单条FAQ展示,接口详情请参考WINGSDK使用指南

附 aihelp后台获取单条FAQ的faqId截图:
iOS

Q:如何禁止玩家上传视频?

A:
Aihelp后台-增值服务-上传视频-功能开关,关闭开关,可以禁止玩家在人工客服、表单页面提交视频

iOS

Q:aihelp的国际化如何控制?

A:

首先客服设置FAQ支持多语言,然后开发人员调用 WACscProxy.openAiHelp(String language,boolean isVip)设置,如果不设置,aihelpsdk默认使用手机系统语言。以下为aihelp提供的语言列表

iOS

Q:启动运营界面 和启动机器人客服页面区别?

A:
关于运营模块,可以参考这里:https://aihelp.net/elva/FAQ/FAQList.aspx?SectionID=166&LanguageID=5&pf_app_id=5&kmContentId=172981
这两个的区别:启动机器人客服页面,会直接进入机器人聊天界面;
如果接了运营模块,玩家进入机器人页面后,页面上方会有Tab和您这边编辑的内容(如:新闻,公告等),这样玩家在反馈问题的同时也可以看到最新的公告和使用指南等~

Q:Aihelp官方文档有哪些?

A:
Aihelp官方问题列表:
https://aihelp.net/FAQ/#/AIhelp-Support/app/zh_CN/EB5AE263D8AB85A4

iOS aihelp 使用文档
https://github.com/AI-HELP/AIHelp-iOS-SDK/blob/master/README_CN.md

android aihelp 使用文档
https://github.com/AI-HELP/AIhelp-Android-SDK/blob/master/README_CN.md

Q:初始化SDK时异常,提示 AIBOT 初始化失败AliceBotParserException,及AIBOT 返回。。bot。。Exception.

异常堆栈信息参考:

iOS

iOS

A:该异常是AiHelp内部捕获的异常输出,不会影响功能的正常使用,不会引发崩溃等问题,可以忽略该异常日志

其它

Q:Facebook如何添加开发者

A:
添加开发者一般分好友和非好友。
1.好友的话在输入框里面输入好友的用户名就会出现下拉表给选择。
2.非好友可以先添加好友再添加开发者另外也可以通过非好友的facebook个人主页在一些第三方网站比如https://findmyfbid.com/找到facebook id添加开发者
个人主页获取:点击facebook个人头像,复制浏览器跳转的链接地址即可

Q:安装安卓应用时出错 facebook app id 冲突导致应用安装不了 INSTALL FAILED CONFICTING PROVIDER

A:检查是否安卓手机上已经有应用使用了同样的facebook app id,需卸载再安装

Q:Android端sdk报错java.security.cert.CertificateException

A:设备时间设置不对导致网络错误,请校准时间。

Q:如何进行充值补单

A:
玩家投诉后才知道uid是谁,否则不知道补给谁。
充值补单的详细说明: http://blog.wing-analytics.com/archives/1197.html#53

Q:区服单独回调地址解决方案

A:
1.在下单时(调用购买商品接口,如下图)CP单独传发货通知地址,我们会在后台自动替换,这需要CP修改并出包。
android购买商品
android购买商品

iOS购买商品
iOS

2.CP在后台根据serverid进行转发

Q:游戏如何打开log按钮

A:
有两种方式
1.代码调用接口setDebugMode,传入true/YES
2.通过WINGSDK后台添加测试设备来打开,参考http://blog.wing-analytics.com/archives/2354.html#41

Q:Firebase 初始化失败,无法获取token,出现IllegalArgumentException:Please set your project ID.错误

A:
firebase-messaging依赖从升级到firebase-messaging:20.2.4,其使用到的gms谷歌服务插件依赖库也应该同步升级为对应支持版本,若gms插件版本太低(如3.0.0),则会出现上述问题。解决方法如下:
建议gms谷歌服务插件升级为4.2.0版本,该版本已经验证可以支持升级后的firebase-messaging版本。代码:classpath ‘com.google.gms:google-services:4.2.0’

充值中心

Q:研发要怎么接入充值中心

充值中心流程图:

充值中心.drawio

A:
前端(iOS&Android):
安卓参考
iOS参考

后端:
1、提供区服信息接口 ,并在wingsdk管理后台应用配置,参考 配置查询区服角色地址

2、CP需要修改发货接口逻辑。玩家在充值中心支付时,不会走客户端下单流程,SDK会直接通过发货接口通知CP服务器(无透传数据extInfo)。发货接口判断payChannel为WINGA时表示是充值中心订单

运营:
需要提供一张.jpg格式图片,指引玩家查找CharacterID,然后把图片发给wingsdk人员上传,然后生成充值的推广链接(如弹射王推广链接:https://www.wspaymentcenter.com/recharge/dsw)。
弹射王指引玩家查找CharacterID图片 参考

dsw

Q:在充值中心上,输入CharacterID后,无法获取对应的服务器id和角色名

A:
1、确认cp角色接口是否提供,并已配置wingsdk管理后台
2、确认此用户获取短链接口前,已经设置设置了gameUserId和serverId

预注册奖励

预注册奖励流程图:

预注册.drawio

Q:研发要怎么接入预注册奖励

A:
接入Android 3.9.1及以上版本。
研发注意点:
1、预注册奖励会是单独的商品,跟其他商品ID是不同的,此商品对玩家不可见。
2、发货逻辑:玩家登录WingSDK后就会通过发货通知接口通知研发发货,这时玩家是没有创角的,研发需要在玩家创角后或者达到一定等级后根据商品ID发放奖励。
(PS:预注册奖励通知发货时是没有透传研发的orderid,也没有区服、角色,要根据预注册奖励商品ID发货)
3、发放奖励后需要有游戏内通知玩家(比如游戏内邮箱)
4、预注册流程和游戏内部登录流程是两个异步流程。可能会存在预注册发货通知时,游戏内的账号并未生成。研发可做兼容或在接口返回失败等待第二次发货通知。

如何测试:

1、sdk管理后台需要开启 异常订单自动补单。 设置-参数设置-异常订单自动补单(全部打开或者仅Android打开)
2、在sdk管理后台增加预注册商品,像正常的商品那边配置。
3、对预注册商品进行标注。设置-参数配置-服务端-预注册商品ID(参照下图)
4、配置促销代码,促销类型-应用内商品,选择预注册商品id Google 促销商品配置
5、使用促销码,从play商店-账号信息-付款和订阅-兑换代码,输入促销码,参考预注册奖励测试

WechatIMG664

如何获取 client_id

Q:如何获取 client_id

A:

客户端获取:

iOS&Android:

打开调试模式后(iOS 调用 [WACoreProxy setDebugMode:YES]; android调用 WACoreProxy.setDebugMode(true)),点击Logcat按钮,点击-设备信息-clientid,点击获取

F757A84C441ED6EC3E50CE12F7A8F87F

h5sdk&Facebook instant sdk:

打开开发者工具,选择Application,选择Storage,选择Local Storage,查看wing_client_id字眼的value,即是clientid

WechatIMG590

管理后台获取

参考测试设备管理

Leave a Reply