Search Unity

Sharing IAP purchase across multiple apps

Discussion in 'iOS and tvOS' started by gecko, Mar 14, 2018.

  1. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    We've got a mobile game released on iOS, Android, and Amazon Appstore. It's been out for a few years, as a free download with IAP to unlock the full game and a customization pack. Now we are remaking the game from the ground up -- we want this new version to respect IAP purchases in the current version....but we also want to keep the current version available, thus having two versions of the game available. (Why? Partly because the new version will have higher RAM/hardware requirements, so some users won't be able to run it, and partly because the two versions will be sufficiently different that some players will want to occasionally play the old version.)

    So we will have two apps, but we want both to respect IAP purchases made in the the other app. I've read many many topics on StackOverflow and elsewhere about this, but am still unclear on the best way to do this (partly because it appears that options/rules have changed over time). Options seem to be:

    1) If both apps will be installed on device, then they can use customURL to check each other for IAP purchases....but we can't rely on this because many users will only have one version installed. (Namely, if your device can't handle the new version, you shouldn't need to keep it on the device taking up storage space just to have access to your purchases.)

    2) Have each app store IAP purchase information in the keychain so the other app can check that....but that's only for iOS, right? And if the user resets their device, then that info is lost.

    3) My original idea was to have App B validate the purchase receipts of App A, but I've read that isn't allowed...but I've also read that Apple (at least) has loosened its rules about IAP sharing in recent years, so wondering if set up receipt verification through our own server, we could check for IAP purchases on both app bundles.

    I'd obviously rather have a single solution across all platforms, but willing to do platform-specific solutions if necessary. So I'd greatly appreciate any ideas on how to accomplish this. Thanks!
     
  2. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
  3. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    thanks for the reply. Unfortunately, we can't segment within the same app, as the old version is built with 4.7.2 and really can't be migrated to newer versions of Unity (that's why we started over with the new version of the game).