📘 Complete Guide: Kodular In-App Billing Component (One-time products)

Hi Kodulars :kodular: :waving_hand:,
This is my first post in Guides A complete practical guide on how the Screenshot 2026-01-30 023240 Works in Kodular especially for one-time purchases / One-time products :play_developer: 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

:small_blue_diamond: 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:

:backhand_index_pointing_right: Remove Ads permanently

This guide focuses on One-Time Purchase (Managed Product).


:small_blue_diamond: 2. Product ID (VERY IMPORTANT)

:white_check_mark: 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.

:white_check_mark: Example:

removeads_panchang

:warning: If Product ID in Kodular ≠ Play Console → purchase will fail.


:small_blue_diamond: 3. Recommended Architecture (Best Practice)

Use TWO layers of validation:

  1. TinyDB → fast local check (offline-safe)
  2. Google Play Billing → authoritative restore

Never rely on TinyDB alone.


:small_blue_diamond: 4. Here’s the Example blocks How make :

:white_check_mark: Goal:

  1. Check TinyDB
  2. If purchased → hide ads
  3. Else → restore from Play Store

:white_check_mark: Example Logic:


:small_blue_diamond: 5. Here’s Complete Block and UI Design :

:folded_hands: 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 :rocket:

4 Likes