حزم SDK للجوال
حزم SDK للجوال هي المكافئ لويدجت الويب في تطبيقاتك: يحصل عملاؤك على دعم داخل التطبيق مع سجل محادثات كامل وإشعارات فورية، ويرى وكلاؤك تلك المحادثات في صندوق الوارد نفسه. إنها ليست تطبيقات للوكلاء في فريقك؛ فتلك خط منتجات منفصل.
المنصات
Section titled “المنصات”| المنصة | اللغة وبيئة التشغيل | التوزيع | الحالة |
|---|---|---|---|
| iOS | Swift 5.9+، iOS 15+ | Swift Package Manager، CocoaPods | قيد التطوير |
| Android | Kotlin 1.9+، Android 8.0 (API 26)+ | Maven Central | قيد التطوير |
| React Native | تغلّف حزم SDK الأصلية | npm | مخطط لها (نسخة تجريبية) |
| Flutter | تغلّف حزم SDK الأصلية | pub.dev | مخطط لها (نسخة تجريبية) |
حزم SDK الأصلية هي المرجع؛ والأغلفة تصدر بعدها. تطبيقات الساعات والتلفاز وحزم SDK لسطح المكتب خارج النطاق؛ استخدم ويدجت الويب لسطح المكتب.
ما تتضمنه SDK
Section titled “ما تتضمنه SDK”المراسلة النصية، والمرفقات، والرسائل الصوتية، والصور والفيديو، والجلسات المجهولة والمعرّفة، والسمات، والصورة الرمزية المخصصة والعلامة التجارية، و40 لغة، ومساعد الإعداد بالذكاء الاصطناعي، وسجل المحادثات، وشارات غير المقروء، والإشعارات الفورية، والروابط العميقة، والنقر للاتصال عبر تطبيق الهاتف، وقائمة انتظار عدم الاتصال مع المزامنة في الخلفية، وفتح الدردشة بالقياسات الحيوية، ودعم VoiceOver وTalkBack، والوضع الداكن. الحجم المستهدف بعد التجميع: 5 MB أو أقل لكل منصة.
مكالمات WebRTC داخل التطبيق ومشاركة الشاشة من جانب العميل تأتي في إصدار لاحق. التصفح المشترك للويب فقط: أنظمة تشغيل الجوال لا تسمح لـ SDK من طرف ثالث بمراقبة الشاشة أو التحكم فيها.
واجهة SDK
Section titled “واجهة SDK”هيّئ مرة واحدة، في وقت مبكر من دورة حياة التطبيق:
// iOSlet config = RolChatConfig( siteId: "site_abc123", apiKey: "pk_live_…", // public key - safe to ship in the app region: .eu, // eu / us theme: RolChatTheme(primaryColor: .blue))RolChat.shared.initialize(config: config)// Androidval config = RolChatConfig.Builder() .siteId("site_abc123") .apiKey("pk_live_…") .region(Region.EU) .theme(RolChatTheme(primaryColor = Color.Blue)) .build()RolChat.initialize(context, config)عرّف المستخدم بعد تسجيل دخوله، وسجّل خروجه عندما يسجّل خروجه:
RolChat.shared.identify(userId: "user_12345", email: "alice@example.com", name: "Alice", metadata: ["tier": "gold"])RolChat.shared.logout() // on host-app sign-out, or the next user sees this historyاعرض الواجهة:
RolChat.shared.openChat() // modalRolChat.shared.openChat(conversationId: id) // a specific conversationRolChat.shared.openChatInline(view) // inside your own layoutRolChat.shared.close()دوال الاستدعاء الراجع: rolChatDidOpen وrolChatDidClose وrolChatDidReceiveMessage(_:) وrolChatDidFailToSend(_:). الواجهة العامة آمنة للاستخدام من الخيط الرئيسي على iOS ومن خيوط الخلفية على Android؛ وتنقطع الاتصالات عندما ينتقل التطبيق إلى الخلفية وتُستأنف عند عودته إلى الواجهة.
الجلسات والهوية
Section titled “الجلسات والهوية”- مجهولة: معرّف جلسة الجهاز المخزّن في keychain أو في التفضيلات المشفرة يبقى بعد تحديثات التطبيق ومرتبط بالجهاز لا بالمستخدم. يُحذف بعد 90 يومًا من عدم النشاط.
- معرّفة: بعد
identifyتُرقّى الجلسة وتُدمج مع السجل المجهول على الجهاز نفسه عندما يكون ذلك واضحًا دون لبس. يتبع ربط الهوية عبر القنوات قواعد مخطط الهوية والموافقة. - التعريف الموثوق: توقّع الواجهة الخلفية لديك رمزًا بمطالبات المستخدم؛ وتمرره SDK ويتحقق RolChat من التوقيع قبل ترقية الجلسة. يعمل
identifyغير الموقّع لكن بمستوى ثقة أدنى.
مفتاح API العام في التطبيق آمن بحكم التصميم: فهو محصور بنطاق الموقع وخاضع لحدود المعدل.
الإشعارات الفورية
Section titled “الإشعارات الفورية”| المنصة | وسيلة النقل | ما تقدّمه أنت |
|---|---|---|
| iOS | APNs | مفتاح مصادقة APNs في لوحة تحكم RolChat |
| Android | FCM | ملف JSON لحساب خدمة FCM |
RolChat.shared.setPushToken(deviceToken, type: .apns)if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat messageيُترجم نص الإشعار على الخادم إلى لغة المستخدم. تدعم الإشعارات الغنية الصورة الرمزية، والرد من الإشعار، والتعليم كمقروء. لا تطلب SDK إذن الإشعارات من تلقاء نفسها أبدًا؛ استدعِ requestPushPermission() في الوقت المناسب لمسار الإعداد لديك. إلغاء الاشتراك يتم عبر setPushEnabled(false) أو عبر إعدادات النظام؛ وكلاهما يُسجَّل.
الإصدارات والدعم
Section titled “الإصدارات والدعم”إصدارات دلالية صارمة. يُدعم إصداران رئيسيان في الوقت نفسه، مع سنة للترحيل بعد كل إصدار رئيسي. الإصدارات الثانوية شهرية؛ وإصلاحات الأمان تصدر فورًا؛ ويُعلن عن الإصدارات الرئيسية قبل ثلاثة أشهر. SDK الموقوفة أو غير المدعومة تسجّل تحذيرًا عند بدء التشغيل وتعرضه لوحة التحكم تحت التكاملات.
الخصوصية
Section titled “الخصوصية”لا تتبع خارج ما تفعّله، وواجهات الموافقة تستخدم الأنماط الأصلية للمنصة، وطلبات أصحاب البيانات وفق GDPR وCCPA وLGPD تشمل جلسات SDK مثل أي قناة أخرى. تُضغط المرفقات على الجهاز، وتُرفع إلى عناوين URL موقّعة، وتُفحص من الفيروسات قبل أن يراها الوكلاء.