Hi Kodulars
,
This is my first post in Guides A complete practical guide on how the
Works in Kodular especially for one-time purchases / One-time products
like My example here - Remove Ads
This guide explains:
- How In-App Billing works internally
- Purpose of each important block
- Correct purchase & restore flow
- TinyDB usage
- Common mistakes to avoid
1. What is In-App Billing in Kodular?
Kodular’s In-App Billing component allows you to sell:
- One-time products (managed / non-consumable)
- Consumable products
- Subscriptions
Most common use case:
Remove Ads permanently
This guide focuses on One-Time Purchase (Managed Product).
2. Product ID (VERY IMPORTANT)
Product ID must:
- Be exactly the same as in Google Play Console
- Be case-sensitive
- Follow this rule:
Must start with a number or lowercase letter.
Can contain numbers, lowercase letters, underscores and full stops.
Example:
removeads_panchang
If Product ID in Kodular ≠ Play Console → purchase will fail.
3. Recommended Architecture (Best Practice)
Use TWO layers of validation:
- TinyDB → fast local check (offline-safe)
- Google Play Billing → authoritative restore
Never rely on TinyDB alone.
4. Here’s the Example blocks How make :
Goal:
- Check TinyDB
- If purchased → hide ads
- Else → restore from Play Store
Example Logic:
5. Here’s Complete Block and UI Design :
Thanks
Special thanks to community members @RaYzZz @Ibrahim_Jamar @Taifun and others who helped during debugging and discussion.
Hope this guide helps others avoid common pitfalls.
Happy coding ![]()



