LiaGeliştiriciler

Rehberler

$LIA'da oyunculara ödeme yapın, uygulamanızın ödül havuzundan, sunucunuzdan. Günlük bonus gibi örnek, tekrar edilebilir ve sınırlarınız içinde güvenlidir.

Uygulamanızın ödülleri içeren bir havuzu olmalıdır, Lia ekibi tarafından finanse edilmelidir (bkz. Ödül havuzları. Ödül sadece sunucunuzdan, anahtarınızla gelir.

#Günlük bir bonus

Her oyuncu, bir seviye tamamlandıktan sonra günde bir kez 2 LIA talep edebilir.

server.js
import { lia } from "./lia.js";

app.post("/api/daily-bonus", async (req, res) => {
  const playerId = await playerFrom(req.body.session); // see Verify on your server
  if (!playerId) return res.status(401).end();
  if (!(await db.finishedALevelToday(playerId))) return res.status(403).json({ error: "play_first" });

  const day = new Date().toISOString().slice(0, 10); // 2026-11-01
  try {
    const result = await lia("POST", "/rewards", {
      playerId,
      amount: 2,
      key: `daily:${day}:${playerId}`, // one a day per player, however often this runs
      reason: "Daily bonus",
    });
    res.json({ paid: result.status === "paid", amount: result.amount });
  } catch (error) {
    if (error.data?.error === "pool_empty") return res.status(503).json({ error: "bonus_paused" });
    if (error.data?.error === "daily_limit") return res.status(429).json({ error: "come_back_tomorrow" });
    throw error;
  }
});

Sayfada:

const { paid, amount } = await api("/api/daily-bonus", {});
if (paid) {
  Lia.haptic("success");
  Lia.toast("+" + amount + " LIA");
}

#Anahtarları seçin

Anahtar, bir ödüllü güvenli hale getirir. Aynı anahtar iki kez ödememelidir, bu yüzden anahtarı talep değil, ödüllü sebebi isimlendirmelidir:

ÖdülAnahtar
Günlük bir bonusdaily:2026-11-01:p_3f9c…
Bir turnuva yeritournament-44:place-1:p_3f9c…
Tamamlanmış bir görevquest-7:p_3f9c…
Bir video izlendiad:ad_8e1c…

Bir zaman aşımı sonrası aynı anahtara göre bir yeniden deneme yanıtı { "status": "duplicate" } ve daha fazlasını ödemeyin, bu yüzden yeniden denemek her zaman güvenlidir. Yeni bir anahtarla yeniden denemeyin.

#Havuzun üzerinde dikkatli olun

const { balance, dailyCapPerPlayer } = await lia("GET", "/pool");
if (balance < 100) alertTheTeam(`Reward pool is down to ${balance} LIA`);

Çalışabiliyorsa'bir ödüve karşılık gelsin, POST /rewards cevaplar 409 pool_empty. Oyunculara nazikçe söyleyin ve Lia ekibine onu artırmasını isteyin. Bir oyuncu uygulamanızı zaten kullandıysa'günde ki limiti, cevap verir 429 daily_limit (limit, UTC gün başına oyuncu başına, ekibin ayarladığı).

#Testte

Test anahtarınızla ödüller hayali: kaydedilir, webhook ile, ama $LIA hareketleri yok ve havuz ve günlük sınır yok'kullanıldı. Önce anahtarlarınızı ve hata işleme mekanizmanızı deneyin.

#Ödülleri adil yap

  • Sunucuyu seçin. Birinin kazandığı şey, sayfanın söylediği değil, sunucunuzun gördüğünü (tamamlanmış bir oyun, doğrulanmış bir video) temsil etmelidir.
  • Kendi sınırlarınıza dikkat edin her oyuncu ve her gün için de, bir oyuncu'havuzu boşaltın.
  • Nedenini söyle. The reason oyuncuda görünür's uygulamanızın etkinliği altında'adı.

Otomatik çeviri. İngilizce, doğru kaynaktır. İngilizce olarak oku

Her sayfa, yöntem ve uç noktayı aramak için yazın.