LiaNhà phát triển

Hướng dẫn

Trả tiền cho người chơi bằng $LIA từ quỹ phần thưởng của ứng dụng của bạn, từ máy chủ của bạn. Một khoản thưởng hàng ngày như ví dụ, an toàn để thử lại và trong giới hạn của bạn.

Ứng dụng của bạn cần một quỹ phần thưởng, được tài trợ bởi đội Lia (xem Ngân sách thưởng). Phần thưởng chỉ đến từ máy chủ của bạn, với khóa của bạn.

#Một phần thưởng hàng ngày

Mỗi người chơi có thể nhận 2 LIA một lần mỗi ngày, sau khi hoàn thành một cấp độ.

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

Trên trang:

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

#Chọn khóa

Khóa là điều khiến phần thưởng an toàn. Khóa giống nhau không bao giờ trả hai lần, vì vậy hãy đặt tên cho lý do của phần thưởng, không phải yêu cầu:

ThưởngKhóa
Một phần thưởng hàng ngàydaily:2026-11-01:p_3f9c…
Một vị trí giải đấutournament-44:place-1:p_3f9c…
Một nhiệm vụ đã hoàn thànhquest-7:p_3f9c…
Một video đã xemad:ad_8e1c…

Một lần thử lại với khóa giống nhau sau thời gian chờ sẽ trả lời { "status": "duplicate" } và không phải trả thêm gì nữa, vì vậy việc thử lại luôn an toàn. Không bao giờ thử lại với một khóa mới.

#Theo dõi池

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

Khi nào cụm từ có thể't bao gồm một phần thưởng, POST /rewards câu trả lời 409 pool_empty. Hãy nói với người chơi một cách lịch sự và yêu cầu đội Lia tăng số dư. Khi người chơi đã sử dụng ứng dụng của bạn'giới hạn hàng ngày, nó trả lời 429 daily_limit (giới hạn là mỗi người chơi mỗi UTC ngày, do đội ngũ đặt ra).

#Trong thử nghiệm

Với khóa kiểm tra của bạn, phần thưởng là giả: được ghi lại, với webhook của chúng, nhưng không có $LIA nào di chuyển, và quỹ và giới hạn hàng ngày không'đã sử dụng. Hãy thử lại các khóa và xử lý lỗi của bạn ở đó trước.

#Đảm bảo phần thưởng công bằng

  • Quyết định trên máy chủ. Cái gì người đó đã kiếm được nên đến từ những gì máy chủ của bạn đã thấy (một trò chơi hoàn tất, một video được xác minh), không phải từ trang nói vậy.
  • Hãy tự quản lý giới hạn của bạn. cũng vậy, mỗi người chơi và mỗi ngày, vì vậy một người chơi có thể'làm cạn nguồn nước.
  • Nói lý do. Cái reason hiển thị trong người chơi's hoạt động.'tên.

Được dịch tự động. Tiếng Anh là nguồn tin cậy. Đọc bằng tiếng Anh

Nhập để tìm kiếm trên mọi trang, phương pháp và điểm cuối.