Paketi
@lia-labs/sdk-react
Kutuma mstereani
React hooks kwa Lia SDK. Ufunguzi, Lia's state kama hooks, na Lia's buttons zinazohusika wakati komponeni inaundwa.
npm install @lia-labs/sdk @lia-labs/sdk-reactReact 18 au 19. Kila kitu kwa @lia-labs/sdk inatumia tena, kwa hiyo uchukua yote hapa.
#App
import { useEffect, useState } from 'react';
import { isLia, mockLia, pay, ready, useBackButton, useClosingConfirmation, useInit, useLanguage, useMainButton } from '@lia-labs/sdk-react';
if (!isLia()) mockLia(); // building in a desktop browser
export function App() {
const lia = useInit();
const language = useLanguage();
const [screen, setScreen] = useState<'home' | 'game'>('home');
useEffect(() => {
if (lia.status === 'ready') ready();
}, [lia.status]);
useMainButton(screen === 'home' && { text: 'Buy extra lives', onClick: () => pay('extra-lives') });
useBackButton(screen === 'game' && (() => setScreen('home')));
useClosingConfirmation(screen === 'game');
if (lia.status === 'loading') return null;
if (lia.status === 'error') return <p>Open this app inside Lia.</p>;
return <h1>Hello, @{lia.result.player.name} ({language})</h1>;
}#Kushirikiana
| Kushirikiana | Inatuma |
|---|---|
useInit(options?) | `{ hadi: "kutangazwa" |
useSignal(value) | Yoyote SDK kiasi kama state (kwa useSyncExternalStore). |
usePlayer(), useMode() | Mteja, na test au live. |
useLanguage(), useRtl() | Mtu's lugha. |
useColorScheme(), useThemeParams() | Mvua au kuvunja, na Lia'zilizopita kwa rangi. |
useViewport(), useSafeArea(), useContentSafeArea(), useIsFullscreen() | Mashape. |
useStartParam(), useSoundOn(), useNotificationsAllowed() | Mengine wa Lia'kawaida. |
useBannerAd(position), useBanner(), useNativeAd() | Inaongeza banner wakati inaongezwa ("bottom", "top", au null kwa kila mmoja, na banner na ad ya kawaida sasa. |
useLiaEvent(event, handler) | Kusikia moja ya Lia'zilizopita mafanikio wakati mfululizo unapewa (kila mengine inatuma handler yako mpya). |
useMainButton(options), useSecondaryButton(options) | Inaonyeshwa button wakati inaendeleza. options ni { text, onClick, isActive, isProgressVisible, color, textColor, position }; kuzalisha null au false kukabidhi. Matokeo yako mpya onClick inatumia kwa kawaida. |
useBackButton(onBack) | Inaonyeshwa header'kutoka kwenye mstari wakati mchezo unapewa; null au false hukamata. |
useSettingsButton(onOpen) | Kuhakikisha katika menyu ya ⋯ wakati inaendeleza. |
useClosingConfirmation(enabled?) | Kutuma kabla ya kushuka wakati inaendeshwa. |
useVerticalSwipesDisabled(disabled?) | Kutoka kwa kushuka kwa kushuka't close the sheet while disabled. |
#Hali ya kazi
const [busy, setBusy] = useState(false);
useMainButton({
text: 'Buy',
isProgressVisible: busy,
onClick: async () => {
setBusy(true);
try { await buy(); } finally { setBusy(false); }
},
});#Kutuma kwa kawaida
Makundi ya kushiriki yana kuchukua thamani ya kwanza kutoka SDK kwa kila mchakato, hivyo wana kuchukua kwenye server (na mifano: Kiingereza, kipande, sio kuanzishwa). init() sinaendeleza kwenye browser, kwa kipimo cha kipimo.
Kutafsiri kwa kawaida. Kiingereza kina maana ya kawaida. Kusoma kwa Kiingereza