包
@lia-labs/sdk-angular
复制页面
Angular 信号用于 Lia SDK。Lia 的状态的 inject* 函数,以及作为组件生命周期一样长的按钮。
npm install @lia-labs/sdk @lia-labs/sdk-angularAngular 17 或更高版本。从 @lia-labs/sdk 被重新导出。 inject* 功能在注入上下文中运行(一个组件'的构造函数或字段初始化器,或者 runInInjectionContext) 并在它时进行清理'的销毁。
#一个应用
import { Component, effect } from '@angular/core';
import { injectBackButton, injectInit, injectLanguage, injectMainButton, isLia, mockLia, pay, ready } from '@lia-labs/sdk-angular';
if (!isLia()) mockLia();
@Component({
selector: 'app-root',
standalone: true,
template: `
@if (lia().status === 'ready') {
<h1>Hello, @{{ lia().result?.player?.name }} ({{ language() }})</h1>
}
`,
})
export class AppComponent {
lia = injectInit();
language = injectLanguage();
mainButton = injectMainButton({ text: 'Buy extra lives', onClick: () => pay('extra-lives') });
constructor() {
effect(() => {
if (this.lia().status === 'ready') ready();
});
}
}#函数
| 功能 | 给你 |
|---|---|
injectInit(options?) | 一个信号的 { status, result, error }。调用 init() 一次。 |
toLiaSignal(value) | 任何 SDK 值作为只读信号。 |
injectPlayer(), injectMode(), injectLanguage(), injectRtl(), injectColorScheme(), injectThemeParams(), injectViewport(), injectSafeArea(), injectContentSafeArea(), injectIsFullscreen(), injectStartParam(), injectSoundOn(), injectNotificationsAllowed() | Lia'的状态作为只读信号。 |
injectLiaEvent(event, handler) | 监听 Lia 中的一个'的事件。 |
injectBannerAd(position?), injectBanner(), injectNativeAd() | 将横幅Lia 靠近您的页面(这会变短以适应它): "bottom", "top",对于组件'的生命;以及横幅和原生广告现在。 |
injectMainButton(options), injectSecondaryButton(options) | 显示组件的按钮'的生命周期;以及横幅和原生广告现在。 { update(options), dispose() }. |
injectBackButton(onBack), injectSettingsButton(onOpen) | 显示组件的标题按钮'的生命周期。 |
injectClosingConfirmation(), injectVerticalSwipesDisabled() | 对于组件'的生命周期。 |
要跟随一个信号,请在效果中更新按钮:
busy = signal(false);
button = injectMainButton({ text: 'Buy', onClick: () => this.buy() });
constructor() {
effect(() => this.button.update({ text: 'Buy', isProgressVisible: this.busy(), onClick: () => this.buy() }));
}自动翻译。英语是真实来源。 阅读英文