nikita36078/donations


Donations library for Android. Supports Google Play Store, Flattr, PayPal, and Bitcoin

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.nikita36078:donations:2.9'
	}
	dependencies {
		implementation("com.github.nikita36078:donations:2.9")
	}
	<dependency>
	    <groupId>com.github.nikita36078</groupId>
	    <artifactId>donations</artifactId>
	    <version>2.9</version>
	</dependency>

                            
    libraryDependencies += "com.github.nikita36078" % "donations" % "2.9"
        
        

                            
    :dependencies [[com.github.nikita36078/donations "2.9"]]
        
        

Readme


Android Donations Lib

Android Donations Lib supports donations by Google Play Store, Flattr, PayPal, and Bitcoin.

It is used in projects, such as OpenKeychain, AdAway, FasterGPS, and NTPSync.

NOTE: Google mailed me to remove PayPal donation capability when publishing on Google Play! Thus, you should build "product flavors" defined by the example: One version with Google Play donation capability and one with Paypal, Flattr, and Bitcoin!

How to use

  1. Add dependency to your build.gradle:

    repositories {
        maven { url 'https://jitpack.io' }
    }
    
    dependencies {
        implementation 'com.github.nikita36078:donations:2.9'
    }
    
  2. Instantiate the fragment where you want to use it. Check out the example app for this: DonationsActivity.java
  3. When publishing the app you must create managed in-app products for your app in the Google Play Store that matches the ones you defined in private static final String[] GOOGLE_CATALOG

Build flavors

  1. Keep in mind that Google forbits other payment methods besides Google Play. Thus, in the example, two build flavors are used. Check out ExampleApp/build.gradle. The build script adds DONATIONS_GOOGLE to the auto generated BuildConfig.java.
  2. Add <uses-permission android:name="android.permission.INTERNET" /> to product flavors that use Flattr

Screenshots

| Product Flavor: Google | Product Flavor: Fdroid | |------------------------|------------------------| | Screenshot | Screenshot |

Build Example App with Gradle

  1. Have Android SDK "tools", "platform-tools", and "build-tools" directories in your PATH (http://developer.android.com/sdk/index.html)
  2. Export ANDROID_HOME pointing to your Android SDK
  3. Download Android Support Repository, and Google Repository using Android SDK Manager
  4. Execute ./gradlew build

Changelog

2.6

  • Force Intent chooser for PayPal
  • Min SDK 14

2.5

  • Sync translations

2.4

  • Fix NPE without billing service

2.3

  • Publish to JCenter

2.2

  • Updated build files
  • Added bitcoin support (thanks to Oleg Vaskevich)

2.1

  • Permissions are now defined per product flavor, they were removed from library's AndroidManifest

2.0

  • Now uses Gradle Build System (http://tools.android.com/tech-docs/new-build-system)
  • No xml configuration needed anymore!
  • Fragment can be instantiated and used in any Activity.
  • You can build "product flavors" defined by the ExampleApp: One version with Google Play Donation capability and one with Paypal and Flattr! (Google mailed me to remove PayPal donation capability when publishing on Google Play!)

Contribute

Fork Android Donations Lib and do a pull request. I will merge your changes back into the main project.