指南
发送通知
复制页面
在正确的时间提问,记住谁同意了,从您的服务器发送,并在通知被点击时打开正确的屏幕。
#1. 在需要时询问
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. 从您的服务器发送
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 计入他们所有应用的每日总额。参见 测试.
自动翻译。英语是真实来源。 阅读英文