All posts
SDK Integration Checklist: A Reliable Ad Flow for Telegram Mini Apps

Ad formats & integration

SDK Integration Checklist: A Reliable Ad Flow for Telegram Mini Apps

A practical pre-launch checklist for approval, SDK keys, user-triggered requests, completion handling and real-device testing.

Ad Spark Team

A reliable integration is more than loading a script. Your app must be eligible to serve ads, use the correct SDK key and handle both successful and unavailable ad flows without losing the user's progress.

Start with account and app eligibility

Create your publisher account, add your Mini App and review its status. An SDK key does not replace approval. If the account is banned or the Mini App is not eligible, changing the layout will not restore ad delivery; check the actual account and app status first.

Copy the current script from documentation

The public SDK endpoint is https://adspark-tma.top/api/public/sdk.js?k=YOUR_SDK_KEY. Replace the placeholder with your actual app key and use the current script tag provided by the site's integration documentation. An invalid or missing key can produce an invalid-key response.

Connect the documented calls

Use showAdspark({ ymid: userId }) for the documented Rewarded Interstitial flow or showAdsparkPopup({ ymid: userId }) for Rewarded Popup. Supply the user identifier your integration expects. Do not fabricate user activity or rotate identities to multiply recorded events.

Use a real user action

Connect the request to a clear tap, such as an optional bonus action. Prevent double taps while the request is active. Avoid repeatedly requesting ads on a timer or attempting to hide the ad experience behind unrelated buttons.

Handle completion and failure

Grant an in-app reward after the successful completion result, not when the request merely starts. Handle a rejected promise and restore controls. An unavailable ad should not delete progress, take an earned reward away or trap someone on a loading screen.

Test the whole journey

  1. 1Open the Mini App inside Telegram on a real device.
  2. 2Confirm your approved app loads the correct script.
  3. 3Tap the placement once and watch the full flow.
  4. 4Confirm completion grants exactly one in-app reward.
  5. 5Check that cancellation or an unavailable ad leaves the app usable.
  6. 6Review dashboard activity without manufacturing clicks for testing revenue.

Keep the integration maintainable

Record which placement calls which format. When changing SDK code or app navigation, test both success and failure again. Use the current dashboard and public documentation as the source of truth instead of copying a stale script from another publisher.

Technical testing must not become self-generated ad earning activity. Test control flow responsibly and ask support if you need a safe validation approach.
Open integration documentation