مرجع SDK
نظرة عامة على SDK
نسخ الصفحة
تحميل Lia SDK، خصائص كائن Lia، كيف تجيب المكالمات وتفشل، وفهرس لكل طريقة.
#تحميله
<script src="https://api.lialabs.org/sdk/lia-apps-v1.js"></script>قم بتحميله من Lia قبل سكريبتاتك الخاصة. يحدد متغيرًا عالميًا واحدًا، window.Lia, مرة واحدة (تحميله مرتين لا يفعل شيئًا). إنه'واجهة بسيطة JavaScript بدون اعتمادات، وتعمل مع أي إطار أو بدونه. تصفح هذه الصفحة الإصدار 1.8.0.
في TypeScript، أعلِن عن الحد الأقصى حتى هناك'س حزمة أنواع:
declare global {
interface Window { Lia: any }
}
const Lia = window.Lia;#كيف تُجيب المكالمات
- معظم الطرق ترجع بPromise. يُعيد الحل بالإجابة الموضحة لكل طريقة، أو يرفض بـ
Errorالذي يملكcode(والذي هوmessageباللغة الإنجليزية لك، وليس للاعبين). - الخيارات السيئة ترفض أيضًا, برمز مثل
bad_text, قبل أن يصل أي شيء إلى Lia. بعض الطرق التي لا'لإرجاع وعود (Lia.inviteLink,Lia.on, الأزرار' مُحددات) تُلقى بدلًا من ذلك. - خارج تطبيق Lia, كل استدعاء يرفض بـ
not_in_lia.Lia.availableيقول لخادمك ما - يجب على Lia الإجابة خلال 20 ثانية, أو الاستدعاء يرفض بـ
timeout. المكالمات التي تنتظر الشخص (الورقة المدفوعة، الإعلانات، النوافذ المنبثقة، محدد الأصدقاء، طلب الإشعارات، الماسح، لوحة المفاتيح، Face ID، المشاركة) تنتظر طالما يستغرق الأمر.
try {
const result = await Lia.pay("extra-lives");
} catch (error) {
switch (error.code) {
case "cancelled": return; // they changed their mind
case "not_in_lia": return showOpenInLia();
default: Lia.toast("Something went wrong", { tone: "error" });
}
}كل رمز مدرج في أكواد الأخطاء.
#الخصائص
اقرأ هذه بعد Lia.init() أجاب؛ قبل ذلك كانوا يحتفظون بالقيم الافتراضية. معظمها يتم الحفاظ عليها حديثة من خلال Lia'الفعاليات.
| الخصائص | النوع | ماذا هو |
|---|---|---|
Lia.version | سلسلة | الـ SDK'الإصدار، على سبيل المثال "1.8.0". |
Lia.available | منطقية | true داخل تطبيق Lia. معروف فور تحميل البرنامج النصي. |
Lia.platform | سلسلة | "ios" أو "android" ("unknown" قبل init()). |
Lia.language | سلسلة | الشخص'لغته في Lia: en, es, pt, fr, tr, ru, vi, id, fil, sw, hi, ar أو zh. راجع اللغة. |
Lia.rtl | منطقية | سواء كانت اللغة تُقرأ من اليمين إلى اليسار (العربية). |
Lia.colorScheme | سلسلة | "light" أو "dark". |
Lia.theme | كائن | Lia'ألوانه، كما bg_color, text_color والباقي. انظر Lia'السمة. |
Lia.viewport | كائن | { height, expanded }: صفحتك'ارتفاعه بالبكسل، وهل الورقة في الارتفاع الكامل. |
Lia.safeArea | كائن | { top, bottom, left, right }: الهاتف'المنطقة الآمنة بالبكسل. |
Lia.contentSafeArea | كائن | { top, bottom, left, right }: أيضًا خالٍ من Lia'التحكم العائم في وضع الشاشة الكاملة. |
Lia.display | سلسلة | كيف فُتح تطبيقك: "sheet", "full" أو "fullscreen". |
Lia.isFullscreen | منطقية | سواء كان'من الحافة إلى الحافة الآن. |
Lia.startParam | سلسلة أو فارغ | ماذا تم فتحه به: دعوة'، رابط'أو إشعار'لـ startParam. null عندما تم فتحه من مركز التطبيقات. |
Lia.soundOn | منطقية | سواء كان الشخص يريد تطبيقك'الأصوات. |
Lia.notificationsAllowed | منطقية | سواء كان هذا الشخص يسمح لتطبيقك بإرسال إشعارات لهم. |
#Lia.isVersionAtLeast(version)
سواء كان SDK على الأقل هذه الإصدار، لسمات تم إضافتها لاحقًا.
if (Lia.isVersionAtLeast("1.3")) Lia.inviteFriend({ startParam: room });| معلمة | النوع | |
|---|---|---|
version | سلسلة | يُحب "1.3" أو "1.3.0". |
تُرجع قيمة منطقية (ليس بومنسي).
#متغيرات CSS
بعد init(), يحدد SDK هذه على صفحتك'الجذر ويحتفظ بها محدثة: Lia'السمة (--lia-bg-color والباقي)، --lia-color-scheme, --lia-viewport-height, --lia-safe-area-inset-* و --lia-content-safe-area-inset-*. راجع مظهر وشعور.
#كل طريقة
| منطقة | الطرق |
|---|---|
| البدء والدورة الحياتية | Lia.init, Lia.ready, Lia.session, Lia.close, Lia.on, Lia.off, Lia.onPause, Lia.onResume |
| المدفوعات والإعلانات | Lia.pay, Lia.charges, Lia.onCharge, Lia.showAd, Lia.showRewardedAd, Lia.showRewardedInterstitialAd, Lia.showInterstitialAd, Lia.onAd |
| الإشعارات والدعوة | Lia.requestNotifications, Lia.inviteFriend, Lia.inviteLink, Lia.share |
| النوافذ المنبثقة | Lia.confirm, Lia.showPopup, Lia.showAlert, Lia.showConfirm, Lia.toast |
| التخطيط، الألوان والأزرار | Lia.expand, Lia.requestFullscreen, Lia.exitFullscreen, Lia.enableExpand, Lia.disableExpand, Lia.enableVerticalSwipes, Lia.disableVerticalSwipes, Lia.enableClosingConfirmation, Lia.disableClosingConfirmation, Lia.setBackgroundColor, Lia.setHeaderColor, Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton |
| الجهاز | Lia.haptic, Lia.scanQr, Lia.copyText, Lia.readClipboard, Lia.openLink, Lia.openLiaLink, Lia.biometric, Lia.accelerometer, Lia.gyroscope, Lia.deviceOrientation |
| الدرجات والتخزين | Lia.submitScore, Lia.leaderboard, Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage |
#يأتي من تيليجرام
Lia'س SDK يتبع تيليجرام'س تطبيقات صغيره حيث تناسب، لذلك معظم الأفكار تنتقل:
| تيليجرام | Lia |
|---|---|
Telegram.WebApp.initData | Lia.init() الإجابات بـ رمز جلسة يتحقق منه خادمك بـ POST /session/verify. |
themeParams, --tg-theme-* | Lia.theme, --lia-* أو الأسماء نفسها |
MainButton, SecondaryButton, BackButton, SettingsButton | Lia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton |
HapticFeedback | Lia.haptic(kind) |
CloudStorage, DeviceStorage, SecureStorage | Lia.cloudStorage, Lia.deviceStorage, Lia.secureStorage أو وعود، وليس مُعَوِّضات |
showPopup, showAlert, showConfirm | نفس الشيء، كـ promises |
openInvoice والنجوم | Lia.pay(productId), مدفوعة بـ $LIA |
start_param | Lia.startParam |
#تحليلات التطبيق عبر الويب
Lia.analytics (SDK 1.8) يسجل استخدام تطبيق الويب بشكل اختياري في مشروع Lia Labs 'OpenPanel'. يعمل مع الإصدارات الحالية من iOS و Android. هذا هو الاختيار المنفصل من مفتاح "مشاركة بيانات الاستخدام" في التطبيق الأصلي.
عندما تُستدعي صفحتك Lia.ready(), يقوم SDK بالتحقق مما إذا كان التحليلات مفعلة من قبل الفريق ويطرح سؤالًا مرة واحدة إذا لم يُحدد اللاعب هذا التطبيق. رفض التفعيل لا يرسل أي أحداث. زر خاصية الخصوصية الصغير يسمح للشخص بتغيير قراره لاحقًا. يتم تخزين الخيار لكل لاعب وتطبيق ويب على خادم Lia. لا يتم تجميع أي أحداث تحليلات قبل الموافقة أو إعادة بثها بعد الرفض.
Lia.analytics.allowed: ما إذا كانت هذه الصفحة لديها إذن حاليًا.Lia.analytics.requestConsent(): يفتح خيار الخصوصية مجددًا ويُجيبtrueفقط بعد الإذن.Lia.analytics.disable(): يتوقف فورًا عن إرسال البيانات على هذه الصفحة ويحفظ الخيار بعدم الموافقة.Lia.analytics.track(name, properties?): يجيب عما إذا تم إرسال الحدث ؛ فشل الإرسال لا يوقف لعبتك أبدًا. أسماء استخدام الأحرف الصغيرة والأرقام والشرطات، وتشمل الحد الأقصى لعدد الأحرف 48. تسمح الخصائص بحد أقصى 12 قيمة عددية أو منطقية، مع مفاتيح معرفات صغيرة تصل إلى 32 حرفًا.
await Lia.init();
Lia.ready();
// Only sends when the person has already agreed. Never prompt during a round.
await Lia.analytics.track("round_finished", { level: 3, score: 120, won: true });يسجل SDK فتح التطبيق واستئنافه بعد الموافقة. أضف أسماء أحداث ثابتة لمحطات اللعب المهمة. لا تستخدم أسماء الأشخاص أو عناوين البريد أو الرسائل أو الروابط أو النصوص الحرة أو معرّفات الحسابات كأسماء للأحداث. تُرفض الخصائص النصية. يضيف جامع الأحداث معرّف التطبيق ووضع التشغيل الفعلي أو الاختبار، ويتحقق من الجلسة الموقعة ومن استمرار الموافقة، ويحترم مفتاح تعطيل التحليلات لدى الفريق، ويحد الأحداث إلى 60 لكل لاعب في كل تطبيق في الدقيقة. يرسل أحداثاً مجمعة دون معرّف ملف اللاعب أو روابط الصفحات أو قيم النماذج أو عنوان IP للشخص.
يستخدم المُتتبع POST /api/web-analytics/consent و /track مع جلسة تطبيق موقعة جديدة. هذه العناوين المُقدمة من SDK لا تحتاج إلى مفتاح مطور API. تبقى بيانات الاعتماد الخاصة بـ OpenPanel على خادم Lia.
تتوفر طرق التحليلات هذه في SDK المستضاف الذي يُحمّل عبر وسم script. لا تفتح روابط الدعوات والردهة طلب الموافقة تلقائياً؛ ويظل زر الخصوصية متاحاً.
تم الترجمة تلقائيًا. الإنجليزية هي مصدر الحقيقة. اقرأ باللغة الإنجليزية