# 客户端 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
    9
  • apk包登录正常,aab包登录错误

    与.apk不同,当上传.aab(应用程序捆绑)时,谷歌现在强迫签署该文件,并且它默认这样做。
    当谷歌签署它时,它使用SHA1。
    你只能通过访问你的谷歌游戏控制台帐户在签名部分看到:
        (在谷歌搜索 "谷歌游戏控制台 - 播放应用程序签名")
    在这里你可以看到谷歌使用的SHA1:这个SHA1是你必须放在Firebase配置中的
        (不是你在aab文件中的私人签名的SHA1,而是谷歌签名的SHA1)。
    
    1
    2
    3
    4
    5
    6
  • Google支付遇到“无法购买您要买的商品?”问题

    保证 versionCode 和版本号与你上传的apk的包的一样。
    保证后台和你传入的购买商品的 id 一致。
    确保你所使用的账号是在测试人员里。
    应用签名和google后台上传保持一致。
    
    1
    2
    3
    4
  • Google支付其他问题

    版本应用未提供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
    7
  • facebook密钥生成

    注:需接入方自行生成并妥善保管,建议避免对任何第三方透露该信息

    谷歌证书生成
    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 SDKFacebook 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


Last Updated: 2024/5/17 03:10:07