Пакеты
@lia-labs/sdk-angular
Копировать страницу
Angular сигналы для Lia SDK. функции inject* для состояния Lia, и кнопки, которые живут так долго, как компонент.
npm install @lia-labs/sdk @lia-labs/sdk-angularAngular 17 или позже. Все от @lia-labs/sdk переэкспортируется. The 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 как read-only signal. |
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() }));
}Автоматически переведено. Английский — источник истины. Читать на английском