Features • Development • Usage • License • Contribution
IAP is an Android library to handle In-App purchases with minimal code.
- Written in Kotlin
- No boilerplate code
- Easy initialization
- Supports InApp & Subscription products
- Simple configuration for consumable products
- Add the JitPack repository to your project's build.gradle file
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}- Add the dependency in your app's build.gradle file
dependencies {
    implementation 'com.github.akshaaatt:Google-IAP:1.6.0'
}- Prerequisite: Latest version of the Android Studio and SDKs on your pc.
- Clone this repository.
- Use the gradlew buildcommand to build the project directly or use the IDE to run the project to your phone or the emulator.
val iapConnector = IapConnector(
    context = this, // activity / context
    nonConsumableKeys = nonConsumablesList, // pass the list of non-consumables
    consumableKeys = consumablesList, // pass the list of consumables
    subscriptionKeys = subsList, // pass the list of subscriptions
    key = "LICENSE KEY", // pass your app's license key
    enableLogging = true // to enable / disable logging
)iapConnector.addPurchaseListener(object : PurchaseServiceListener {
    override fun onPricesUpdated(iapKeyPrices: Map<String, DataWrappers.SkuDetails>) {
        // list of available products will be received here, so you can update UI with prices if needed
    }
    
    override fun onProductPurchased(purchaseInfo: DataWrappers.PurchaseInfo) {
        // will be triggered whenever purchase succeeded
    }
    
    override fun onProductRestored(purchaseInfo: DataWrappers.PurchaseInfo) {
        // will be triggered fetching owned products using IapConnector
    }
})
iapConnector.addSubscriptionListener(object : SubscriptionServiceListener {
    override fun onSubscriptionRestored(purchaseInfo: DataWrappers.PurchaseInfo) {
        // will be triggered upon fetching owned subscription upon initialization
    }
    
    override fun onSubscriptionPurchased(purchaseInfo: DataWrappers.PurchaseInfo) {
        // will be triggered whenever subscription succeeded
    }
    
    override fun onPricesUpdated(iapKeyPrices: Map<String, DataWrappers.SkuDetails>) {
        // list of available products will be received here, so you can update UI with prices if needed
    }
})iapConnector.purchase(this, "<sku>")iapConnector.subscribe(this, "<sku>")iapConnector.unsubscribe(this, "<sku>")- 
Add your products to the developer console 
- 
Replace the key with your App's License Key 
- 
https://play.google.com/store/apps/details?id=com.redalck.gameone 
- 
https://play.google.com/store/apps/details?id=com.redalck.gametwo 
- 
https://play.google.com/store/apps/details?id=com.redalck.gamethree 
- 
https://play.google.com/store/apps/details?id=com.redalck.gamefour 
- 
https://play.google.com/store/apps/details?id=com.redalck.gamefive 
- 
https://play.google.com/store/apps/details?id=com.redalck.gamesix 
- 
https://play.google.com/store/apps/details?id=com.redalck.gameseven 
- 
https://play.google.com/store/apps/details?id=com.redalck.gameeight 
- 
https://play.google.com/store/apps/details?id=daily.status.earn.money 
This Project is licensed under the GPL version 3 or later.
You are most welcome to contribute to this project!

