Netflix-style tiered subscriptions (number of devices)

Hi,


I'm having trouble finding information on how to implement a Netflix-style subscription scheme where the amount of devices the app can be used on is based on how much the user pays (for example a monthly subscription). Can anyone point me in the right direction?


Thanks!

Not a Netflix user, so unsure what's their solution, but here is a hint:

- Make your iAP/Subscription packs (like 1 device, 3 devices, etc)

- When the user logs in and restores his purchase, check the device's UUID and see how many UUIDs are actives for that account

- If the number of devices is less than the limit, activate it, else return an error (like the user needs to logout from the other device, where logging out sends the UUID a last time for it to be removed from your database).


You'll have of course to handle the case where a user removes your app(s), which resets the UUID you receive, and should add a way for a user to log out from all devices (arases all UUIDs and frees the pool).

You have two problems:

1) how to implement this

2) how to make it consistent with the guidelines. (I actually think NetFlix is available on all of a user's devices without limit - and besides, you don't have the same influence over guideline enforcement as does NetFlix.)


Regarding #1 the easiest way is to use the user's iCloud key-value file and a simple counter. You could record a hash of the device's identifierForVendor number (which will not survive deletion and reinstallation of the app). You could write a random number to the device's keychain and use that random number to identify the device - the keychain survives deletion and reinstallation of the app. Another approach is to transfer rights from one device (i.e. the one that purchased '3' subscriptions) to another (and hence '2 remaining' becomes '1 remaining') using MCSession.


Regarding #2 - Apple requires that IAPs (other than consumables) be copyable to all devices owned by that user. Apple may let you limit the number of devices a user 'has' at any one time if you have some method of responding to those users who say they have more devices (e.g. limit of 5 unless you contact us - that prevents a company from distributing an IAP to 100's of employees). So you are violating this guideline with an autorenewable and with a non-renewing IAP subscription. You could use a 'consumable IAP'. Consumable IAPs do not need to be 'copied' from one device to another. But a consumable cannot 'expire' with time - only with use (i.e. when consumed). So you could sell a package of '5 monthlies'. Each 'monthly' is good for one device to use the IAP subscription right for one month. Important - a 'monthly' does not expire until it is used. You can keep a 'monthly' for 4 years and then use it - and it would be good for one month (April 6 2022 - May 6, 2022) even after 4 years. You may need to explain this 'it-does-not-expire' concept to App Review.

Netflix-style tiered subscriptions (number of devices)
 
 
Q