接触海外发布不久,遇到了一些,在此做个记录,分享下,避免大家踩坑。这里只记录问题,业务
流程会在后面进行分享。大伙遇到问题也可以留言分享。一起避免踩坑
先来大Boss:Google
1、登录报错10:主要从三个方面进行排查,签名,包名,web ClienId。
签名:查看打包的签名是否用错,再次检查是否在google后台配置的签名对的上,如果是在firebase创建的应用在需要查看是否配置了sha1 签名。
clienId:一定要用web Clienid ,很多小伙伴可能都会用了安卓 clienId.
有种奇葩情况,在google clound 创建的android 应用配置的签名和firebase配置的不一致。
包名:没啥好说的。
2、登录报错12500:这个是没有在firebase 后台配置邮箱信息。
配置完上面的信息发现还是原来的错误,就需要清除缓存了,去到应用设置里面把Google 服务和Google Play清除数据与及删除应用重装测试。
注:登录不需要上传包体都能测试。支付需要上传包体,并且添加了测试账号,加入测试计划才能测试。
google 提包需要注意的问题:
1、不能获取Imei信息和权限。mac,设备序列号信息。
2、targerversion>=31
3、包体的格式为aab
4、额外的授权,例如相机,录音等权限的获取,需要在隐私政策填写说明审核。
google web登录:需要拿client_screet配置到后台Google Cloud《格式类似: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Xr》 google web登录: 需要配置域名: https://console.cloud.google.com/apis/credentials/oauthclient/ 898737821610-3ifknma0iousikj62u82mdefiqfldf8n.apps.googleusercontent. com?authuser=0&orgonly=true&project=mytest-2271a&supportedpurview=organizationId google支付: gp后台配置的价格和拉起支付的价格没对上。因为勾选的发布地区没有gp账号的所属的地区,这时gp会获取实时的汇率来进行换算,也就可能对不上gp后台配置的了。
google 开启推荐需要注意的问题:
1、icon需要前后景图。
2、如有通知,需要栏icon需要icon的白底。
3、支付价格和语言都要本地化。
4、需要添加物理键返回按钮显示退出弹框。
google 五星好评: 为了提供优质用户体验,Google Play 会强制执行一个限时配额,用于规定系统向用户显示评价对话框的频率。由于存在此配额,在短时间内(例如,不到一个月内)多次调用 launchReviewFlow 方法时可能不会始终显示对话框 测试条件 https://developer.android.com/guide/playcore/in-app-review/test?hl=zh-cn
服务请求支付服务没权限,需要在google clound用google devlope 项目下主服务账号,这可能是项目默认关联的是google devlope的了。
Facebook:
1、配置关联google应用,找不到包名,google必须发布应用或者发布预注册才能关联到,开启内测或者封闭测试都还关联不了。
2、登录签名错误:facebook的签名和其他渠道的签名不同,并不是sha1,sha256,md5,而是要用facebook的api来获取(运行目标签名包获取该值)
/** * Facebook 的秘钥散列 * @param ctx 上下文 * @return 秘钥散列 */ public static String getKeyHashes(Context ctx) { if(ctx==null){ return null; } String rst = ""; try{ PackageInfo info = ctx.getPackageManager().getPackageInfo(ctx.getPackageName(), PackageManager.GET_SIGNATURES); if(info==null){ return null; } for(Signature signature : info.signatures){ MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); byte[] digest = md.digest(); rst = Base64.encodeToString(digest, Base64.DEFAULT); BlackLog.showLogI("packageName :"+ctx.getPackageName() +" KeyHashes = " + rst); } }catch (Exception e) { rst = e.getLocalizedMessage(); e.printStackTrace(); } return rst; } |
facebook web登录:显示load Faile ,查看后台是否配置fb参数。 facebook 登录提示你的应用尚在开发中。 1、fb关联的商店应用还没上架。 2、fb关联的商店应用已下架。 3、fb后台没发布上线。 4、只要发布上线了,即使不配置包名,签名也可以登录。 5、配置包名,签名是为了分享,事件记录,获取更多信息权限。 6、web的登录需要在fb后台配置相关域名。并且开启jssdk登录。 错误信息:(JSSDK Option is Not Toggled Please toggle the "Login with Javascript SDK" Option to Yes in developers.facebook.com to use the JSSDK for Login.) https://自身域名/ https://localhost/ 7、此应用无法使用fb登录,我们正在更新此应用的其他详细信息。(fb后台签名信息是否配置上) https://blog.csdn.net/baidu_38627723/article/details/120438988 8、facebook 登录一直提示token过期(facebook 后台公司没认证) 9、应用认证:facebook.com, appid, DIRECT
OneStore:
1、需要全部商品都测试通过。 2、需要正确的包名、和商品id,以及下载了onestore商店。
Naver:
naver 登录: 1、检查包名,参数 naver 社区打不开: 1、ApiCallExceptionHandler: statusCode=401, errorCode=24, errorMessage=Scopes are Empty : Authentication failed. (인증에 실패했습니다.) 需要设置api为搜索,然后配置非登录开放api服务配置。(和2一样操作即可) 2、ApiCallExceptionHandler: statusCode=401, errorCode=24, errorMessage=Scope Status Invalid : Authentication failed. (인증에 실패했습니다.) 在SDK管理页面,删除client id 重新配置。 3、naver statusCode=403, errorCode=40801 发送临时错误。 1、检查参数是否正确,包名是否正确。 2、检查后台是否配置主页横幅,公告,留言板等信息。并且是曝光状态。
naver 登录: 1、检查包名,参数 2、naver出包需要去除相机权限,去除http配置。
Amazon:
1、需要在assets目录下配置api_key.txt文件
Hms:
1、登录6003,还没配置签名证书sha256
Twitter:
Adjust:
1、adjust清除设备: 需要修改token和广告id 安卓:https://app.adjust.com/forget_device?app_token=j9ealctanyf4&adid=4a47b559a8cc4185a13ec8cc0ebe1e5e iOS: https://app.adjust.com/forget_device?app_token=lazo9lr1agow&adid=da4b1369-60d0-409a-bd4a-fc6b12d655b1
Firebase:
三星支付: 1、需要使用三星设备测试。 2、三星支付的测试有三种状态,成功,失败,正式环境,初始化的时候设置;测试失败: OPERATION_MODE_TEST_FAILURE 测试成功:OPERATION_MODE_TEST 正式环境:OPERATION_MODE_PRODUCTION 3、正式环境的测试,需要上传包到三星后台,并且生成一个下载链接,通过这个链接下载安装测试。 4、需要在三星后台添加一个测试用户,并且在设备中登录。