Guides
Publicités récompensées qui paient
Copier la page
Proposez une vidéo en échange d'une récompense, vérifiez sur votre serveur qu'elle a été regardée par ce joueur, et versez une récompense par vidéo.
La page joue la vidéo et reçoit un adId. Votre serveur vérifie le adId avec Lia, puis donne la récompense, une seule fois.
#Dans votre page
async function secondChance() {
const result = await Lia.showRewardedAd({
onState: function (state) {
if (state === "loading") pauseGame();
},
});
if (!result.watched) {
if (result.reason === "no_ad") Lia.toast("No video right now. Try again soon.");
return endRun();
}
const { ok } = await api("/api/second-chance", { adId: result.adId });
ok ? continueRun() : endRun();
}Proposez la vidéo avec votre propre bouton ("Regardez une vidéo pour continuer"). Les gens choisissent les vidéos récompensées, donc Lia ne'ne pas les rythmer.
#Sur votre serveur
app.post("/api/second-chance", async (req, res) => {
const playerId = await playerFrom(req.body.session);
if (!playerId) return res.status(401).end();
let ad;
try {
ad = await lia("POST", "/ads/verify", { adId: req.body.adId });
} catch {
return res.json({ ok: false });
}
if (!ad.watched || ad.playerId !== playerId) return res.json({ ok: false });
// Once per video: a second request with the same adId gets nothing more.
const first = await db.useOnce(`ad:${ad.adId}`);
if (!first) return res.json({ ok: false });
await db.grantSecondChance(playerId);
res.json({ ok: true });
});#Payer $LIA pour une vidéo
Si la récompense est $LIA de votre réservoir, la clé de récompense fait le "une fois" pour vous :
await lia("POST", "/rewards", { playerId, amount: 0.5, key: `ad:${ad.adId}`, reason: "Watched a video" });#Entre les tours
Entre les tours, utilisez un interstitiel, pas une vidéo récompensée : ils'est court et closable, et personne n'a besoin de les choisir. Ils n'ont pas besoin de serveur et ne donnent rien. Demandez à chaque point naturel et laissez Lia les gérer (par défaut un tous les 90 secondes au maximum, tous les 2nd tours) :
async function nextRound() {
await Lia.showInterstitialAd(); // often answers "too_soon" at once, and that's fine
startRound();
}Gardez les vidéos récompensées pour ce que le joueur demande, derrière un bouton qui indique ce qu'ils obtiennent.
Une publicité interstitielle récompensée se situe entre les deux : Lia la propose avec Regarder et Sauter, et une publicité regardée a un adId pour vérifier comme une vidéo récompensée.
#À savoir
/ads/verifyditwatched: truepour les bannières qui ont été affichées, aussi. Seul le récompenseadIdvotre page a reçu d'un format récompensé avecwatched: true.- Si une vidéo s'arrête à mi-chemin à cause d'un problème sur le téléphone, Lia la compte comme regardée, afin que personne ne perde une récompense à cause d'une publicité cassée.
- Mettre en pause votre jeu et son son sur
"loading"; votre page entend aussipauseetresumeautour de la vidéo.
Traduit automatiquement. L'anglais est la source de vérité. Lire en anglais