Xamarin.Android内购测试报Item unavailable in your country错误
测试应用内购买时提示「商品在您所在国家/地区不可用」,此前同功能测试正常
我在测试应用内购买流程时触发 item unavailable in your country 报错。
该内购功能数天前还可以正常运行,从截图可以看到我之前曾成功完成对应商品的购买,今日重新测试时就持续报上述错误,无法完成购买流程。请问有没有其他开发者遇到过同类问题?如果有相关排查修复经验,麻烦分享下可行的解决路径。


排查与修复方案
我前后三次碰到过完全相同的问题,都是之前跑通的内购测试流程突然报这个错,按下面的顺序排查基本都能定位解决:
- 优先核查后台内购商品配置
不管是Google Play Console还是App Store Connect,第一时间确认对应内购项的销售范围/可售地区是否被误修改:协作者调整合规配置、后台自动更新规则时,都可能把测试账号所在地区从可售列表中移除;另外要确认内购项没有被意外设为「已下架」「待审核」状态,这类状态异常不会直接提示配置错误,经常会误报地区不可用。 - 检查测试账号状态
安卓端先清空Google Play商店缓存,强制停止应用后重开,再确认测试账号仍在应用的「许可测试名单」中——这个名单经常出现玄学bug,哪怕没有做任何配置修改,放一两周就可能自动失效,把账号删除后重新添加,能解决90%的测试环境内购问题;iOS端要确认沙盒测试账号的所属地区和后台配置的可售地区匹配,如果沙盒账号近期切换过地区,直接退出账号重新登录,清除缓存的地区配置即可。 - 核对测试包的签名与版本
确认当前安装的测试包签名和后台登记的签名一致,且版本号不低于该内购项设置的最低生效版本。签名不匹配、版本过低的场景下,系统不会直接抛出对应错误,也会返回地区不可用的提示,重新打包和后台配置匹配的安装包覆盖安装即可。 - 配置修改后预留同步时间
两个平台的内购配置同步到全球节点都存在延迟,短则5分钟长则2小时,刚修改完配置立刻测试很容易碰到各类异常提示,等配置同步完成后再测试即可恢复正常。
我上次踩这个坑是同事调整合规设置时手滑,把所有内购项的可售地区只勾选了美国,把国内测试区加回可售列表后等了不到半小时功能就恢复正常,之前的历史购买记录也没有受到任何影响。
内容的提问来源于stack exchange,提问作者Talon Brown
相关产品推荐
相关产品推荐

