6. Advantages
• Circumvent Piracy
• “Pirating” a in-app
purchase is like, cheating
Amazon to “ship” a book
you never ordered
7. Advantages
• Circumvent Piracy
• “Pirating” a in-app
purchase is like, cheating
Amazon to “ship” a book
you never ordered
• No more Lite versions
• Higher visibility for Pro
version as it doesn’t “sink”
9. Advantages
• Up-Selling
• Easy to convince your
customers to upgrade to
full version
10. Advantages
• Up-Selling
• Easy to convince your
customers to upgrade to
full version
• My own experience
• 1:7 or 1:8 up-selling rates
• Previously 1:40
25. RECAP
• Code
• Enumerate list of products
• Check if parental controls is set to
prevent purchases
26. RECAP
• Code
• Enumerate list of products
• Check if parental controls is set to
prevent purchases
• Add your transaction observer and
implement the callbacks
27. RECAP
• Code
• Enumerate list of products
• Check if parental controls is set to
prevent purchases
• Add your transaction observer and
implement the callbacks
• Serialize the receipts into
NSUserDefaults
31. RECAP
• Testing
• Log out of the AppStore from
Settings.app
• Open your App and initiate a In-App
purchase
32. RECAP
• Testing
• Log out of the AppStore from
Settings.app
• Open your App and initiate a In-App
purchase
• Sign-in to AppStore using the test user
account
35. MKStoreKit 1.0
• To enable in-app
purchases, you can
download a copy of
MKStoreKit 1.0 from
my website.
36. MKStoreKit 1.0
• To enable in-app
purchases, you can
download a copy of
MKStoreKit 1.0 from
my website.
• Cannot activate
features for specific
devices without paying.
52. API Layer Setup
• Create a DB User and Password
• Change the PHP files’ user and password
fields
53. API Layer Setup
• Create a DB User and Password
• Change the PHP files’ user and password
fields
• Upload the PHP to your server (preferably
to a API subdomain)
54. API Layer Setup
• Create a DB User and Password
• Change the PHP files’ user and password
fields
• Upload the PHP to your server (preferably
to a API subdomain)
• http://api.foobar.com/featureCheck.php
61. Objective C
• Call [MKStoreManager sharedManager]; in
applicationDidFinishLaunching:
62. Objective C
• Call [MKStoreManager sharedManager]; in
applicationDidFinishLaunching:
• call if([MKStoreManager featureAPurchased])
for checking whether the user has activated
the feature
63. Objective C
• Call [MKStoreManager sharedManager]; in
applicationDidFinishLaunching:
• call if([MKStoreManager featureAPurchased])
for checking whether the user has activated
the feature
• call [[MKStoreManager sharedManager]
buyFeatureA] to initiate a purchase
67. Objective C
• Your reviewers will
now see this prompt
• Purchases are not
“remembered”
68. Objective C
• Your reviewers will
now see this prompt
• Purchases are not
“remembered”
• You can de-activate the
feature from your server
at any time
70. Requesting a review
• Ask the reviewer for their device UDID
and add it to your database manually
71. Requesting a review
• Ask the reviewer for their device UDID
and add it to your database manually
• Ask them to fill in the UDID on a form on
your website and add it to your database
using PHP
72. Requesting a review
• Ask the reviewer for their device UDID
and add it to your database manually
• Ask them to fill in the UDID on a form on
your website and add it to your database
using PHP
• Write a separate iPhone App
75. Going Forward
• The server side settings are too
cumbersome
• Not sure whether Apple would approve
this “technique”
76. Going Forward
• The server side settings are too
cumbersome
• Not sure whether Apple would approve
this “technique”
• If Apple approves, in MKStoreKit 3.0, it will
be replaced by Google SpreadSheet API
77. Going Forward
• The server side settings are too
cumbersome
• Not sure whether Apple would approve
this “technique”
• If Apple approves, in MKStoreKit 3.0, it will
be replaced by Google SpreadSheet API
• That means you will not need a server
for using in-app purchases
When your real app (not the lite) is downloaded more, there is a higher ratio of up-selling. Pro version doesn’t sink as the case with many such apps
When your real app (not the lite) is downloaded more, there is a higher ratio of up-selling. Pro version doesn’t sink as the case with many such apps
When your real app (not the lite) is downloaded more, there is a higher ratio of up-selling. Pro version doesn’t sink as the case with many such apps
We will discuss how to do enable free activations for your reviewers :), Before that, a short recap.
MKStoreKit 2.0 already does this for you. Next few slides explains how to customize your app using In-App model.
MKStoreKit 2.0 already does this for you. Next few slides explains how to customize your app using In-App model.
MKStoreKit 2.0 already does this for you. Next few slides explains how to customize your app using In-App model.