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.
Τι περιλαμβάνει το SDK
Ενότητα με τίτλο «Τι περιλαμβάνει το SDK»Μηνύματα κειμένου, συνημμένα, φωνητικά μηνύματα, εικόνες και βίντεο, ανώνυμες και αναγνωρισμένες συνεδρίες, θέματα εμφάνισης, προσαρμοσμένο avatar και επωνυμία, 40 γλώσσες, ο AI concierge, ιστορικό συνομιλιών, σήματα μη αναγνωσμένων, ειδοποιήσεις push, deep links, κλήση με ένα πάτημα μέσω του τηλεφωνητή της συσκευής, ουρά εκτός σύνδεσης με συγχρονισμό στο παρασκήνιο, βιομετρικό ξεκλείδωμα της συνομιλίας, υποστήριξη VoiceOver και TalkBack, σκούρο θέμα. Στόχος μεγέθους μετά τη μεταγλώττιση: 5 MB ή λιγότερο ανά πλατφόρμα.
Οι κλήσεις WebRTC μέσα στην εφαρμογή και η κοινή χρήση οθόνης από τον πελάτη έρχονται σε μεταγενέστερη έκδοση. Το cobrowse λειτουργεί μόνο στο web: τα λειτουργικά συστήματα κινητών δεν επιτρέπουν σε SDK τρίτων να παρακολουθεί ή να ελέγχει την οθόνη.
Επιφάνεια του SDK
Ενότητα με τίτλο «Επιφάνεια του 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()Callbacks: rolChatDidOpen, rolChatDidClose, rolChatDidReceiveMessage(_:), rolChatDidFailToSend(_:). Το δημόσιο API είναι ασφαλές για το main thread στο iOS και για background threads στο Android· οι συνδέσεις διακόπτονται όταν η εφαρμογή πηγαίνει στο παρασκήνιο και συνεχίζουν όταν επιστρέφει στο προσκήνιο.
Συνεδρίες και ταυτότητα
Ενότητα με τίτλο «Συνεδρίες και ταυτότητα»- Ανώνυμη: ένα αναγνωριστικό συνεδρίας συσκευής που αποθηκεύεται στο keychain ή σε κρυπτογραφημένες προτιμήσεις επιβιώνει από ενημερώσεις της εφαρμογής και συνδέεται με τη συσκευή, όχι με τον χρήστη. Διαγράφεται μετά από 90 ημέρες αδράνειας.
- Αναγνωρισμένη: μετά το
identify, η συνεδρία αναβαθμίζεται και συγχωνεύεται με το ανώνυμο ιστορικό στην ίδια συσκευή όταν δεν υπάρχει ασάφεια. Η επίλυση ταυτότητας μεταξύ καναλιών ακολουθεί τους κανόνες του γραφήματος ταυτότητας και τη συγκατάθεση. - Αξιόπιστη αναγνώριση: ο backend σας υπογράφει ένα token με τα claims του χρήστη· το SDK το μεταβιβάζει και το RolChat επαληθεύει την υπογραφή πριν αναβαθμίσει τη συνεδρία. Το μη υπογεγραμμένο
identifyλειτουργεί, αλλά με χαμηλότερη αξιοπιστία.
Το δημόσιο κλειδί API στην εφαρμογή είναι ασφαλές εκ σχεδιασμού: έχει εμβέλεια τον ιστότοπο και όριο ρυθμού.
Ειδοποιήσεις push
Ενότητα με τίτλο «Ειδοποιήσεις push»| Πλατφόρμα | Μεταφορά | Εσείς παρέχετε |
|---|---|---|
| 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 και ελέγχονται για ιούς πριν τα δουν οι εκπρόσωποι.