Liaالمطورون

الدروس

قدم فيديو كمكافأة، وتحقق على خادمك أن اللاعب شاهده، وادفع مرة واحدة لكل فيديو.

الصفحة تلعب الفيديو وتحصل على adId. خادمك يتحقق من adId مع Lia، ثم يُعطي المكافأة، مرة واحدة.

#في صفحتك

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

قدم الفيديو بزرك الخاص ("شاهد فيديو للبقاء في التطبيق"). يختار الأشخاص الفيديوهات المُكافأة، لذلك Lia لا'لإيقافهم.

#على خادمك

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 });
});

#دفع ⁦$LIA⁩ مقابل فيديو

إذا كانت المكافأة ⁦$LIA⁩ منك الخزانة, المفتاح المكافأة يقوم بالـ "مرة واحدة" لك:

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

#بين الجولات

بين الجولات، استخدم إعلانًا وسطيًا، وليس فيديو مكافأة: لأنها'مختصرة وقابلة للإغلاق، ولا يحتاج أحد إلى اختيارها. لا تحتاج إلى خادم وتعطي شيئًا. اسأل في كل انقطاع طبيعي ودع Lia ينظمها (بشكل افتراضي مرة واحدة كل 90 ثانية كحد أقصى، كل 2nd جولة):

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

احتفظ بالفيديوهات المكافأة لما يطلبه اللاعب، خلف زر يقول ما يحصلون عليه.

الشاشة الإعلانية المكافأة تقع بين 둘: Lia تقدمها مع مشاهدة وتجاهل، وعند مشاهدتها يكون هناك adId لتحديد أي إجابة بنفسك. ارجع بقيمة للإجابة، أو رمي

#مفيد للاستيعاب

  • /ads/verify تقول watched: true للإعلانات الوسيطة التي تم عرضها أيضًا. فقط المكافأة adIdالصفحة حصلت عليها من تنسيق مكافأة مع watched: true.
  • إذا توقف الفيديو جزئيًا بسبب مشكلة على الهاتف، يُحسب Lia كأنه تم مشاهدته، حتى لا يخسر أحد المكافأة بسبب إعلان معطوب.
  • إيقاف اللعبة وصوتها على "loading"; صفحةك تسمع أيضًا pause و resume حول الفيديو.

تم الترجمة تلقائيًا. الإنجليزية هي مصدر الحقيقة. اقرأ باللغة الإنجليزية

اكتب للبحث في كل صفحة، وطريقة ونقطة نهاية.