Skip to content

plaid/plaid-link-android

Repository files navigation

Plaid Link Sample Android App version

This sample app will show you how Link Android SDK can integrate with your own app in both Kotlin and Java. Check out the benefits of using the SDK.

Link demo gif

Detailed instructions on how to integrate with Plaid Link for Android in your app can be found in our main documentation.

Getting Started

To run the sample app, you'll need a Plaid account. You can create one on our website.

1. Register your app id

  1. Log into your Plaid Dashboard at the API page
  2. Next to "Allowed Android package names" click "Configure" then "Add New Android Package Name"
  3. Enter the sample app package name: com.plaid.linksample
  4. Click "Save Changes", you may be prompted to re-enter your password

2a. Generate a link_token and add it to the sample app

  1. Clone the sample repository
  2. Curl /link/token/create to create a new link_token
  3. Copy and paste the link_token into the kotlin or java LinkTokenRequester's getToken() function.

OR

2b. Run the token server (imitation backend server)

  1. Install npm
  2. Copy your client id and secret from your Plaid Dashboard keys page
  3. Run ./start_server.sh ${CLIENT_ID} ${SECRET} but replace client_id and secret with values from your dashboard account.
  4. Server is now running on localhost:8000

3. Run the sample application

  1. 🚀

Features

  • How to integrate the Plaid Link sdk: build.gradle files, link_token configuration, Plaid initialization
  • Kotlin and Java sample Activity that show how to start Link and receive a result
  • Use of OpenPlaidLink ActivityResultContract for easy handling of Link results
  • Optional use of LinkEventListener to get events from Link

Have a look at our main documentation for all Plaid Link SDK features.

Releases

Our change log has release history.

We create release candidates (e.g. 3.2.0-rc1) as beta previews for developers. These are helpful for customers who either are 1. waiting for a specific fix or 2. extremely eager for specific features. They do not hold the same quality guarantee as our official releases, and should NOT be used in production. The official releases come ~2 weeks after the first release candidate (rc1).

The latest version of Plaid Link is version.

implementation("com.plaid.link:sdk-core:<insert latest version>")

R8 and ProGuard rules are already bundled in our AAR and will be used automatically.

Upgrading

Plaid releases updates to the SDK approximately every few months. For the best user experience, we recommend using the latest version of the SDK.

Major SDK versions are released annually. SDK versions are supported for two years; with each major SDK release, Plaid will stop officially supporting any previous SDK versions that are more than two years old.

While these older versions are expected to continue to work without disruption, Plaid will not provide assistance with unsupported SDK versions.

Migration Guide

Changes from SDK 3.x to 4.0

1. Authentication Method Changes

BREAKING: Removed deprecated support for public key authentication.

If your integration is using public key authentication, it's essential to migrate to Link Tokens. This change does not affect you if you've already made this transition. For detailed instructions, refer to Plaid's migration guide.

2. Open Options Configuration

BREAKING: Removed extraParams(extraParams: Map<String, String>) setter method from LinkTokenConfiguration#Builder.

If your integration relies on extraParams, you must now configure these parameters while creating your Link Tokens. Update your implementation accordingly.

3. Upgrade to Kotlin 1.8

The Link Android SDK version of Kotlin has been upgraded to 1.8 and may need to be updated in your project.

License

MIT License

Copyright (c) 2020 Plaid

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.