As part of the live coding demo, this sample Android project demonstrates how to integrate the Flow SDK into your application. It showcases the basic setup, initialisation, and usage of key features provided by the SDK.
- SDK initialisation
- Basic usage of core SDK components
- Minimal UI integration example
- Android Studio Ladybug or newer
- Gradle 8.x
- Android SDK minSdk 21+, targetSdk 35
- Kotlin 1.9+
- Clone the repo
git clone https://github.com/checkout/checkout-android-components-google-pay-live-stream-demo-app.git-
Sync Gradle & Build the Project
-
Add you configuration in the local.properties file
We set up the project in order to look for the following keys in you local.properties Please use our Dashboard to create those values and add them as per the following
sandbox.components.processing_channel= {YOUR_PROCESSING_CHANNEL}
sandbox.components.secret_key= {YOUR_SECRET_KEY}
sandbox.components.public_key= {YOUR_PUBLIC_KEY}
The values will be then available as Build.Config across the project
The integration is broken down into clearly marked steps in the codebase — just look for comments like // STEP 1, // STEP 2, etc.
Here’s a quick overview of what each step does and where to find it:
| Step | Description | File / Location |
|---|---|---|
// STEP 1 |
Create the payment session | SampleViewModel.kt |
// STEP 2 |
Create the CheckoutComponent | SampleViewModel.kt |
// STEP 3 |
Create the configuration needed for the factory | SampleViewModel.kt |
// STEP 4 |
Create the component factory | SampleViewModel.kt |
// STEP 5 |
Create the component | SampleViewModel.kt |
// STEP 6 |
Use the component in your UI | SampleViewModel.kt,SampleScreen.kt |
// STEP 7 |
Create a GooglePayFlowCoordinator | SampleViewModel.kt,SampleActivity.kt |
Each step includes inline comments explaining what's happening and why.
💡 Pro tip: Search the codebase for
STEPto jump between sections quickly.
👉 For full SDK documentation, check: Flow SDK Docs
👉 For full SDK reference, check: Flow Mobile Library reference
- This demo uses a simplified architecture for clarity.
- Error handling and edge cases are intentionally minimal.
- Please do not use this as a production app template.