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

Unity3D iOS内购订阅因订阅类型说明不清被拒,如何添加Policy字段?

Hey there, let's work through this iOS subscription policy display issue for your Unity app! I’ve dealt with similar review rejections before, so here’s a breakdown of what you need to do:

Why You’re Seeing This Rejection

First, let’s clarify: Apple’s review team isn’t asking for a "Policy" field in the App Store Connect or Unity’s IAP config—they want clear, upfront visibility of whether a subscription is auto-renewing or non-auto-renewing, plus all critical terms (like renewal rules, cancellation steps) before the user initiates a purchase. The "Policy" section you saw in other apps is custom UI built by the devs to meet this requirement, not a native iOS or Unity setting.

Step-by-Step Fix for Unity Apps

Since Unity’s Purchasing system handles transaction logic but not UI, you’ll need to build and configure this yourself, with optional iOS native integration for extra compliance.

1. Build a Custom Subscription UI in Unity

This is the core fix. Create a screen where users select their subscription plan, and add a dedicated "Policy" section for each plan. Include these mandatory details (per Apple’s guidelines):

  • For auto-renewable subscriptions:

    "This is an auto-renewable subscription. Your subscription will automatically renew at the end of each [weekly/monthly/annual] period, and your payment method will be charged unless you cancel at least 24 hours before the current period ends. You can manage or cancel your subscription in your Apple Account Settings after purchase."

  • For non-auto-renewable subscriptions:

    "This is a non-autorenewing subscription. It expires at the end of the [weekly/monthly/annual] period and will not renew automatically."

Make sure this text is easy to read and placed near the purchase button—don’t hide it behind a tiny link.

2. Sync with App Store Connect Metadata

While you’re building the UI, double-check your subscription product settings in App Store Connect:

  • In the Description field for each subscription, explicitly state whether it’s auto-renewing or non-auto-renewing.
  • Fill out all required fields like Subscription Period and Price Tier to ensure consistency between your UI and Apple’s native purchase flow.

If you want to let users jump directly to their Apple Account settings to manage subscriptions (a nice touch for compliance), you’ll need a tiny iOS native plugin to bridge Unity and Apple’s APIs. Here’s how:

a. Write a Swift Plugin

Create a Swift file (e.g., SubscriptionHelper.swift) with this code:

import Foundation
import UIKit

@objc(SubscriptionPolicyHelper)
class SubscriptionPolicyHelper: NSObject {
    // Open Apple Account subscription settings
    @objc func openSubscriptionSettings() {
        guard let settingsURL = URL(string: "itms-apps://apps.apple.com/account/subscriptions") else { return }
        UIApplication.shared.open(settingsURL, options: [:], completionHandler: nil)
    }
}

b. Call the Plugin from Unity

In your Unity C# script, add this method to trigger the settings jump:

using UnityEngine;

public class SubscriptionUIManager : MonoBehaviour {
    public void OpenAppleSubscriptionSettings() {
        #if UNITY_IOS && !UNITY_EDITOR
            UnityEngine.iOS.Device.CallStatic("SubscriptionPolicyHelper", "openSubscriptionSettings");
        #endif
    }
}

Attach this script to your UI button (labeled "Manage Subscriptions" or similar) to let users access settings directly from your app.

4. Test the Flow Thoroughly

Before resubmitting for review:

  • Walk through the purchase flow to confirm the policy text is visible before the native Apple purchase popup appears.
  • Verify that auto-renewal/non-auto-renewal terms match what’s listed in App Store Connect.
  • Test the "Manage Subscriptions" button to ensure it opens Apple’s settings correctly.
Final Notes

Apple’s main concern is user transparency—they don’t want users accidentally signing up for auto-renewing subscriptions without knowing. By building this custom policy UI in Unity and aligning it with App Store Connect metadata, you’ll address the rejection reason directly.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 14:22:44