Исходный код удален из публичного доступа, если вы заинтересованы в Q-Municate, пожалуйста, свяжитесь с нами
Q-Municate-это открытый исходный код приложения чата с полным диапазоном функций связи на борту (например, обмен сообщениями, передача файлов, уведомления PUSH, аудио/видеозвонки и т. Д.). Мы вдохновлены, чтобы дать вам приложение в чате из коробки. Вы можете настроить это приложение в зависимости от ваших потребностей. Как всегда QuickBlox Backend находится в вашем сервисе: https://quickblox.com/plans/ Найдите исходный код и дополнительную информацию о Q-Municate, а также руководство по установке, в разделе нашего разработчиков: https://quickblox.com/developers/q-municate Это руководство приносит вам из команды QuickBlox IOS, чтобы объяснить, как вы можете построить APPIC APPAR, используя QuickBlox, используя QuickBlox. Это пошаговое руководство, предназначенное для всех уровней разработчиков, включая начинающих, когда мы переходим от простой к более сложной реализации. В зависимости от ваших навыков и требований проекта вы можете выбрать, какие части этого руководства должны следовать. Наслаждайтесь, и если вам нужна помощь от команды QuickBlox iOS, не стесняйтесь сообщить нам об этом, создавая проблему. Q-Municate-это полностью смесительное приложение чата с использованием API QuickBlox.
- Q-MUNICATE 3.0.0
- 1. Требования и среда программного обеспечения
- 2. Quickblox модули
- 3. Особенности
- 4. экраны
- 5. Аудио и видеозвонки
- 6. Расширения
- 7. Кодовое объяснение
- 8. Как построить собственное приложение для чата
- 9. Вклад
- 10. Лицензия
1. Требования и среда программного обеспечения
- XCODE 10 и позже.
- iOS 10.3 и позже.
- QuickBlox iOS SDK 2.17.4 и позже.
- Quickblox webrtc sdk 2.7.4 и позже.
- Болты 1.9.0 Версия.
- Facebook iOS SDK 5.6.0 Версия.
- Firebase 6.9.0 Версия.
1.1 QuickBlox iOS SDK
QuickBlox - платформа Communication & Cloud Backend, которая привносит суперспособности в ваши мобильные приложения.
1.2 Webrtc
Q-Municate использует WEBRTC для видео и аудиоотборных, что означает, что это отличное кроссплатформенное решение. Webrtc сам по себе с открытым исходным кодом, так что вы можете изменить код столько, сколько хотите, или вы можете доверять тысячам опытных разработчиков, которые внесли свой вклад в его развитие.
Образец кода VideoChat позволяет легко добавлять функции видео вызовов и аудиозвус в приложение для iOS. Включите функцию видео вызовов, аналогичную FaceTime или Skype, используя образец кода в качестве основы.
2. Quickblox модули
Q-MUNICATE Приложение использует следующее:
- Аутентификация
- Пользователи
- Чат
- Видеозвоние
- Содержание
- Push -уведомления
3. Особенности
Он включает в себя такие функции, как:
- Приложение поддерживает как ландшафтный, так и портретный режим.
- Приложение для iOS имеет интерфейс английского языка и легко добавить локализацию.
- Три метода регистрации, а также вход в систему-Facebook, Fiefbase (номер телефона) и с помощью электронной почты/пароля
- Звоните в комплект
- Распределение расширения
- Расширение Siri для обмена сообщениями
- Просмотреть список всех диалогов активного чата с историей сообщений (диалоговые акты частного и группового чата)
- Просмотреть, редактировать и оставить диалоги группового чата
- Просмотреть и удалить диалоги частного чата
- Поиск: локальный поиск диалогов, поиск контактов и поиск глобальных пользователей
- Создать и участвовать в частных и групповых диалогах
- Управление, обновление и удаление диалогов
- Аудио и видеозвонки (используя QuickBlox webrtc framework)
- Редактировать собственный профиль пользователя
- Сбросить пароль и вход
- Смотрите профиль других пользователей
- Потянуть, чтобы обновить список диалогов, список контактов и страница информации пользователя
Обратите внимание, что все эти функции доступны в открытом исходном коде, поэтому вы можете настроить свое приложение в зависимости от ваших потребностей.
4. экраны
4.1 Добро пожаловать
Доступные функции:
- Подключитесь к телефону - эта кнопка позволяет пользователю ввести приложение с номером телефона с помощью Firebase. Если будет показано пользовательское соглашение.
- Войдите по электронной почте или социальной кнопке - появится этот лист действий к кнопке с помощью дополнительных методов входа в систему. Существуют такие методы, как вход в Facebook и вход в систему по электронной почте/пароля.
- Вход с Facebook позволяет пользователю вводить приложение с его/ее учетными данными Facebook. Если будет показано пользовательское соглашение.
- Если приложение успешно прошло авторизацию Facebook, приложение перенаправляет пользователя на экран списка диалогов чата.
- Вход по электронной почте/пароль позволяет пользователю ввести приложение, если он/она предоставляет правильную и действительную электронную почту и пароль. Нажав на эту кнопку, пользователь будет перенаправлен на экран входа.
Обратите внимание, что больше нет возможности зарегистрировать пользователя, используя метод электронной почты и пароля. Вы можете зарегистрироваться только с помощью номера телефона и/или учетных данных Facebook.
4.2 Войдите по электронной почте/паролю
Доступные функции:
- Поля установлены:
- Электронная почта - текстовые/числовые/символические поля 3 chars min - без границы, обязательная (включена проверка символов электронной почты)
- Пароль-текстовое/числовое/символическое поле 8-40 Харс (должно содержать только буквенно-цифровые и только знаки знания), обязательно
- Кнопки:
- Обратно - возвращает пользователя обратно на экране приветственного экрана
- DED - Выполнение входа в систему после проверки поля с использованием предоставленной электронной почты и пароля
- Забыли пароль - открытый забыл экран пароля
4.3 Забыли пароль
- Поля установлены:
- Электронная почта - текстовые/числовые/символические поля 3 chars min - без границы, обязательная (включена проверка символов электронной почты)
- Кнопки:
- Обратно - возвращает пользователя обратно на экране приветственного экрана
- Сброс - выполнение сброса пароля
4.4
Вкладка является основным контроллером приложения. Он состоит из таких страниц:
- Список диалогов чата (главная страница)
- Список контактов
- Настройки
4.5 Список диалогов чата
- Поиск:
- Поиск позволяет пользователю фильтровать существующие диалоги в локальном кэше по своим именам.
- Кнопки:
- Кнопка правой панели - перенаправляет пользователя на новый диалоговый экран
4.6 Новое сообщение
Если вы выберете только 1 контакт - частный чат будет открыт (если существует) или создан при необходимости. В противном случае будет создан групповой чат.
- Поиск:
- Поле тега позволяет искать через контакты полные имена.
- Кнопки:
- Кнопка правой панели - создает диалог чата
- Обратно - вернуть пользователя обратно на страницу диалогов чата
4.7 чат
Есть возможность отправить:
- Текстовые сообщения
- Изображения из галереи и камеры
- Видео из галереи и камеры
- Аудиозаписи с использованием правой кнопки панели инструментов ввода
Доступные функции:
- Совместное использование и пересылка
- Копирование изображения AttactMnets и текстовые сообщения
4.8 Частный чат
Кнопки:
- Кнопки правой панели - кнопки аудио и видео вызовов, вы можете позвонить пользователю, только если он находится в вашем списке контактов
- Back - возвращает пользователя обратно на экран списка диалогов чата
- Название навигационной панели - перенаправляет пользователя на страницу профиля оппонента
4.9 Групповой чат
Кнопки:
- Правая кнопка и навигационная полоса
- Back - вернуть пользователь в чат Диалог Диалогов
- Аватары пользователей оппонента - нажав аватары пользователей оппонента в сообщениях, вы будете перенаправлены на информационную страницу этого пользователя
4.10 Информация о групповом чате
Поля/кнопки:
- Нажав на групповой аватар, вы можете изменить ее, сделав новую фотографию или выбрав из библиотеки
- Нажав на имя группы, вы будете перенаправлены на экран изменения имени группы
- Нажав по поле Add Member, вы будете перенаправлены на экран контактов, чтобы выбрать пользователей для добавления
- Нажав на любого пользователя в списке участников, вы будете перенаправлены на их страницу информации (кроме вашего собственного пользователя в списке)
- Поступив на полет и удалите поле чата - вы оставите существующий групповой чат и удалите его локально
4.11 Список контактов
Поиск:
- Поиск имеет две кнопки «Область»:
- Локальный поиск - позволяет пользователю фильтровать существующие контакты по их именам.
- Глобальный поиск - позволяет пользователю находить пользователей и видеть их профили по полным именам.
4.12 Информация пользователя
Поля/кнопки
- Контакты Действия:
- Отправить сообщение - открывает чат с пользователем, если еще нет чата - создает его
- Аудио -звонок - аудиоопровод пользователя
- Видеозвонок - видеозвонок пользователю
- Удалить контакт и чат - удаление пользователя из списка контактов и общаться с ним
Другие действия пользователя:
- Добавить контакт - отправка запроса на контакт пользователю или принятие существующего
4.13 Настройки
Поля/кнопки:
- Полное имя, статус и поля электронной почты перенаправят вас на обновление экрана поля, где вы можете изменить свою информацию.
- Нажав на аватарский лист действий будет открыт. Вы можете либо сделать новую картину, либо выбрать его из библиотеки, чтобы обновить свой пользовательский аватар.
- Переключатель уведомления - вы можете подписаться или отказаться от подписания от уведомлений.
- Расскажите другу - Открывает контроллер Share, где вы можете поделиться этим удивительным приложением со своими друзьями :)
- Дайте отзыв - экран отзывов, где вы можете отправить нам электронное письмо с ошибками, улучшениями или информацией о предложениях, чтобы помочь нам сделать Q -Municate лучше!
5. Аудио и видеозвонки
Q-Municate Использование Quickblox webrtc SDK в качестве службы вызовов. Вы можете найти больше информации об этом здесь.
5.1 Контроллер вызовов
Контроллер вызовов имеет 6 штатов:
- Входящий аудио -звонок
- Входящий видеозвонок
- Уходящий аудио -звонок
- Уходящий видеозвонок
- Активный аудио -звонок
- Активный видеозвонок
Контроллер вызовов управляется QMCALLMANAGER, в основном диспетчер вызовов выделяет его с определенным состоянием, будь то входящий или исходящий вызов, а затем контроллер вызовов изменяет свое состояние на Active One, если требуется, что пользователь принимает его.
5.2 Audio Call
Вы можете увидеть внизу входящие, исходящие и активные экраны звука.
Кнопки панели инструментов
- Входящий звонок:
- DEPLINE - отказ от вызова и закрывает полученный сеанс и контроллер
- Принять - принимает состояние Call и изменение состояния контроллера вызовов на активное аудио вызов
- Общий и активный звонок:
- Микрофон - отключает микрофон для текущего вызова
- Спикер - будь то звук в динамике или получателе. По умолчанию аудио -вызовов - приемник.
- DEPLINE - ВСЕГО ВСЕГО ИСПОЛЬЗОВАНИЯ И КОНТРОЛЕР
5.3 Видеозвост
Вы можете увидеть внизу входящие, исходящие и активные экраны видеозвонков.
По умолчанию звук для видеозвонок находится в динамиках.
- Входящий звонок:
- DEPLINE - отказ от вызова и закрывает полученный сеанс и контроллер
- Принять - принимает вызов и изменение состояния контроллера вызовов в активное видеозвонок
- Общий и активный звонок:
- Камера - включает/отключает камеру для текущего вызова
- Вращение камеры - изменяет камеру для текущего вызова (спереди/назад)
- Микрофон - отключает микрофон для текущего вызова
- DEPLINE - ВСЕГО ВСЕГО ИСПОЛЬЗОВАНИЯ И КОНТРОЛЕР
5.4 Звоните в комплект
Callkit позволяет интегрировать вызова службы с другими приложениями, связанными с вызовами в системе. Callkit предоставляет вызывающий интерфейс, и мы обрабатываем внутреннюю связь с нашей службой VoIP. Для входящих и исходящих звонков Callkit отображает те же интерфейсы, что и приложение для телефона, предоставляя Q-Municate Application более нативный вид.
6. Расширения
6.1 Расширение акции
Расширение Share дает пользователям удобный способ обмена контентом с другими организациями. Доступные типы для обмена:
- Локации
- URL
- Изображения
- Видео
- Аудионы
6.2.
Расширение приложения Intent получает запрос пользователя, чтобы отправить сообщение от Sirikit и превращает его в действия, специфичные для приложения.
7. Кодовое объяснение
Вы можете увидеть объяснение базового кода внизу. Для получения подробной информации, пожалуйста, см. Наша встроенная документация для файлов заголовков в большинстве классов. Мы попытались описать как можно более подробное, как можно более подробное цель каждого класса и его методов. Если у вас есть какие -либо вопросы, не стесняйтесь сообщить нам об этом, создавая проблему.
7.1 С раскадровки
Мы отделили q-municate для модулей, таких как:
- Аут
- Основной
- Чат
- Настройки
Каждый модуль имеет свою собственную раскадровку, все раскадровки связаны со ссылками на раскадровку (функция доступна с XCODE 7 и iOS 8+).
8. Как построить собственное приложение для чата
Если вы хотите создать свое собственное приложение, используя Q-Municate в качестве основы, пожалуйста, следуйте нашему подробному руководству здесь.
9. Вклад
Функции
- FOK IT (https://github.com/try-github-username!/q-municate-ios/fork)
- Создайте филиал своей функции (
git checkout -b my-new-feature ) - Сделайте свои изменения (
git commit -am 'My new feature' ) - Толкайте к ветке (
git push origin my-new-feature ) - Создать новый запрос на тяжесть
Проблемы
Если вы найдете проблему, пожалуйста, создайте проблему.
10. Лицензия
Apache License, версия 2.0. См. Файл лицензии.