Lia开发者

指南

在正确的时间提问,记住谁同意了,从您的服务器发送,并在通知被点击时打开正确的屏幕。

#1. 在需要时询问

game.js
async function waitForOpponent(room) {
  if (!Lia.notificationsAllowed) {
    try {
      const { allowed } = await Lia.requestNotifications();
      if (allowed) await api("/api/notify-me", { allowed: true });
    } catch (error) {
      // "notifications_off": your app can't send them; carry on without.
    }
  }
  showWaiting(room);
}

// They can also turn them on or off from your app's ⋯ menu.
Lia.on("notificationsChanged", function (data) {
  api("/api/notify-me", { allowed: data.allowed });
});

Lia不能'当有人允许通知时告诉您的服务器,所以请自己告诉它,如上所述。或者保持更简单:当您有东西要说时发送,并将其视为 not_allowed 作为 "否".

#2. 从您的服务器发送

server.js
async function notify(playerId, text, startParam) {
  try {
    return await lia("POST", "/notifications", { playerId, text, startParam });
  } catch (error) {
    const code = error.data?.error;
    if (code === "not_allowed") return db.setNotify(playerId, false); // they said no or stopped
    if (code === "rate_limited") return db.retryLater(playerId, error.data.retryAt); // retryAt may be missing
    if (code === "bad_text") console.warn("Lia refused the text:", error.data.problem);
    throw error;
  }
}

await notify(opponent, "@amara played. Your move.", "room-a81c2e09f4");

#3. 打开正确的屏幕

function route(startParam) {
  if (startParam?.startsWith("room-")) openRoom(startParam);
}
Lia.init().then(function () { route(Lia.startParam); Lia.ready(); });
Lia.on("startParam", function (data) { route(data.startParam); });

#写给他们

  • 最多180 个字符,一行。Lia会在你的应用下方显示它'的名字,所以不要'从它开始。
  • 没有链接、电话号码或欺诈性词语。 Lia 拒绝它们,并说 bad_text 和一个 problem 的 link, phone 或 scam。startParam是你将应用链接到你的应用的方式。
  • 让每个都意义重大。 您的应用程序每天可以向一个人发送 3 条消息(除非 Lia 团队更改了它),每小时一次,所有应用程序总共每天发送 6 条消息。将它们花在那个人想了解的事情上。
  • 用他们的语言书写。 保持每个玩家's Lia.language 在他们打开您的应用时在您的服务器上,并在其中发送。

#测试

测试者每隔 30 秒从你的测试密钥获得测试通知,每天至少 20 次,他们不会't 计入他们所有应用的每日总额。参见 测试.

自动翻译。英语是真实来源。 阅读英文

输入以搜索每一页、方法和端点。