Skip to content

mlebedy/Google-IAP

 
 

Repository files navigation

16113251508601.jpg ezgif-com-gif-maker-3.gif

IAP is an Android library to handle In-App purchases with minimal code.

Features

  • Written in Kotlin
  • No boilerplate code
  • Easy initialisation
  • Supports InApp & Subscription products
  • Simple configuration for consumable products

Gradle Dependency

  • 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.1.4'
}

Usage

Establishing connection with Play console

 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
        )

Receiving events

 iapConnector.addPurchaseListener(object : PurchaseServiceListener {
            override fun onPricesUpdated(iapKeyPrices: Map<String, String>) {
                // list of available products will be received here, so you can update UI with prices if needed
            }

            override fun onProductPurchased(sku: String?) {
               // will be triggered whenever purchase succeeded
            }

            override fun onProductRestored(sku: String?) {
                // will be triggered fetching owned products using IapConnector
            }
        })

 iapConnector.addSubscriptionListener(object : SubscriptionServiceListener {
            override fun onSubscriptionRestored(sku: String?) {
                // will be triggered upon fetching owned subscription upon initialization
            }

            override fun onSubscriptionPurchased(sku: String?) {
                // will be triggered whenever subscription succeeded
            }

            override fun onPricesUpdated(iapKeyPrices: Map<String, String>) {
                // list of available products will be received here, so you can update UI with prices if needed
            }
        })

Making a purchase

iapConnector.purchase(this, "<sku>")

Making a subscription

iapConnector.susbcribe(this, "<sku>")

Removing a subscription

iapConnector.unsubscribe(this, "<sku>")

Sample App

  • Add your products to the developer console

  • Replace the key with your App's License Key

Contribution

You are most welcome to contribute to this project!

About

Android Library for easing Google Play Billing to your apps with support for Subscriptions, In App Purchases and Consumables with a beautiful sample app.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Kotlin 100.0%