Μετάβαση στο περιεχόμενο

SDK για κινητά

Τα SDK για κινητά είναι το αντίστοιχο του web widget για τις δικές σας εφαρμογές: οι πελάτες σας λαμβάνουν υποστήριξη μέσα στην εφαρμογή με πλήρες ιστορικό συνομιλιών και ειδοποιήσεις push, και οι εκπρόσωποί σας βλέπουν αυτές τις συνομιλίες στα ίδια Εισερχόμενα. Δεν είναι εφαρμογές εκπροσώπων για την ομάδα σας· αυτές αποτελούν ξεχωριστή σειρά προϊόντων.

Πλατφόρμα Γλώσσα και runtime Διανομή Κατάσταση
iOS Swift 5.9+, iOS 15+ Swift Package Manager, CocoaPods σε ανάπτυξη
Android Kotlin 1.9+, Android 8.0 (API 26)+ Maven Central σε ανάπτυξη
React Native περιβάλλει τα native SDK npm προγραμματισμένο (beta)
Flutter περιβάλλει τα native SDK pub.dev προγραμματισμένο (beta)

Τα native SDK είναι τα έγκυρα· τα wrappers κυκλοφορούν μετά από αυτά. Οι εφαρμογές για ρολόγια ή τηλεοράσεις και τα SDK για υπολογιστές είναι εκτός πεδίου· για υπολογιστές χρησιμοποιήστε το web widget.

Μηνύματα κειμένου, συνημμένα, φωνητικά μηνύματα, εικόνες και βίντεο, ανώνυμες και αναγνωρισμένες συνεδρίες, θέματα εμφάνισης, προσαρμοσμένο avatar και επωνυμία, 40 γλώσσες, ο AI concierge, ιστορικό συνομιλιών, σήματα μη αναγνωσμένων, ειδοποιήσεις push, deep links, κλήση με ένα πάτημα μέσω του τηλεφωνητή της συσκευής, ουρά εκτός σύνδεσης με συγχρονισμό στο παρασκήνιο, βιομετρικό ξεκλείδωμα της συνομιλίας, υποστήριξη VoiceOver και TalkBack, σκούρο θέμα. Στόχος μεγέθους μετά τη μεταγλώττιση: 5 MB ή λιγότερο ανά πλατφόρμα.

Οι κλήσεις WebRTC μέσα στην εφαρμογή και η κοινή χρήση οθόνης από τον πελάτη έρχονται σε μεταγενέστερη έκδοση. Το cobrowse λειτουργεί μόνο στο web: τα λειτουργικά συστήματα κινητών δεν επιτρέπουν σε SDK τρίτων να παρακολουθεί ή να ελέγχει την οθόνη.

Αρχικοποιήστε μία φορά, νωρίς στον κύκλο ζωής της εφαρμογής:

// iOS
let 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)
// Android
val 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() // modal
RolChat.shared.openChat(conversationId: id) // a specific conversation
RolChat.shared.openChatInline(view) // inside your own layout
RolChat.shared.close()

Callbacks: rolChatDidOpen, rolChatDidClose, rolChatDidReceiveMessage(_:), rolChatDidFailToSend(_:). Το δημόσιο API είναι ασφαλές για το main thread στο iOS και για background threads στο Android· οι συνδέσεις διακόπτονται όταν η εφαρμογή πηγαίνει στο παρασκήνιο και συνεχίζουν όταν επιστρέφει στο προσκήνιο.

  • Ανώνυμη: ένα αναγνωριστικό συνεδρίας συσκευής που αποθηκεύεται στο keychain ή σε κρυπτογραφημένες προτιμήσεις επιβιώνει από ενημερώσεις της εφαρμογής και συνδέεται με τη συσκευή, όχι με τον χρήστη. Διαγράφεται μετά από 90 ημέρες αδράνειας.
  • Αναγνωρισμένη: μετά το identify, η συνεδρία αναβαθμίζεται και συγχωνεύεται με το ανώνυμο ιστορικό στην ίδια συσκευή όταν δεν υπάρχει ασάφεια. Η επίλυση ταυτότητας μεταξύ καναλιών ακολουθεί τους κανόνες του γραφήματος ταυτότητας και τη συγκατάθεση.
  • Αξιόπιστη αναγνώριση: ο backend σας υπογράφει ένα token με τα claims του χρήστη· το SDK το μεταβιβάζει και το RolChat επαληθεύει την υπογραφή πριν αναβαθμίσει τη συνεδρία. Το μη υπογεγραμμένο identify λειτουργεί, αλλά με χαμηλότερη αξιοπιστία.

Το δημόσιο κλειδί API στην εφαρμογή είναι ασφαλές εκ σχεδιασμού: έχει εμβέλεια τον ιστότοπο και όριο ρυθμού.

Πλατφόρμα Μεταφορά Εσείς παρέχετε
iOS APNs Ένα κλειδί ελέγχου ταυτότητας APNs στον πίνακα ελέγχου του RolChat
Android FCM Το JSON του service account του FCM
RolChat.shared.setPushToken(deviceToken, type: .apns)
if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat message

Το κείμενο των ειδοποιήσεων εντοπίζεται στον διακομιστή στη γλώσσα του χρήστη. Οι εμπλουτισμένες ειδοποιήσεις υποστηρίζουν avatar, απάντηση από την ειδοποίηση και σήμανση ως αναγνωσμένο. Το SDK δεν ζητά ποτέ μόνο του άδεια για push· καλέστε requestPushPermission() όταν ταιριάζει στη ροή εκκίνησης της εφαρμογής σας. Η εξαίρεση γίνεται με setPushEnabled(false) ή από τις ρυθμίσεις του λειτουργικού συστήματος· και τα δύο καταγράφονται.

Αυστηρή σημασιολογική έκδοση. Υποστηρίζονται δύο κύριες εκδόσεις ταυτόχρονα, με έναν χρόνο για μετάβαση μετά από μια κύρια έκδοση. Οι δευτερεύουσες εκδόσεις κυκλοφορούν μηνιαίως· οι διορθώσεις ασφαλείας κυκλοφορούν αμέσως· οι κύριες εκδόσεις ανακοινώνονται τρεις μήνες νωρίτερα. Ένα καταργημένο ή μη υποστηριζόμενο SDK καταγράφει προειδοποίηση κατά την εκκίνηση και ο πίνακας ελέγχου το εμφανίζει στις Ενσωματώσεις.

Καμία παρακολούθηση πέρα από όσα ενεργοποιείτε, οι οθόνες συγκατάθεσης χρησιμοποιούν τα εγγενή μοτίβα της πλατφόρμας, και τα αιτήματα υποκειμένων δεδομένων βάσει GDPR, CCPA και LGPD καλύπτουν τις συνεδρίες του SDK όπως κάθε άλλο κανάλι. Τα συνημμένα συμπιέζονται στη συσκευή, ανεβαίνουν σε υπογεγραμμένα URL και ελέγχονται για ιούς πριν τα δουν οι εκπρόσωποι.