SDK 参考
支付和广告
复制页面
Lia.pay, Lia.charges and Lia.onCharge for Lia's pay sheet, Lia.showAd and its shortcuts for full screen ads, and Lia.showBanner and Lia.showNativeAd for banners and native ads.
#支付
查看 支付和支付表 对于它们的工作方式,以及 出售物品 用于整个流程。
#Lia.pay(productId, options)
打开 Lia'的付款表格,用于你的一个产品。一旦它'的付费;如果它不是,就拒绝。't.
const { chargeId, productId } = await Lia.pay("extra-lives");
// With your own key (SDK 1.5): asking again with the same key charges once and answers with the same chargeId.
const order = "order-" + crypto.randomUUID();
const paid = await Lia.pay("extra-lives", { idempotencyKey: order });| 参数 | 类型 | |
|---|---|---|
productId | 字符串 | 您的一个产品' id,最多64个字符。 |
options.idempotencyKey | 字符串 | 可选,1 到 64 个字母、数字, _, -, . 和 :。参见 幂等性密钥. |
以 { chargeId, productId }。然后发送 chargeId 到你的服务器以传递它。
| 错误 | 何时 |
|---|---|
cancelled | 这个人关闭了表单但没有支付。 |
no_product | 没有与此ID相关的活跃产品。 |
busy | Lia 的另一个'的屏幕在您的应用上打开。 |
bad_productId | ID 不是'最多输入64个字符。 |
bad_idempotency_key | 关键不是'不要在正确的形状中。 |
not_ready, not_in_lia | Lia不能'准备就绪,否则这't Lia。 |
如果页面在表格打开时重新加载,费用将作为 "charge" 事件代替(参见 Lia.onCharge).
#幂等性密钥
从SDK 1.5开始,改变某些事情的调用(Lia.pay, Lia.inviteFriend, Lia.submitScore 和云存储'的写入操作)可选 idempotencyKey。在24小时内再次使用相同的密钥,不会'不要重复操作:它会像第一次调用一样给出答案。
- Lia 已经为每个调用保留一次 当它自己重试(连接断开)。你自己的密钥在你的页面上提供了相同的安全性'的重试和重新加载:保持它(在
Lia.deviceStorage,说)直到通话被接听。 - 为每个操作生成一个密钥 (
crypto.randomUUID()是好的)并仅重新使用它来重试该操作。 - 相同的密钥,但不同的参数 被拒绝。为新操作使用新密钥。
- 对于支付,支付表单仍然打开,供人们确认;使用已支付的密钥确认会返回第一次收费,并且不会收取更多费用。
- 一个比SDK 1.5更老的Lia应用'的发布忽略该密钥,因此调用仍然有效,只是没有您的密钥。
#Lia.charges()
这个玩家'的付费费用,你的服务器没有't 还没有交付,按最早到最晚排序,最多50.。在你的应用打开时调用它,并交付你找到的任何内容。
const pending = await Lia.charges(); // [{ chargeId, productId }]
for (const charge of pending) await deliverOnServer(charge.chargeId);以数组形式返回 { chargeId, productId }.
#Lia.onCharge(listener)
听到一个在没有 Lia.pay() 正在等待它,例如在重新加载后。监听器会得到 { chargeId, productId }。返回一个停止监听的函数。和 Lia.on("charge", listener).
#广告
查看 广告 用于格式、节奏和在您的服务器上进行检查。
#Lia.showAd(options)
在你的应用上播放全屏广告。一旦它'的关闭。
const result = await Lia.showAd({ format: "rewarded" });
if (result.watched) giveReward(result.adId);| 选项 | 类型 | |
|---|---|---|
format | 字符串 | "rewarded" (默认), "rewardedInterstitial" 或 "interstitial". |
onState | 功能 | 可选。听到每个阶段: "loading", "showing", "closed". |
返回:
| 字段 | 类型 | |
|---|---|---|
watched | 布尔值 | 观看奖励广告至结束。 |
shown | 布尔值 | 一个广告出现在屏幕上。 |
adId | 字符串 | 在 watched 是真,且当插页式广告显示时。在您的服务器上检查它使用 POST /ads/verify. |
reason | 字符串 | 何时 watched 是假的: cancelled, skipped, no_ad, too_soon, failed 或连接问题。 |
错误: bad_format, busy。没有广告可显示时't 一个错误:它会以 reason: "no_ad".
#Lia.showRewardedAd(options)
与...相同 Lia.showAd({ format: "rewarded", onState })。这个人选择观看的视频。
#Lia.showRewardedInterstitialAd(options)
与...相同 Lia.showAd({ format: "rewardedInterstitial", onState })。Lia首先会询问用户,用“观看”和“跳过”;跳过会以 reason: "skipped".
#Lia.showInterstitialAd(options)
与...相同 Lia.showAd({ format: "interstitial", onState })。在轮次之间使用的那个。由Lia控制(默认情况下每90秒最多一次,每2nd次请求):当它不是'不要轮到它,它会立即解决并 shown: false, reason: "too_soon".
// Between rounds: ask every time, and let Lia decide.
await Lia.showInterstitialAd();
startNextRound();#Lia.onAd(listener)
听到每个广告'的阶段, { state, format },带有 state 之一 "loading", "showing" 和 "closed"。返回一个停止监听的函数。和 Lia.on("ad", listener).
#Lia.showBanner(options)
在顶部或底部边缘停靠自适应横幅,由Lia 在您的页面外部绘制。您的页面会变短以适应它,因此它从不覆盖任何内容(SDK 1.7)。一旦它'显示,或者一旦Lia 放弃(大约10 秒)。
const banner = await Lia.showBanner({ position: "bottom" });
if (banner.shown) console.log("Banner is", banner.height, "px");| 选项 | 类型 | |
|---|---|---|
position | 字符串 | "bottom" (默认)或 "top"。在全屏模式下,顶部横幅位于Lia下方'的浮动关闭和⋯。 |
以 { shown: true, position, height },或者 { shown: false, reason } 与 reason 之一 no_ad (未加载)以及 off (Lia 团队关闭了横幅)。再次请求相同的位置会以横幅已显示作为回应;请求其他位置会移动它。AdMob 在它Lia 时刷新它。'现在开启。
错误: bad_position.
#Lia.hideBanner()
移除横幅;你的页面恢复其空间。解析为 { hidden: true }.
#Lia.banner
横幅现在: { visible, position, height } (position 是 null 且 height 0时,'的无)。 --lia-banner-height 保留与CSS变量相同的高度。
#Lia.onBanner(listener)
听到横幅变化: { state, position, height, reason? },带有 state 之一 "loading", "shown" (刷新后高度变化后再次尝试), "failed" 和 "hidden"。底部横幅是 "hidden" 当原生卡取代它时,然后 "loading" 和 "shown" 。返回一个停止监听的函数。与相同 Lia.on("banner", listener).
#Lia.showNativeAd(options)
一个在Lia中的原生广告'自己的外观,用于你应用中的暂停(SDK 1.7)。
// A results screen: a sponsored card docked under it.
const ad = await Lia.showNativeAd({ placement: "card" });
// The next round:
Lia.hideNativeAd();| 选项 | 类型 | |
|---|---|---|
placement | 字符串 | "card" (默认): 一个紧凑的卡片停靠在底部边缘,您的页面更短以适应,带有关闭按钮,直到它'的关闭或您调用 hideNativeAd()。一旦它'现在开启。 "sheet": 一个带有其图片或视频的较大广告,以覆盖您的应用的表单,此时应用被暂停(pause,然后 resume) 直到该人关闭它。一旦它完成,就会解析'的关闭。 |
以 { shown: true, placement, height? } (height 对于卡片),或者 { shown: false, reason } 与 reason 之一 no_ad, too_soon (原生广告对每个人至少相隔一分钟)以及 off.
错误: bad_placement,以及 busy 对于一张表格,而另一个 Lia'的表单是打开的。
#Lia.hideNativeAd()
移除原生卡片。解析为 { hidden: true }.
#Lia.nativeAd
原生广告现在: { visible, placement, height }.
#Lia.onNativeAd(listener)
听到每个原生广告'的阶段, { state, placement, height? },带有 state 之一 "loading", "showing" 和 "closed" (也当人关闭卡片时)。返回一个停止监听的函数。与 Lia.on("nativeAd", listener).
自动翻译。英语是真实来源。 阅读英文