Christina Moulton, Teak Mobile Inc.
Price
Business Model
Consumable
Non-Consumable
Subscription (auto-renew?)
Content Delivery
Compiled in
Your server
Apple Hosted
Reviewed like apps
Must use Apple’s API
Only virtual goods
No intermediate currency
Subscriptions: Minimum 7 days, all devices
Can’t sell access to camera, gyroscope, etc.
Auto-renewing subscriptions only for periodicals, biz or media apps
See https://developer.apple.com/appstore/resources/approval/guidelines.html
Transaction completion went app interrupted
Track # of consumables
Restore non-consumables on multiple devices
Remember purchases securely (Keychain)
Remember non-renewing subscriptions
Validate of auto-renewing subscriptions on each launch (latest purchase date)
Deliver content (check receipts on your server)
Localized prices and descriptions
https://github.com/MugunthKumar/MKStoreKit
Add MKStoreKit to project
Add Security and StoreKit Frameworks
Init in app delegate:
[MKStoreManager sharedManager];
Configure Plist
(If renewable, add shared secret to MKStoreKitConfigs.h)
Implement purchase:
[[MKStoreManager sharedManager]
buyFeature:kFeatureAId
onComplete:^(NSString* purchasedFeature,
NSData* receipt, NSArray* downloads) {
NSLog(@"Purchased: %@", purchasedFeature);
} onCancelled:^ {
NSLog(@"User Cancelled Transaction");
}
];
(If auto-renewing, setup expiry notifications)
Pull data from App Store to populate UI (at least price)
Implement restoring purchases
Test User Account in iTunesConnect
Banking & tax contracts must be set up
Other than hosted content, can use simulator
Sandbox can be slow
Based on iOS 5 Programming: Pushing the Limits, ch. 14: Selling Past the Sale with In App Purchase
Christina Moulton, Teak Mobile Inc.