Разместить виджет чата в мобильном приложении

Разместить виджет чата в мобильном приложении

Добавьте виджет чата в свое мобильное приложение. Когда клиент напишет в чат, оператор получит сообщение по каналу «Приложение».

Чтобы история переписки сохранилась, пользователь, который обращается к вам чат, должен зарегистрироваться.

iOS
iOS
Android
Android
Huawei
Huawei

Технические требования

Sabycom SDKВ поддерживает устройства с версией iOS 12.2 и выше. Для сборки приложения потребуется IDE Xcode 13.

Как настроить

  1. Подключите Sabycom SDK одним из способов:
    • через Cocoapods:
      1. добавьте в Podfile зависимость Sabycom SDK:

      2. запустите команду «pod install»;
    • через Swift Package Manager:
      1. в IDE Xcode перейдите в менеджер зависимостей Swift Package Manager;
      2. добавьте адрес репозитория SDK: https://github.com/saby/ios-sabycom.
  2. Импортируйте модуль Sabycom в ваш UIApplicationDelegate:

  3. Сконфигурируйте виджет Sabycom:
    1. в метод «didFinishLaunchingWithOptions» добавьте инициализацию виджета;
    2. в параметрах вызова (appId) укажите идентификатор приложения или вставьте код, полученный при подключении канала.
  4. Зарегистрируйте объект с данными пользователей:
    • если приложение работает в авторизованном режиме, в качестве userId укажите идентификатор пользователя приложения, чтобы сохранить переписку с оператором при повторной авторизации:

    • если ваше приложение поддерживает работу в неавторизованном режиме, пользователь не определен — зарегистрируйте анонимного пользователя:

    Пример

  5. Добавьте вызов виджета в контроллере UIViewController.

    Показать виджет:

    Скрыть виджет:

    Пример

  6. Чтобы получить количество непрочитанных сообщений, используйте свойство Sabycom.unreadConversationCount и подпишитесь на обновления с помощью NotificationCenter.

    Пример

  7. Настройте отправку пуш-уведомлений об ответе оператора.

    Чтобы пользователи получали уведомления от Sabycom, запросите разрешение на отправку и зарегистрируйте токен устройства в AppDelegate.

    Получать уведомления в debug-режиме:

    Показать уведомление о новом сообщении:

    Отписаться от уведомлений:

  1. Подключите Sabycom SDK: в файле «build.gradle» вашего модуля добавьте в секцию «dependencies» зависимость «ru.tensor.sabycom:sabycom:21.6219.63»:

  2. Настройте виджет Sabycom:
    1. в классе приложения, в методе «onCreate», добавьте инициализацию виджета Sabycom;
    2. в качестве параметра укажите идентификатор приложения или вставьте код, полученный при подключении канала.

  3. Зарегистрируйте пользователя чата или анонимного пользователя, в зависимости от того, если ли в вашем приложении авторизация.

    Для зарегистрированного пользователя userId между сессиями должен быть одинаковым.

    Пример

  4. Добавьте вызов виджета:
    • показать виджет — вызовите в вашем фрагменте Sabycom.show(activity);
    • скрыть — вызовите Sabycom.hide().

    Пример

  5. Чтобы получить количество непрочитанных сообщений, подпишитесь на обновления счетчика с помощью метода «Sabycom.unreadConversationCount(callback)».

  6. Настройте подписку на пуш-уведомления.

    1. Интегрируйте в ваш проект Firebase Cloud Messaging.

    2. Для подписки на уведомления получите токен FirebaseMessaging и передайте его в Sabycom с помощью метода «Sabycom.sendToken(token)».

    3. Чтобы показывать уведомления, реализуйте сервис, расширяющий «FirebaseMessagingService». В методе «onMessageReceived» проверьте принадлежность данных пуш-сообщения виджету с помощью метода «Sabycom.isSabycomPushNotification(payload)».

      Метод вернет значение «true», если данные содержат информацию для отображения sabycom-уведомления. Вызовите метод «Sabycom.handlePushNotification(payload)» для показа этого уведомления.

      В методе «onNewToken» передайте обновленный токен в Sabycom с помощью вызова «Sabycom.sendToken(token)».

    4. Зарегистрируйте сервис в «AndroidManifest.xml».

    5. Установите значок для пуш-уведомлений. Он должен быть монохромным и соответствовать стандартам. Для создания значка используйте Image Asset Studio.

      Можно настроить цвет для пуш-уведомлений:

      По умолчанию используется атрибут «colorPrimary» из темы вашего приложения. В Android версии 6.0 и ниже этот цвет окрашивает фон значка уведомления, начиная с версии 7.0 — цвет значка и название приложения.

  7. Вызовите функцию «Sabycom.logout()», чтобы удалить информацию о пользователе и отписаться от уведомлений.
  1. Подключите Sabycom SDK: в файле «build.gradle» вашего модуля добавьте в секцию «dependencies» зависимость «ru.tensor.sabycom:sabycom:21.6219.63»:

  2. Настройте виджет Sabycom:
    1. в классе приложения, в методе «onCreate», добавьте инициализацию виджета Sabycom;
    2. в качестве параметра укажите идентификатор приложения или вставьте код, полученный при подключении канала.

  3. Зарегистрируйте пользователя чата или анонимного пользователя, в зависимости от того, если ли в вашем приложении авторизация.

    Для зарегистрированного пользователя userId между сессиями должен быть одинаковым.

    Пример

  4. Добавьте вызов виджета:
    • показать виджет — вызовите в вашем фрагменте Sabycom.show(activity);
    • скрыть — вызовите Sabycom.hide().

    Пример

  5. Чтобы получить количество непрочитанных сообщений, подпишитесь на обновления счетчика с помощью метода «Sabycom.unreadConversationCount(callback)».

  6. Настройте подписку на пуш-уведомления.

    1. Интегрируйте в ваш проект Huawei Push Kit.

    2. Для подписки на уведомления получите токен FirebaseMessaging, передайте его и тип поддерживаемых сервисов в Sabycom с помощью метода «Sabycom.sendToken(token, serviceType)».

    3. Чтобы показывать уведомления, реализуйте сервис, расширяющий «FirebaseMessagingService». В методе «onMessageReceived» проверьте принадлежность данных пуш-сообщения виджету с помощью метода «Sabycom.isSabycomPushNotification(payload)».

      Метод вернет значение «true», если данные содержат информацию для отображения sabycom-уведомления. Вызовите метод «Sabycom.handlePushNotification(payload)» для показа этого уведомления.

      В методе «onNewToken» передайте обновленный токен в Sabycom с помощью вызова «Sabycom.sendToken(token, serviceType)».

    4. Зарегистрируйте сервис в «AndroidManifest.xml».

    5. Установите значок для пуш-уведомлений. Он должен быть монохромным и соответствовать стандартам. Для создания значка используйте Image Asset Studio.

      Можно настроить цвет для пуш-уведомлений:

      По умолчанию используется атрибут «colorPrimary» из темы вашего приложения.

  7. Вызовите функцию «Sabycom.logout()», чтобы удалить информацию о пользователе и отписаться от уведомлений.

Как хранится пользовательская сессия в Sabycom

В качестве идентификатора пользователя используйте строку в формате UUID.

Если обратился зарегистрированный пользователь

  • Идентификатор и данные пользователя создаются и хранятся в информационной системе клиента.
  • При передаче в SDK одинакового идентификатора пользователя сохраняется история переписки этого пользователя с оператором даже после удаления/переустановки приложения.

Если обратился анонимный пользователь

  • Идентификатор и данные пользователя создаются и хранятся внутри SDK.
  • При удалении или переустановке приложения история переписки не сохраняется.
  • Если пользователь был анонимным, а потом зарегистрировался в приложении, переписка анонимного удалится, зарегистрированного — восстановится, если была.
Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.