# 客户端 FAQ(国外)
# 各类参数如何获取
# Facebook appid、client token 哪里获取?
FAQ
# Android
# 接入问题
接入后编译提示jdk版本错误
若targetSdkVersion为31或以上,编译时提示jdk版本错误,分两种解决方式: 1.将本地jdk版本升至jdk11,重新编译即可 2.将targetSdkVersion降为30,重新编译即可
1
2
3
# GOOGLE相关问题
登录及支付错误问题
登陆前确保游戏运营和G家后台已添加游戏参数配置 国内版手机确保VPN及google框架正常可运行 确保上传了带有签名的APK文件; 确保设备上安装了带有签名的APK,而不是调试版; 确保在测试中添加了测试人员; 确保设备登录的账号属于测试账号; 确保测试账号激活了测试链接(最容易忽略); 确保设备上的应用版本号和版本名称与Google开发者后台上传的APK一致; 确保商品状态为Active。
1
2
3
4
5
6
7
8
9apk包登录正常,aab包登录错误
与.apk不同,当上传.aab(应用程序捆绑)时,谷歌现在强迫签署该文件,并且它默认这样做。 当谷歌签署它时,它使用SHA1。 你只能通过访问你的谷歌游戏控制台帐户在签名部分看到: (在谷歌搜索 "谷歌游戏控制台 - 播放应用程序签名") 在这里你可以看到谷歌使用的SHA1:这个SHA1是你必须放在Firebase配置中的 (不是你在aab文件中的私人签名的SHA1,而是谷歌签名的SHA1)。
1
2
3
4
5
6Google支付遇到“无法购买您要买的商品?”问题
保证 versionCode 和版本号与你上传的apk的包的一样。 保证后台和你传入的购买商品的 id 一致。 确保你所使用的账号是在测试人员里。 应用签名和google后台上传保持一致。
1
2
3
4Google支付其他问题
版本应用未提供google play结算 1.检查当前安装应用是否和后台审核版本一致 2.谷歌商店最好只保留一个账号 3.谷歌商店不存在当前账号 谷歌支付无弹框 请检查谷歌商店是否支持付费,具体请打开谷歌商店,检查付费栏目是否有数据
1
2
3
4
5
# FACEBOOK相关问题
fb密钥生成
有谷歌证书 openssl dgst -sha1 -binary <GooglePlay的发布证书>.der | openssl base64 无谷歌证书 keytool.exe -exportcert -alias alias别名 -keystore "xxx.keystore" | "openssl工具" sha1 -binary | "openssl工具地址" base64
1
2
3
4登录错误问题
执行查询错误:添加测试人员账号 提示hashKey错误:fb密钥散列错误,重新生成 通过谷歌商店下载fb登录错误: 发布谷歌商店后下载的包是经过谷歌二次签名的 需要解析谷歌后台配置的签名文件重新生成密钥 配置到facebook后台,可通过: openssl dgst -sha1 -binary <GooglePlay的发布证书>.der | openssl base64 重新生成密钥
1
2
3
4
5
6
7facebook密钥生成
注:需接入方自行生成并妥善保管,建议避免对任何第三方透露该信息
谷歌证书生成 openssl dgst -sha1 -binary <GooglePlay的发布证书>.der | openssl base64 keystore生成 keytool.exe -exportcert -alias alias别名 -keystore "xxx.keystore" | "openssl工具" sha1 -binary | "openssl工具" base64 可参考官方文档(为应用提供开发和发布密钥散列): https://developers.facebook.com/docs/facebook-login/android
1
2
3
4
5
6
7
8
# 分享相关问题
Facebook、Messenger、WhatsApp这三个App均不支持文字、链接、图片这三种内容同时分享
分享链接到Facebook和Messenger的时候,Facebook和Messenger会自动解析链接,有概率会用解析出来的图片作为封面图,具体规则未知,可自行网上搜索相关内容
FAQ
# iOS
# dyld: Library not loaded: **@rpath/**xxxxx
常见原因1
always Embed Swift standard Libraries 属性没有设置成YES (选中 target 中的 一个target 在build settings 中搜索 swift 会出现 always Embed Swift standard Libraries 设置为yes)
常见原因2
某些三方sdk 使用了swift 但是工程中没有配置swift环境,解决方法:在工程中新建一个swift文件 ,同时会自动生成一个bridging.h的头文件,并自动配置swift环境。
# Facebook sdk 报找不到 appid
常见原因1
info.plist中未配置 FacebookAppID字段
常见原因2
未调用下面代码:
[[GHomeAPI sharedGHome] application:application didFinishLaunchingWithOptions:launchOptions]
# 分享功能常见问题
【注意】由于系统和第三方APP限制,无法完全准确判断分享的结果,GHShareResultCode错误码仅供参考
Facebook、Messenger、WhatsApp 这三个APP均不支持文字、链接、图片这三种内容同时分享
分享链接到Facebook和Messenger的时候,Facebook和Messenger会自动解析链接,有概率会用解析出来的图片作为封面图,具体规则未知
WhatsApp Custom URL Scheme 分享,分享只支持纯文字,如果要分享其他内容,比如图片,会走系统分享渠道
WhatsApp Custom URL Scheme 分享,如果安装了WhatsApp,扔提示APP未安装,请检查工程的
Info.plist
中的Queried URL Schemes
中,是否增加whatsapp
Facebook SDK分享,图片分享要求:
1、照片大小必须小于 12MB
2、用户需要安装 7.0 或更高版本的原生 iOS 版 Facebook 应用
Messenger SDK分享,需要安装Messenger应用
# 本地通知常见问题
初始化推送服务是必须要接入的,否则通知功能不会生效;如果用户关闭的推送通知的权限,通知功能也不会生效
noticeId
: 推送id,必传,注意保持唯一性,不同的推送要用不同的id,相同的id会覆盖前一次的推送设置如果
title
subtitle
body
都传空,APP在前台的时候,不会显示通知横幅如果需要带上图片,以下要求是必须的,
可参考demo
- (void)addLocalTimeIntervalNotificationWithImage
方法中的实现方式1、图片路径必须是本地路径,只支持本地图片
2、图片路径中的图片扩展名必须存在,需要根据扩展名来确定图片类型
在调用 当前时间多少秒后开始推送 的方法时
1、如果选择了重复推送,需要将时间设置为60秒以上,否则重复不会生效,只会推送一次
2、时间的单位是秒
在调用 固定时间推送 的方法时,苹果对于NSDateComponents的格式有要求:
1、时间单位要保持连续性,比如:x年x月x日,如果设置为x年x日,推送设置可能会失败。 2、注意时间是24小时制 3、weekday 默认是从周日开始,1 ~ 7,对应周日 ~ 周六
4、weekday不要和年、月、日同时设置 5、如果不需要某个时间单位,不设置即可,不要设置为0,比如:0月6日6时0分,应该设置为 6日6时
6、如果设置了一个具体的时间,重复推送会失效
# iOS 隐私清单和三方SDK签名适配
根据苹果公司发布的 App Store 提交的隐私更新 (opens new window),自2024年春季开始,上架 App Store 的应用需要同时提供一份 App 的隐私清单文件。
当您准备分发 App 时,Xcode 会将 App 使用的所有第三方 SDK 的隐私清单合并为一个简单易用的报告。
这个报告内容全面,总结了 App 中的所有第三方 SDK,让您能够更轻松地创建更准确的隐私标签。
因此嵌入 App 的 SDK 和三方库都需要包含 PrivacyInfo.xcprivacy
。
在7.0.1.0
及以上版本,GHome SDK会默认包含PrivacyInfo.xcprivacy
文件。
GHome SDK中引用的Firebase SDK(Google)
、Line SDK
、Facebook SDK
,均已升级到相应版本,framework中都已添加PrivacyInfo.xcprivacy
。
GHome SDK也增加了隐私协议清单,路径为:GHomeCore18n.bundle/PrivacyInfo.xcprivacy
。
# Facebook登录无法唤起APP
GHomeSDK 7.0.1.0开始,使用的是Facebook 17.0.0版本,Facebook限制了登录方式,不在支持唤起APP。 详情可以查看Facebook官方文档说明 (opens new window)
# 报错:_$s10Foundation3URLV6string25encodingInvalidCharactersACSgSSh_SbtcfC
"_$s10Foundation3URLV6string25encodingInvalidCharactersACSgSSh_SbtcfC", referenced from:
_$s12FBSDKCoreKit7ProfileC17parseLoadResponse33_648786ACD0CD6DC42E8DA4285F823D17LLyACSgypFZ in FBSDKCoreKit(Profile+Loading.o)
请使用Xcode15.0及其以上版本,Facebook已经不支持15.0以下版本xcode
FAQ
# Untiy
- 由于unity不支持web页面,目前导入的是
Embedded_Browser_3.1.0.unitypackage
第三方插件包,加载第三方链接的时候,有概率会被第三方拦截。目前发现的拦截情况是在进行Google登录的时候,插件原userAgent会被谷歌拦截,目前修改了源码中的userAgent,但不保证之后谷歌升级安全策略,再次进行登录拦截。 - Facebook三方登录:如果您尝试使用与帐户注册国家不同的IP进行手机号登录Facebook帐户,Facebook可能会发出“密码不正确”之类的错误,但实际上,密码是正确的。建议使用邮箱或者更换和登录IP国家相符的手机号尝试进行登录。
FAQ
# Cocos
← 客户端 FAQ(国内) 客户端 流程问答 →