0

I have a client that needs to have its volunteers purchase an IAP (A data package that is downloaded), then somehow reimburse them. The problem is that there is no easy way to do this that I think Apple will approve of. Especially for over 1500 people. I've come up with several ways of doing this with their pros and cons, which one would be best to implement and does anyone have any other suggestions on how to do this?

1) Have the client send out iTunes gift cards via email. The IAP is $7, and you can't send a gift card less than $10. Also, they would have to send them one at a time, there is no way to send bulk. Not going to work

2) Create gift codes like iTunes gift cards. My client can purchase codes in bulk via IAP (so Apple still gets their money), and store them on my web server securely. I can then implement a system to send all the codes to a single email, or individually to multiple emails. Then the volunteers can use the codes to unlock that single IAP. This would be more work on my part, but easier for my client. Something tells me Apple probably would not approve of this method.

3) Create "Credits" that the client can purchase in bulk via IAP (so Apple still gets their money), then gift either the credits or send the IAP info itself to the volunteers via a p2p bluetooth connection created with game kit. This would be harder for the client, as they would have to send each "Credit" individually. But I think Apple would be more likely to approve this.

4) Have the client send me a list of UUIDs for each of the volunteers devices. I add the UUIDs to a secure list on my server. During the purchase the a check is preformed to see if the devices UUID matches one on my server. If it is, they are marked as "all ready paid" and given the IAP data. I don't know about this one, as the only way I can see the money transfer happening is myself getting paid directly, and Apple being left out (So they probably wouldn't approve of this. I have no problem giving Apple their 30% if I could find a way to get that to work with this.

Brandon Mcq
  • 575
  • 2
  • 10
  • 24

1 Answers1

2

I'd go with Option 5, and create my own IAP system. Much like Option 3, but bypassing Apple all together. Add a Custom URL Scheme to you application, give it to your client to distribute. When your app is launched by its Custom URL Scheme have it open to a promo code entry page.

Your client would be able to purchase/create codes as necessary via a website that you set up for them. You would then store the codes (or create an algorithm to check generated codes against), and validate the codes as the users enter them.

Then your clients users would enter their unique code and have everything unlocked/downloaded as needed.

I have done a similar set up with promo codes to unlock the full version of my applications so I could create my own promotions, without making the upgrades free for everyone by removing/altering the IAP.

WhoaItsAFactorial
  • 3,538
  • 4
  • 28
  • 45
  • This is a better way to set up option 2. But I still would rather to not bypass apple, since it's less chance to get rejected or have the app taken down. – Brandon Mcq Nov 26 '12 at 13:33
  • That's valid, just be aware that I've had this set up in 7 different apps for over 2 years now and never had an issue. Just some food for thought. – WhoaItsAFactorial Nov 26 '12 at 13:35
  • Well, then I shouldn't have a problem! – Brandon Mcq Nov 26 '12 at 15:19
  • My only tip is to not have a button within the app that allows the promo entry. Have it only be accessible from the Custom URL Scheme – WhoaItsAFactorial Nov 26 '12 at 15:22
  • Exactly, that would make it more secure. To make it even more secure, (or the way I'm thinking of implementing it) is the device will communicate with a password protected php file (htaccess). Which would then return which IAP that the promo is for, and the device will unlock it. Is this basically how you've implemented your system? – Brandon Mcq Nov 26 '12 at 15:28
  • I created an algorithm used to generate my codes. I then check the submitted code against my algorith and see if it matches up, if it matches I allow the user to go do whatever premium thing they were unlocking. So my apps can unlock without an internet connect, but I also don't need to download any additional content into my apps either. Your method sounds like it will be spot on in terms of security and ease of use for the end user. – WhoaItsAFactorial Nov 26 '12 at 15:41