Добавьте виджет чата в свое мобильное приложение. Когда клиент напишет в чат, оператор получит сообщение по каналу «Приложение».
Чтобы история переписки сохранилась, пользователь, который обращается к вам чат, должен зарегистрироваться.
Технические требования
Sabycom SDKВ поддерживает устройства с версией iOS 12.2 и выше. Для сборки приложения потребуется
Как настроить
- Подключите Sabycom SDK одним из способов:
- через Cocoapods:
добавьте в Podfile зависимость Sabycom SDK:
- запустите команду «pod install»;
- через Swift Package Manager:
- в IDE Xcode перейдите в менеджер зависимостей Swift Package Manager;
- добавьте адрес репозитория SDK: https://github.com/saby/ios-sabycom.
- через Cocoapods:
Импортируйте модуль Sabycom в ваш UIApplicationDelegate:
- Сконфигурируйте виджет Sabycom:
- в метод «didFinishLaunchingWithOptions» добавьте инициализацию виджета;
- в параметрах вызова (appId) укажите идентификатор приложения или вставьте код, полученный при подключении канала.
- Зарегистрируйте объект с данными пользователей:
если приложение работает в авторизованном режиме, в качестве userId укажите идентификатор пользователя приложения, чтобы сохранить переписку с оператором при повторной авторизации:
если ваше приложение поддерживает работу в неавторизованном режиме, пользователь не определен — зарегистрируйте анонимного пользователя:
Пример
Добавьте вызов виджета в контроллере UIViewController.
Показать виджет:
Скрыть виджет:
Пример
Чтобы получить количество непрочитанных сообщений, используйте свойство Sabycom.unreadConversationCount и подпишитесь на обновления с помощью NotificationCenter.
Пример
Настройте отправку пуш-уведомлений об ответе оператора.
Чтобы пользователи получали уведомления от Sabycom, запросите разрешение на отправку и зарегистрируйте токен устройства в AppDelegate.
Получать уведомления в debug-режиме:
Показать уведомление о новом сообщении:
Отписаться от уведомлений:
Подключите Sabycom SDK: в файле «build.gradle» вашего модуля добавьте в секцию «dependencies» зависимость «ru.tensor.sabycom:sabycom:21.6219.63»:
- Настройте виджет Sabycom:
- в классе приложения, в методе «onCreate», добавьте инициализацию виджета Sabycom;
в качестве параметра укажите идентификатор приложения или вставьте код, полученный при подключении канала.
Зарегистрируйте пользователя чата или анонимного пользователя, в зависимости от того, если ли в вашем приложении авторизация.
Для зарегистрированного пользователя userId между сессиями должен быть одинаковым.
Пример
- Добавьте вызов виджета:
- показать виджет — вызовите в вашем фрагменте Sabycom.show(activity);
- скрыть — вызовите Sabycom.hide().
Пример
Чтобы получить количество непрочитанных сообщений, подпишитесь на обновления счетчика с помощью метода «Sabycom.unreadConversationCount(callback)».
Настройте подписку на пуш-уведомления.
Интегрируйте в ваш проект Firebase Cloud Messaging.
Для подписки на уведомления получите токен FirebaseMessaging и передайте его в Sabycom с помощью метода «Sabycom.sendToken(token)».
Чтобы показывать уведомления, реализуйте сервис, расширяющий «FirebaseMessagingService». В методе «onMessageReceived» проверьте принадлежность данных пуш-сообщения виджету с помощью метода «Sabycom.isSabycomPushNotification(payload)».
Метод вернет значение «true», если данные содержат информацию для отображения sabycom-уведомления. Вызовите метод «Sabycom.handlePushNotification(payload)» для показа этого уведомления.
В методе «onNewToken» передайте обновленный токен в Sabycom с помощью вызова «Sabycom.sendToken(token)».
Зарегистрируйте сервис в «AndroidManifest.xml».
Установите значок для пуш-уведомлений. Он должен быть монохромным и соответствовать стандартам. Для создания значка используйте Image Asset Studio.
Можно настроить цвет для пуш-уведомлений:
По умолчанию используется атрибут «colorPrimary» из темы вашего приложения. В Android версии 6.0 и ниже этот цвет окрашивает фон значка уведомления, начиная с версии 7.0 — цвет значка и название приложения.
- Вызовите функцию «Sabycom.logout()», чтобы удалить информацию о пользователе и отписаться от уведомлений.
Подключите Sabycom SDK: в файле «build.gradle» вашего модуля добавьте в секцию «dependencies» зависимость «ru.tensor.sabycom:sabycom:21.6219.63»:
- Настройте виджет Sabycom:
- в классе приложения, в методе «onCreate», добавьте инициализацию виджета Sabycom;
в качестве параметра укажите идентификатор приложения или вставьте код, полученный при подключении канала.
Зарегистрируйте пользователя чата или анонимного пользователя, в зависимости от того, если ли в вашем приложении авторизация.
Для зарегистрированного пользователя userId между сессиями должен быть одинаковым.
Пример
- Добавьте вызов виджета:
- показать виджет — вызовите в вашем фрагменте Sabycom.show(activity);
- скрыть — вызовите Sabycom.hide().
Пример
Чтобы получить количество непрочитанных сообщений, подпишитесь на обновления счетчика с помощью метода «Sabycom.unreadConversationCount(callback)».
Настройте подписку на пуш-уведомления.
Интегрируйте в ваш проект Huawei Push Kit.
Для подписки на уведомления получите токен FirebaseMessaging, передайте его и тип поддерживаемых сервисов в Sabycom с помощью метода «Sabycom.sendToken(token, serviceType)».
Чтобы показывать уведомления, реализуйте сервис, расширяющий «FirebaseMessagingService». В методе «onMessageReceived» проверьте принадлежность данных пуш-сообщения виджету с помощью метода «Sabycom.isSabycomPushNotification(payload)».
Метод вернет значение «true», если данные содержат информацию для отображения sabycom-уведомления. Вызовите метод «Sabycom.handlePushNotification(payload)» для показа этого уведомления.
В методе «onNewToken» передайте обновленный токен в Sabycom с помощью вызова «Sabycom.sendToken(token, serviceType)».
Зарегистрируйте сервис в «AndroidManifest.xml».
Установите значок для пуш-уведомлений. Он должен быть монохромным и соответствовать стандартам. Для создания значка используйте Image Asset Studio.
Можно настроить цвет для пуш-уведомлений:
По умолчанию используется атрибут «colorPrimary» из темы вашего приложения.
- Вызовите функцию «Sabycom.logout()», чтобы удалить информацию о пользователе и отписаться от уведомлений.
Как хранится пользовательская сессия в Sabycom
В качестве идентификатора пользователя используйте строку в формате UUID.
Если обратился зарегистрированный пользователь
- Идентификатор и данные пользователя создаются и хранятся в информационной системе клиента.
- При передаче в SDK одинакового идентификатора пользователя сохраняется история переписки этого пользователя с оператором даже после удаления/переустановки приложения.
Если обратился анонимный пользователь
- Идентификатор и данные пользователя создаются и хранятся внутри SDK.
- При удалении или переустановке приложения история переписки не сохраняется.
- Если пользователь был анонимным, а потом зарегистрировался в приложении, переписка анонимного удалится, зарегистрированного — восстановится, если была.