问题
i have a news reader app. i want to add IAP to my app. i added Consumable Purchase. when the user purchases i write expire date to nsuserdefaults. when it expires i show purchase screen again.
but apple rejected it, it says: However, based on product functionality, it would be more appropriate to use the Subscription In App Purchase type because the service offered by your application requires the user to make an advance payment to access the content or receive the service. ... Subscription content must be made available to all iOS devices owned by a single user, as indicated in Guideline 11.6 of the App Store Review Guidelines: ....
first i tried to use Auto-Renewable Subscription, but my app doesn't have any content to be downloaded. then i tried to implement Non-Renewing subscription. but people say that it is deprecated. i want to allow users who buyed app to use it on other devices too. but i can't get AppleId (Apple doesn't allow it either). I'm really stucked.
how can i add monthly subscription to my app?
can anyone give me some advice...
回答1:
I've been through almost the exact same thing. Here's what you do:
First off, although Apple's documentation seems to suggest that Non-Renewing Subscriptions
are deprecated, they are not. In fact, that's what Apple steered me towards when they rejected my app for using Auto-Renewing subscriptions.
In terms of syncing across multiple devices: I tried using a unique identifier that I stored on the user's iCloud account to identify a user (like what @Yorxxx suggested), but Apple rejected the app again, saying that the guidelines state that I need to provide an optional username/password system to allow a user to restore their subscription onto all their devices.
A few notes about Non-Renewing Subscriptions
:
- You set and track your own durations and expiration dates.
- You essentially have to administer the service from your own server, since you'll need to sync a user's subscription across all their devices.
- There is no prompt asking the user if they want to send the developer their contact information.
restoreCompletedTransactions
is useless with Non-Renewing Subscriptions.- If I were you I would store the persons username on iCloud if they give you one. That way, when they install your app on a new device, you can prompt them that they already have an account and if they log in, their existing subscription will by synced to that device.
来源:https://stackoverflow.com/questions/9309917/monthly-subscription-with-iap