如何将iOS应用程序内购买同步到其他平台上的用户帐户

问题描述:

我的团队正在开发一款数字音乐应用,用户可以通过智能手机购买当地艺术家的音乐。我们的目标是Android和iOS平台。我们的Android应用程序(以及其他)有以下付款机制:

My team is working on a digital music app where users can buy music from local artists on their smartphone. We are targeting Android and iOS platforms to start with. We have the following payment mechanisms on our Android app (among others):


  1. PayTM钱包

  2. 信用卡

  3. 网上银行

我们的Android应用程序已通过审核并在Play商店上线。

Our Android app passed the review and is live on the play store.

我们在iOS上使用了相同的支付机制 - Apple拒绝了我们的提交说法:

We used the same payment mechanisms on iOS - Apple rejected our submission saying:


我们注意到您的应用程序可以通过App Store中不允许的应用程序内购买
API以外的方式购买应用程序中的内容,服务,
或功能。具体来说,您的应用
使用PayTM钱包系统。

We noticed that your app enables the purchase of content, services, or functionality in the app by means other than the In-App Purchase API, which is not allowed on the App Store. Specifically, your app utilises the PayTM wallet system.

鉴于我们的商业模式,最佳可行方式是什么? Apple的应用内购买指南,但以真正的跨平台方式运行。从根本上说,为帐户购买的内容应同步到用户登录的所有设备,无论平台如何。

Given our business model, what is the best possible way to comply with Apple's In-App Purchase guidelines, yet function in a truly cross-platform manner. Fundamentally, content purchased for an account should sync to all the devices the user is logged in, irrespective of the platform.

我们不介意使用Apple的IAP模型,但是:

We don't mind using Apple's IAP model, however:


  1. 用户在iOS上的购买映射到他的Apple ID,该ID不会映射到我们平台上的帐户。根据Apple的指导原则:




非消耗品是应用内购买,只需要购买
一次由用户提供,并且可供注册到
用户的所有设备使用。

Non-Consumables are In-App Purchases that only need to be purchased once by the user and are available to all devices registered to a user.




  1. 我们的音乐由艺术家定价(0.5美元,2.4美元),而Apple要求他们的应用内购买产品采用特定级别(第1层:0.99美元,第2层:1.99美元等)

  1. Our music is priced by the artists($0.5, $2.4) whereas Apple requires their in-app purchase products to be in specific tiers (Tier1: $0.99, Tier2: $1.99, etc.)

App store每个应用最多允许1000个IAP ID。当我们有超过1000种不同的商品可供出售时,我们如何才能将产品ID唯一地映射到一段音乐?

App store allows a maximum of 1000 IAP ids per app. How can we possibly map a product Id uniquely to a piece of music when we have more than 1000 different items to sell?


2)您可以允许用户购买代币,比如99美元代价为0.99美元或1099美元代币,价格为10.99美元,然后为每次购买收取一定数量的代币 - 50个代币花费0.50美元的歌曲。令牌是可消耗的IAP。但它用于购买非消费品,因为您的服务器将永远记得他们购买了这首歌。告诉App Review您正在使用令牌系统(耗材),但如果/当他们反对购买不适合作为消耗品时,创建非消耗品。

2) You can allow the user to purchase 'tokens', say 99 Tokens for $0.99 or 1099 tokens for $10.99 then charge a certain number of tokens for each purchase - 50 Tokens for a song that costs $0.50. The Token is a consumable IAP. But it is used to purchase something that is non-consumable in that your server will forever remember that they purchased the song. Tell App Review that you are using a Token system (consumable) but creating a non-consumable purchased item if/when they object to the purchase being unsuitable as a consumable.

1)关于跨平台 - 用户只能在iOS应用程序上购买令牌,只能在iOS应用程序上使用令牌,并获得歌曲。当他们收到一首歌时,他们会写信给你的服务器,表示他们拥有该歌曲的权利。如果他们从其他设备登录您的服务器,那么他们可以使用该歌曲。从他们的Android设备同上。阅读指南11.14,了解他们可以在iOS设备上播放该歌曲的原因。

1) Regarding the cross platform - the user can only purchase Tokens on the iOS app and only spend Tokens on the iOS app and that gets them the songs. When they get a song they write to your server that they have the rights to that song. If they log into your server from a different device then that song is available to them. Ditto from their Android device. Read Guideline 11.14 regarding why they can play that song on their iOS device.

3)不是问题。