App using subscription model for individuals and company employees

Hi, I am writing an app that produces meal plans and workout plans based on a users body measurements. I am looking to use IAP for a 7 day trail for individuals who can then sign up for a monthly subscription to the service. I am also extremely keen on going into companies selling X number of subscriptions for its employees. I’m not sure how I can manage this though, any guidance on this would be much appreciated. I thought I would be able to provide a X number of unique code to a company who could pass that onto their employees to make use of the service. I’ve noticed that promo codes exist in IAP but it seems limited in its potential. Thanks, Colin

Accepted Reply

The company can buy the subscriptions on any device and post them to a CloudKit file. Then any individual could access that CloudKit file and 'subtract one' and gain subscription rights. Separately, someone associated with the buying process could assign to whomever they wanted some sort of access code to allow them to grab one of the subscriptions.


So you would create a CKRecord in the public database with a CompanyName field containing, say, "Johnson Tools" and a Password field containing "secretPassword128463". Bob Johnson would buy 100 subscriptions and upload 99 of them to the CloudKit record with CompanyName "Johnson Tools". He could also change the Password field to "secretPassword128464". Then he would email 99 employees telling them that for the month of March they should use the new password "secretPassword128464" - or it could be embedded in a link in the email. The employees would use the app to 'get subscription through CloudKit'. They would enter their company name and the password - or they would just tap the link in Bob's email.


Alternatively, the app could generate 99 different emails each with an active link that granted a subscription right - and each time you generated one of those emails you subtracted one from the number of But I can't imagine how you could avoid sending out one email per subscription - so Bob could not send an email to multiple people. That's why i think it best to use a server/database like CloudKit.

Replies

You can do this in a straight forward manner with non-renewing subscriptions but not with autorenewable subscriptions.


With non-renewing subscriptions you can sell a UUID code for each subscription purchased. The code can be transferred from one device to another using a link in an email (for example - or CloudKit or your own server). When a user registers a UUID code you check to be sure it hasn't been used and grant the subscription. You can use CloudKit or your own server to check to be sure the code hasn't been used before.


Be sure to tell App REview that you are using a code to transfer these rights to other devices and indicate that the code can ONLY be purchased through IAP.

Thank you for your reply. So would one device need to be used to buy the subscriptions? If for example a company bought 100 subscriptions, would they need to buy and transfer one subscription at a time on a device, or can this be done in bulk in some way? Thanks.

The company can buy the subscriptions on any device and post them to a CloudKit file. Then any individual could access that CloudKit file and 'subtract one' and gain subscription rights. Separately, someone associated with the buying process could assign to whomever they wanted some sort of access code to allow them to grab one of the subscriptions.


So you would create a CKRecord in the public database with a CompanyName field containing, say, "Johnson Tools" and a Password field containing "secretPassword128463". Bob Johnson would buy 100 subscriptions and upload 99 of them to the CloudKit record with CompanyName "Johnson Tools". He could also change the Password field to "secretPassword128464". Then he would email 99 employees telling them that for the month of March they should use the new password "secretPassword128464" - or it could be embedded in a link in the email. The employees would use the app to 'get subscription through CloudKit'. They would enter their company name and the password - or they would just tap the link in Bob's email.


Alternatively, the app could generate 99 different emails each with an active link that granted a subscription right - and each time you generated one of those emails you subtracted one from the number of But I can't imagine how you could avoid sending out one email per subscription - so Bob could not send an email to multiple people. That's why i think it best to use a server/database like CloudKit.

Perfect just what I needed, thanks again!