Liaالمطورون

مرجع 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.initDataLia.init() الإجابات بـ رمز جلسة يتحقق منه خادمك بـ POST /session/verify.
themeParams, --tg-theme-*Lia.theme, --lia-* أو الأسماء نفسها
MainButton, SecondaryButton, BackButton, SettingsButtonLia.mainButton, Lia.secondaryButton, Lia.backButton, Lia.settingsButton
HapticFeedbackLia.haptic(kind)
CloudStorage, DeviceStorage, SecureStorageLia.cloudStorage, Lia.deviceStorage, Lia.secureStorage أو وعود، وليس مُعَوِّضات
showPopup, showAlert, showConfirmنفس الشيء، كـ promises
openInvoice والنجومLia.pay(productId), مدفوعة بـ ⁦$LIA⁩
start_paramLia.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. لا تفتح روابط الدعوات والردهة طلب الموافقة تلقائياً؛ ويظل زر الخصوصية متاحاً.

تم الترجمة تلقائيًا. الإنجليزية هي مصدر الحقيقة. اقرأ باللغة الإنجليزية

اكتب للبحث في كل صفحة، وطريقة ونقطة نهاية.