Да, на Android можно реализовать push-уведомления без использования Firebase. Существует несколько альтернативных подходов и сервисов, которые не требуют зависимости от Firebase или других иностранных сервисов. Вот некоторые из них:
1. **Собственный сервер с использованием WebSocket или HTTP/2**:
- Вы можете создать свой собственный сервер, который будет отправлять уведомления через WebSocket или HTTP/2. Это позволит вам иметь полный контроль над передаваемыми данными и взаимодействием с вашими пользователями.
- Преимущество этого подхода в том, что вы можете настроить все под свои уникальные требования.
2. **Использование других облачных сервисов**:
- Есть множество альтернативных облачных решений для отправки пуш-уведомлений. Например, [OneSignal](https://onesignal.com/) или [Pusher](https://pusher.com/). Эти системы также позволяют отправлять уведомления и предоставляют различные функции, такие как сегментация и автоматизация, без зависимости от Google.
3. **Apple Push Notification service (APNs) для iOS**:
- Если ваше приложение также предназначено для iOS, вам нужно будет рассмотреть APNs, поскольку он также поддерживает другие платформы. Однако необходимо будет настроить разные каналы для Android и iOS.
4. **Использование специализированных локальных решений**:
- Некоторые наши российские компании предлагают свои решения для отправки пуш-уведомлений, такие как [Pushkin](https://pushkin.com/) или другие локальные сервиса, которые могут хранить данные на российских серверах.
5. **Интеграция приложений на стороне сервера**:
- Если ваше приложение использует какой-либо серверный стек (например, Node.js, .NET, Django и т.д.), вы можете реализовать логику для отправки уведомлений на сторону сервера. Сервер будет отвечать за управление подписками и отправку уведомлений пользователям.
Если вы решите использовать Firebase, но хотите избежать дополнительных библиотек, таких как аналитика, то, теоретически, вы можете попытаться интегрировать только нужные вам части FCM (Firebase Cloud Messaging) без дополнительных зависимостей, но это может быть сложно, так как система создана так, чтобы работать интегрированно. В любом случае, лучше заранее ознакомиться с документацией и обсуждениями в сообществах разработчиков, чтобы уточнить все возможные способы реализации.