LiaDesenvolvedores

Guias

Ofereça um vídeo como recompensa, verifique no seu servidor que foi assistido por esse jogador e pague uma vez por vídeo.

A página reproduz o vídeo e recebe um adId. Seu servidor verifica o adId com Lia, então dá a recompensa, uma vez.

#Na sua página

game.js
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();
}

Ofereça o vídeo com seu próprio botão ("Assista a um vídeo para continuar"). Pessoas escolhem vídeos recompensados, então Lia não'regulá-los.

#No seu servidor

server.js
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 });
});

#Pagando $LIA por um vídeo

Se a recompensa for $LIA da sua pool, a chave de recompensa faz o "uma vez" para você:

await lia("POST", "/rewards", { playerId, amount: 0.5, key: `ad:${ad.adId}`, reason: "Watched a video" });

#Entre rodadas

Entre rodadas, use um interstício, não um vídeo recompensado: eles'é curto e fechável, e ninguém precisa escolhê-los. Eles não precisam de servidor e não dão nada. Pergunte a cada quebra natural e deixe Lia controlá-los (por padrão, um a cada 90 segundos no máximo, a cada 2nd rodada):

async function nextRound() {
  await Lia.showInterstitialAd(); // often answers "too_soon" at once, and that's fine
  startRound();
}

Mantenha os vídeos de recompensa para o que o jogador pede, atrás de um botão que diga o que eles recebem.

Uma intersticial recompensada fica entre os dois: Lia oferece com Assistir e Pular, e uma assistida tem um adId para verificar como um vídeo recompensado.

#Bom saber

  • /ads/verify diz watched: true para os interstícios que foram exibidos, também. Apenas recompensa adIdsua página recebeu de um formato recompensado com watched: true.
  • Se um vídeo parar parcialmente devido a um problema no telefone, Lia o conta como assistido, para que ninguém perca uma recompensa por um anúncio quebrado.
  • Pausar seu jogo e seu som em "loading"; sua página também ouve pause e resume em torno do vídeo.

Traduzido automaticamente. O inglês é a fonte de verdade. Leia em inglês

Digite para pesquisar todas as páginas, métodos e endpoints.