Helu
In-App purchases for RubyMotion.
Installation
Add this line to your application's Gemfile:
gem 'helu'
And then execute:
$ bundle
Or install it yourself as:
$ gem install helu
USAGE
Start a helu with the In App Purchase ID:
@helu = Helu.new("loosing_weight_10")
create blocks for failing and buying:
@helu.fail = lambda { |transaction| puts transaction ; # node here for failed in app purchase }
@helu.winning = lambda { |transaction| puts transaction ; # code here for successful in app purchase }
also for restoring in app purchases
@helu.restore = lambda { restoring_method }
The transaction object on the lambda is the one we get from Apple; Therefore, it is a SKPaymentTransaction. More information about it here
buy the product:
@helu.buy
restore the product:
@helu.restore
Make sure that if your code ever throws out the Helu object, it better also close the store before doing so.
@helu.close
Supported types of In App Purchases
- Consumables and Non-Consumables are supported.
- Auto-Renewable subscriptions and Non-Renewing Subscriptions are not supported yet. However, we would love some help making it happen.
Requesting product information:
Asynchronous, raw:
inapps = %w[first second third]
@x = Helu::ProductInfoFetcher.new(inapps) do |pi|
p pi
end
Asynchronous, wrapped in method call:
Helu::ProductInfoFetcher.fetch(inapps) do |pi|
p pi
end
Synchronous:
pi = Helu::ProductInfoFetcher.fetch(inapps)
p pi
All three calls return hash of the following form:
{
"inapp_id": {
id: "inapp_id",
title: "inapp_localized_title",
description: "inapp_localized_description",
price: "0.89", # float
currency: "EUR",
price_str: "\u20AC0.89",
}, # ....
}
Example App:
You can find an example app here. Remember that for this to work properly, you must add your app identifier to the Rakefile.
License
Helu is relase under the MIT license.
Credits
Ivan Acosta-Rubio | Initial work Michal J. | Product Info Fetcher Simon Traels Ravn | Removing Observer and Bug fixes.