Wildfire IM — это профессиональное решение для мгновенного обмена сообщениями и реального времени видео, поддерживаемое компанией Beijing Wildfire Unlimited Network Technology Co., Ltd.
Основные характеристики включают безопасность и надежность при частной установке, мощные возможности, полную функциональность, поддержку всех платформ, высокий уровень открытости, простоту установки и обслуживания, удобство вторичной разработки и легкость интеграции с третьими системами или внедрения в существующие системы. Подробную информацию можно найти в онлайн-документации.Основные проекты включают:
Тип документа | GitHub仓库地址(主站) | 码云仓库地址(镜像) | Описание | Примечание |
---|---|---|---|---|
im-server | im-server | server | IM сервер | |
android-chat | android-chat | android-chat | Исходный код Android SDK и приложения для Wildfire IM | Можно легко дорабатывать или интегрировать в существующие приложения |
ios-chat | ios-chat | ios-chat | Исходный код iOS SDK и приложения для Wildfire IM | Можно легко дорабатывать или интегрировать в существующие приложения |
pc-chat | pc-chat | pc-chat | Приложение для ПК, основанное на Electron | |
web-chat | web-chat | web-chat | Web-версия Wildfire IM, адрес для тестирования | |
wx-chat | wx-chat | wx-chat | Пример приложения для мини-приложений (поддерживает WeChat, Baidu, Alibaba, ByteDance, QQ и другие) | |
app server | app server | app server | ||
Название | Описание | Примечание | ||
-------------------------------------- | ---------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ||
app_server | Сервер приложений | |||
robot_server | robot_server | Бот-сервер | ||
push_server | push_server | Сервер отправки | ||
docs | docs | Документация по Wildfire IM, включающая дизайн, концепции, разработку и инструкции по использованию, онлайн просмотр |
Разработка системы мгновенного обмена сообщениями (IM) требует значительных усилий. Прошу всех проходящих мимо пользователей поставить звёздочку, чтобы поддержать нас в этом нелёгком деле 🙏🙏🙏🙏🙏
## Об использовании пакетного имени/applicationId
1. При разработке конкретного продукта не используйте пакетное имя/applicationId из этого демо-примера, так как мы периодически меняем эти значения.
2. Запрещено использование данного продукта с недозволенными целями. В случае обнаружения таких действий, вся техническая поддержка будет прекращена.
3. Изменение пакетного имени может привести к ошибкам компиляции, поэтому необходимо также обновить поле `package_name` в файлах `google-services.json` и `agconnect-services.json`. При интеграции с сервисами уведомлений потребуется создание новых файлов `google-services.json` и `agconnect-services.json`.
4. Если требуется изменить пакетное имя для `client`, `mars-core-release` или `avenginekit.aar`, обратитесь к нам за помощью.## Инструкции по разработке и отладке
1. JDK: 17
2. Мы используем последнюю стабильную версию Android Studio и соответствующий Gradle для разработки. Для старых версий IDE тестирование не проводилось, поэтому любые проблемы компиляции следует решать самостоятельно.## Примечание о minSdkVersion = 21 и отсутствии поддержки аудио-видео-звонков в отладочной версии APK
1. При отключенной оптимизации кода, через командную строку выполните `./gradlew clean aDebug` или используйте Android Studio для создания отладочной версии APK (`Build App Bundle(s)/APK(s) -> Build APK(s)`). Отладочная версия APK не поддерживает аудио-, видео- и звонки. Подробнее см. [useFullClasspathForDexingTransform](https://issuetracker.google.com/issues/333107832).
2. При включенном режиме оптимизации кода, отладочная версия APK работает корректно. Установите значение `true` для параметра `minifyEnabled` в файле `chat/build.gradle#buildTypes#debug`.
3. Через командную строку выполните `./gradlew clean aR` или используйте Android Studio для создания релизной версии APK (`Generate Signed App Bundle/APK...`). Релизная версия APK работает корректно.
## Инструкции по вторичной разработке
Для сбора логов используется инструмент Bugly. При вторичной разработке обязательно замените `bugly id` в файле `MyApp.java` на свой. В противном случае все ошибочные логи будут отправлены нам, а вы не сможете собирать их самостоятельно.
## Инструкции по оптимизации кода
1. Убедитесь, что используемая версия `lifecycle` не ниже 2.2.0.
2. Настройте оптимизацию кода, используя файл `chat/proguard-rules.pro`.
## Безопасность
Для удобства разработчиков по умолчанию разрешены сетевые запросы через `HTTP`. Для повышения безопасности выполните следующие действия перед запуском:1. Настройте поддержку `HTTPS` для `app-server` и установите `APP_SERVER_ADDRESS` как `HTTPS` адрес.
2. Если поддерживается открытая платформа, настройте поддержку `HTTPS` для платформы разработки и установите `WORKSPACE_URL` как `HTTPS` адрес.
3. Если поддерживается организационная структура, настройте поддержку `HTTPS` для службы организации и установите `ORG_SERVER_ADDRESS` как `HTTPS` адрес.
4. Установите значение `usesCleartextTraffic` в `AndroidManifest.xml` на `false`.
## Описание чувствительных разрешений
1. `android.permission.PROCESS_OUTGOING_CALLS`: позволяет обычному телефонному звонку прерывать аудио- или видеозвонок; по умолчанию не запрошено.
2. `android.permission.SYSTEM_ALERT_WINDOW`: позволяет минимизировать окна аудио- или видеозвонка и выводить их поверх других окон.
3. `android.permission.BLUETOOTH`, `android.permission.BLUETOOTH_ADMIN`: позволяет использовать Bluetooth-гарнитуру во время аудио- или видеозвонка.
## Описание для Android 4.x
Пожалуйста, используйте [ветку api-19](https://github.com/wildfirechat/android-chat/tree/api-19). Если возникают проблемы с компиляцией, это может быть связано с отсутствием своевременного обновления протокола для версий 4.x. Пожалуйста, свяжитесь с `wfchat` через WeChat для обновления.
### Контакты
> Для бизнес-сотрудничества рекомендуется связываться с нами по электронной почте. Технические вопросы можно обсудить на форуме [Wildfire IM](http://bbs.wildfirechat.cn/).1. heavyrain.lee, email: heavyrain.lee@wildfirechat.cn, WeChat: wildfirechat
2. imndx, email: imndx@wildfirechat.cn, WeChat: wfchat
### Общение
1. Если вы обнаружили ошибку, пожалуйста, создайте issue на GitHub.
2. Для других вопросов, пожалуйста, обращайтесь на форум [Wildfire IM](http://bbs.wildfirechat.cn/) для обсуждения.
3. МыChat-канал
<img src="http://static.wildfirechat.cn/wx_wfc_qrcode.jpg" width="40%" height="40%" />
> Рекомендуется подписаться на наш канал. Мы будем сообщать о новых версиях или значительных обновлениях через этот канал. Кроме того, мы будем регулярно публиковать информацию о технологии Wildfire IM.
## Пример использования
Мы предоставляем пример использования. Пожалуйста, используйте WeChat для сканирования QR-кода и загрузки приложения.

## Скриншоты приложения
[Смотреть видео демонстрацию Android Demo](https://static.wildfirechat.cn/wf-android-demo-live.mp4)
<img src="https://static.wildfirechat.cn/wf-android-demo-1.jpg" width="40%" height="40%" />
## Интеграция
1. Часть `client`, самостоятельно скачайте код и включите модуль `client` в свой проект.
2. Часть `uikit`, самостоятельно скачайте код и включите модуль `uikit` в свой проект.
3. Часть `push`, самостоятельно скачайте код и включите модуль `push` в свой проект.## Пуш-уведомления
При работе приложения в фоновом режиме различные производители телефонов используют различные стратегии управления фоновыми процессами. Это может привести к тому, что приложение будет заморожено или завершено, и для получения уведомлений потребуется служба уведомлений от производителя устройства. Пожалуйста, разверните службу пуш-уведомлений. Код службы пуш-уведомлений доступен для загрузки с [GitHub](https://github.com/wildfirechat/push_server) и [Gitee](https://gitee.com/wfchat/push_server). Для получения более подробной информации о том, как использовать службу пуш-уведомлений, обратитесь к документации проекта.
## Вклад
Приветствуем ваши pull request'ы для создания лучшего открытого IM.## Благодарности
1. [LQRWeChat](https://github.com/GitLqr/LQRWeChat) — в этом проекте используется выбор изображений и эмодзи, основанный на этом.
2. [butterKnife](https://github.com/JakeWharton/butterknife)
3. OKHttp и другие замечательные открытые проекты
4. Все используемые иконки в этом проекте взяты с сайта [icons8](https://icons8.com), за что мы благодарны.
5. GIF-анимация взята из интернета, за что мы благодарны пользователям.
Если вы заметили, что ваши права были нарушены, пожалуйста, свяжитесь с нами для удаления 🙏🙏🙏
## Лицензия
1. Под лицензией Creative Commons Attribution-NoDerivs 3.0 Unported. Подробнее см. файл [LICENSE](https://github.com/wildfirechat/android-chat/blob/master/LICENSE).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )