onepf / OpenIAB-Unity-Plugin

OpenIAB Unity Plugin for Android (Google Play, Samsung Apps, Amazon Appstore, SlideME, Nokia Store, Appland, Aptoide, AppMall, Yandex.Store, Fortumo), Windows Phone and iOS.
Apache License 2.0
145 stars 58 forks source link

Dear friends

Currently our small team doesn't have enough time to support and develop the project. I hope in the nearest future we will continue the work. Thank you!

OpenIAB Plugin. Open In-App Billing for Android, iOS and Windows Phone 8

Releases

The latest build is always available [here] (https://github.com/onepf/OpenIAB/releases).

About

Supporting in-app purchases for different platforms and stores is not a simple process. The developer has to study new API for each new store that he/she wants to use in an application.

OpenIAB plugin enables Unity developers to reduce integration and maintenance time. The plugin uses one common interface for 3 mobile platforms: Android, iOS and Windows Phone 8. It’s based on OpenIAB library developed by One Platform Foundation team.

OpenIAB plugin comes with full source code under Apache 2.0 license.

Supported Stores:
Android:

iOS: Apple Store

Windows phone 8: Windows Phone Store

Version

The current version is 0.9.8.6.

Tutorial

For a comprehensive tutorial, Check-out the complete turorial on master here.

Sample project

You can check out this sample project here.

How to build plugin

Plugin build view Gradle. You no need to download binary package of gradle tools, only requirements is installed JDK version 1.6 or great and setup JAVA_HOME environment variable.

Before build plugin you must:

  1. Install Unity, start it and accept license agreement.
  2. Unity must be closed while build is running.

For build project you must run from terminal in unity_plugin directory of project

../gradlew clean buildPlugin

On Windows run

..\gradlew.bat clean buildPlugin

If build was successfully, you can find output unitypackage file in directory

unity_plugin/build/outputs

Build tools search unity by default path for OS. If you change default path, you need to set path unityExecutable property in gradle.properties file.

Options

Create Options object.

var options = new Options();

Set store search strategy.

options.storeSearchStrategy = SearchStrategy.INSTALLER_THEN_BEST_FIT;

Set available stores to restrict the set of stores to check.

options.availableStoreNames = new string[] { OpenIAB_Android.STORE_GOOGLE, OpenIAB_Android.STORE_YANDEX };

Set preferred store names (works only for store search strategy OpenIabHelper.Options.SEARCH_STRATEGY_BEST_FIT and OpenIabHelper.Options.SEARCH_STRATEGY_INSTALLER_THEN_BEST_FIT).

options.prefferedStoreNames = new string[] { OpenIAB_Android.STORE_GOOGLE, OpenIAB_Android.STORE_YANDEX };

Set store keys.

options.storeKeys = new Dictionary<string, string> { {OpenIAB_Android.STORE_GOOGLE, "publicKey"} };

Set verifying mode (applicable only for Google Play, Appland, Aptoide, AppMall, SlideMe, Yandex.Store).

options.verifyMode = OptionsVerifyMode.VERIFY_SKIP;

Init with specified options.

OpenIAB.init(options);

Suggestions/Questions

We seek to constantly improve our project and give Unity developers more power when working with in-app purchases. We are open to any comments and suggestions you may have regarding the additional features to be implemented in our plugin.

If you know about issues we missed, please let us know in
Issues on GitHub: https://github.com/onepf/OpenIAB/issues
or by email: unitysupport@onepf.org

If you detect some issues with integration into your project, please let us know in http://stackoverflow.com/questions/ask/advice?

When you post a question on stackoverlow, mark your post with the following tags
“in-app purchase”, “unity3d”, “openiab”. It will help you to get a faster response
from our community.

License

The source code of the OpenIAB Unity plugin and OpenIAB library are available under the terms of the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

The OpenIAB API specification and the related texts are available under the terms of the Creative Commons Attribution 2.5 license: http://creativecommons.org/licenses/by/2.5/