Lia开发者

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相关的活跃产品。
busyLia 的另一个'的屏幕在您的应用上打开。
bad_productIdID 不是'最多输入64个字符。
bad_idempotency_key关键不是'不要在正确的形状中。
not_ready, not_in_liaLia不能'准备就绪,否则这'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).

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

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