Skip to main content
Integration QuestionsUpdated May 20

Integration FAQ

Getting Started & Setup

Which platforms does AppLixir support? HTML5 web (the primary target), Unity WebGL, Cocos, WordPress, iOS, and Android. See Integration Guides for the per-platform walkthroughs.

How do I start the integration? Sign up at client.applixir.com/register, add your site to get an API key, and follow the HTML5 Integration guide (or your platform of choice).

What is the ads.txt file and why is it required? It's a small text file you host at the root of your domain (yourdomain.com/ads.txt) to declare AppLixir as an authorized seller of your inventory. Without correct ads.txt entries, programmatic demand will not bid. The required lines are listed in Step 6: Updating ads.txt.


Technical Execution

What JS function do I call to show a video? The v6 SDK exposes initializeAndOpenPlayer({...}). Example:

initializeAndOpenPlayer({
apiKey: "xxxx-xxxx-xxxx-xxxx",
adStatusCallbackFn: (status) => {
if (status.type === "complete") grantReward();
}
});

See Step 3: Initializing Video Ad for the full API and options.

Can I check if an ad is available before trying to play it? Yes — the v6 SDK supports preloadAd() so you can keep an ad warm and only show a "Watch Ad" button once one is ready. See the Preload for instant reveal section.

How do I handle ad completion? Set adStatusCallbackFn in your initialize call. The callback receives { type, ad?, error? } where type is the IMA event name. Grant the reward only when status.type === "complete" (and ideally only after your server-side webhook confirms it — see below).


Server & Security

What is a Server-to-Server (S2S) callback? A secure way to notify your backend directly when a reward is earned, verified with an MD5 signature derived from a shared secret. This prevents users from spoofing rewards by tampering with client-side code. Configure it in Settings → Callback. Full payload and signature guide: Step 4: Setting up Callbacks.

Should I grant rewards client-side or server-side? Use the client-side status.type === "complete" only for optimistic UI (e.g., show "+50 coins!"). Always reconcile against the server webhook before persisting the reward — the webhook is the source of truth.

Can I test ads on localhost? Yes. Use your sandbox API key from the dashboard. Some demand partners filter localhost, so for full-fidelity testing serve over a real domain (e.g., a staging URL).


Troubleshooting & Testing

Why am I seeing "No Ads VAST Response" (Error 303)? No bidder returned an ad for this user's geo/device at that moment. It's not a bug — it's normal demand variability. Catch it via the callback (type === "noAd") and gracefully hide the prompt.

How do I test without affecting my live revenue? Use the sandbox / test API key from your dashboard. Test traffic doesn't accrue revenue and is excluded from reporting.

What is the behavior when no videos are available? The callback fires with a non-complete type (e.g., noAd or error). Use that to hide the reward prompt or show a fallback message.


Integration Workflow Overview

  1. Sign up + add site → get your API key
  2. Drop in the SDK + anchor div → see Step 2
  3. Initialize the player with your callback → Step 3
  4. Wire the web callback for server-side reward grant → Step 4
  5. Update ads.txtStep 6
  6. Submit Complete Application → ads go live after approval

Still stuck? Email support@applixir.com and we'll get back within one business day.