You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter订阅类应用因缺少EULA链接被App Store Connect拒审咨询

带内购的Flutter应用App Store EULA拒审解决方案

拒审核心原因:苹果针对含自动续期订阅的应用,要求EULA链接不能仅放在首次启动引导页,审核人员不会默认走完首次启动流程验证,只会优先检查两个位置:一是App Store Connect后台的EULA配置项,二是应用内订阅购买页面的明显入口,当前配置遗漏了这两个核心位置的要求。

1. 优先补全App Store Connect后台配置

  • 登录App Store Connect,进入对应应用的「应用信息」页面
  • 下滑到「通用信息」板块,找到「最终用户许可协议」输入框,填入公网可访问的EULA在线链接即可,这一步是很多开发者容易遗漏的必填项,并非仅在应用内配置就符合要求。

2. 应用内必须新增的EULA入口

必须在订阅购买页面的明显位置新增EULA入口,建议放在订阅按钮下方,和隐私政策入口并列展示,不能仅藏在首次启动引导、设置页等深层路径。
可选补充:在应用设置页新增EULA入口作为兜底,进一步降低拒审概率。

3. Flutter侧适配代码示例

3.1 订阅页协议入口组件

// 订阅页底部可点击的协议入口
Row(
  mainAxisAlignment: MainAxisAlignment.center,
  children: [
    GestureDetector(
      onTap: () => _launchUrl("你的EULA在线链接"),
      child: const Text(
        "用户许可协议",
        style: TextStyle(color: Colors.grey, fontSize: 12),
      ),
    ),
    const SizedBox(width: 20),
    GestureDetector(
      onTap: () => _launchUrl("你的隐私政策在线链接"),
      child: const Text(
        "隐私政策",
        style: TextStyle(color: Colors.grey, fontSize: 12),
      ),
    ),
  ],
)

3.2 跳转链接工具方法

需先引入官方的url_launcher库处理链接跳转:

import 'package:url_launcher/url_launcher.dart';

Future<void> _launchUrl(String targetUrl) async {
  final Uri uri = Uri.parse(targetUrl);
  if (await canLaunchUrl(uri)) {
    await launchUrl(uri);
  }
}

3.3 pubspec.yaml依赖配置

dependencies:
  flutter:
    sdk: flutter
  url_launcher: ^6.2.0 # 可替换为最新稳定版

4. 提交前验证要点

  • 确保EULA链接公网可访问,不需要登录权限,境外网络也可正常打开
  • 不要将EULA仅做成应用内本地弹窗形式,必须是可跳转的有效在线链接
  • 提交审核时可在备注栏说明EULA的位置:「应用内订阅购买页底部、首次启动引导页均有EULA入口,后台已同步配置EULA链接」,减少审核人员查找成本

内容的提问来源于stack exchange,提问作者kris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 16:24:04