Skip to content

[iOS] Add support for Promoted IAPs handling (shouldAddStorePayment method) #140

@hasanfd

Description

@hasanfd

Description

Problem Statement
Our app, which is designed specifically for children, is facing repeated rejections during the Apple App Review process. The issue arises from the automatic processing of promoted in-app purchases by the Adapty SDK. When a user taps on a promoted IAP in the App Store, the purchase flow is immediately triggered without any parental verification. This behavior violates Apple’s guidelines for kids apps—where a parental gate is mandatory—resulting in our app being rejected.

Feature Request
Short Term:
Please add an option in the Adapty SDK (or via a configuration setting in the Adapty Dashboard) to disable the automatic processing of promoted in-app purchases. When this option is enabled, tapping on a promoted IAP should not immediately trigger the purchase flow. Instead, it should allow our app to decide when to initiate the purchase (for example, after displaying a custom parental gate).

Long Term:
In a future update, it would be ideal if Adapty could offer built-in parental gate functionality—such as a birthday check or similar verification method—so that apps targeting children can ensure that the purchase process is secured and complies with Apple’s guidelines without requiring a custom workaround.

Benefits
Compliance: This change would help apps in the kids category meet Apple’s strict parental control guidelines, reducing the risk of app rejections.
Developer Control: Disabling automatic behavior gives developers full control over the purchase process, allowing them to implement their own safety measures.
Integrated Solution: In the long term, built-in parental gate options would simplify development and provide a consistent, secure experience for apps designed for children.

Version

3.1.0

What platforms are you seeing the problem on?

iOS

System info

info Fetching system and libraries information...
System:
  OS: Windows 10 10.0.19045
  CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  Memory: 4.01 GB / 15.88 GB
Binaries:
  Node:
    version: 16.13.1
    path: C:\Program Files\nodejs\node.EXE
  Yarn:
    version: 1.22.4
    path: C:\Program Files (x86)\Yarn\bin\yarn.CMD
  npm:
    version: 8.1.2
    path: C:\Program Files\nodejs\npm.CMD
  Watchman: Not Found
SDKs:
  Android SDK: Not Found
  Windows SDK:
    AllowAllTrustedApps: Disabled
    Versions:
      - 10.0.17763.0
IDEs:
  Android Studio: AI-223.8836.35.2231.10811636
  Visual Studio:
    - 16.8.30907.101 (Visual Studio Community 2019)
Languages:
  Java: 11.0.9
  Ruby: Not Found
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.74.5
    wanted: 0.74.5
  react-native-windows: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

info React Native v0.77.1 is now available (your project is running on v0.74.5).
info Changelog: https://github.com/facebook/react-native/releases/tag/v0.77.1
info Diff: https://react-native-community.github.io/upgrade-helper/?from=0.74.5
info For more info, check out "https://reactnative.dev/docs/upgrading?os=windows".

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions