uni-app iOS平台苹果应用内支付IAP支持订阅促销优惠,通过getProduct()获取产品信息时,自定义基座返回discount字段,但离线打包后无discount字段

发布于 1周前 作者 phonegap100 来自 Uni-App

uni-app iOS平台苹果应用内支付IAP支持订阅促销优惠,通过getProduct()获取产品信息时,自定义基座返回discount字段,但离线打包后无discount字段

示例代码:

_appleiap.getProduct()

操作步骤:

后台配置好对应的限免套餐,测试,只有自定义基座返回了discount字段,离线打包没有返回

预期结果:

离线打包后有返回discount字段

实际结果:

离线打包后没有返回discount字段

bug描述:

iOS平台,苹果应用内支付 IAP 支持订阅促销优惠,获取产品信息,自定义基座有返回discount字段,离线打包没有discount字段


| 信息类别       | 详情           |
|----------------|----------------|
| 产品分类       | uniapp/App     |
| PC开发环境操作系统 | Mac            |
| PC开发环境操作系统版本号 | 12             |
| HBuilderX类型  | 正式           |
| HBuilderX版本号 | 3.94           |
| 手机系统       | iOS            |
| 手机系统版本号  | iOS 16         |
| 手机厂商       | 苹果           |
| 手机机型       | iphone 14      |
| 页面类型       | vue            |
| vue版本        | vue3           |
| 打包方式       | 离线           |
| 项目创建方式   | HBuilderX      |

5 回复

你离线SDK用的哪个版本


回复 wwwzzz: 3.7.0+ 才支持的内购促销 更新SDK

通过升级iOS离线打包sdk解决

在 uni-app 中,使用 iOS 平台的应用内支付(IAP)时,getProduct() 方法用于获取应用内购买的产品信息。你提到在自定义基座(自定义调试基座)中,discount 字段可以正常返回,但在离线打包后,discount 字段却不存在。这个问题可能与以下原因有关:


1. iOS SDK 版本问题

  • discount 字段是 iOS 12.2 及以上版本引入的,用于支持订阅促销优惠(Introductory Offers 和 Promotional Offers)。
  • 确保你的离线打包环境使用的是支持 iOS 12.2 及以上版本的 SDK。
  • 检查 Xcode 版本和 iOS 部署目标(Deployment Target)是否支持该功能。

解决方法:

  • 更新 Xcode 到最新版本。
  • 在 Xcode 项目中,确保 Deployment Target 设置为 iOS 12.2 或更高版本。

2. uni-app 离线打包配置问题

  • 离线打包时,可能没有正确配置 iOS IAP 相关的功能或权限。
  • 确保在离线打包的配置文件中启用了 IAP 功能,并且正确配置了 App Store Connect 中的订阅促销优惠。

解决方法:

  • 检查 manifest.json 文件,确保 payment 模块已启用:
    {
      "app-plus": {
        "payment": {
          "appleiap": {
            "enabled": true
          }
        }
      }
    }
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!