Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Отправка web пуша / 11 сообщений из 11, страница 1 из 1
07.06.2021, 09:35
    #40076003
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка web пуша
Здравствуйте.
Подскажите пожалуйста, те, кто в теме.
Приложение должно отправлять веб пуш. Отправка пуша на мобилу проходит без проблем.
На сайте гугла нашел вот такой пример:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
String registrationToken = "YOUR_REGISTRATION_TOKEN";

// See documentation on defining a message payload.
Message message = Message.builder()
    .putData("score", "850")
    .putData("time", "2:45")
    .setToken(registrationToken)
    .build();

// Send a message to the device corresponding to the provided
// registration token.
String response = FirebaseMessaging.getInstance().send(message);
// Response is a message ID string.
System.out.println("Successfully sent message: " + response);



Делаю аналогично, только указываю свой токен.
Добавил в pom.xml зависимости:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
 <dependency>
            <groupId>com.google.firebase</groupId>
            <artifactId>firebase-admin</artifactId>
            <version>6.8.1</version>
        </dependency>
        <dependency>
            <groupId>com.google.gms</groupId>
            <artifactId>google-services</artifactId>
            <version>3.1.1</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.google.api-client</groupId>
            <artifactId>google-api-client-gson</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.api</groupId>
            <artifactId>api-common</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.auth</groupId>
            <artifactId>google-auth-library-oauth2-http</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>google-cloud-storage</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>google-cloud-firestore</artifactId>
        </dependency>


Пытаюсь отправить сообщение, на сроке
Код: java
1.
String response = FirebaseMessaging.getInstance().send(message);


получаю ошибку:
java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist.
Подскажите, что мне нужно сделать, чтобы отправка заработала?
...
Рейтинг: 0 / 0
07.06.2021, 10:15
    #40076009
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка web пуша
Вот это все проделали? https://firebase.google.com/docs/admin/setup/
Проще всего воспользоваться rest api для пушей и любым http-клиентом (либо либой firebase4j но я честно говоря не вижу особого смысла ради одного POST запроса)
...
Рейтинг: 0 / 0
07.06.2021, 11:14
    #40076023
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка web пуша
они вроде плачут что надо юзать их сдк а не голый апи. а их сдк мавеном тащутся через зад.
...
Рейтинг: 0 / 0
07.06.2021, 12:21
    #40076057
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка web пуша
Настроил проект firebase, получил json с настройками и урл базы данных firebase своего проекта.
Инициализировал FirebaseApp:
Код: java
1.
2.
3.
4.
5.
6.
FileInputStream serviceAccount = new FileInputStream(this.getClass().getClassLoader().getResource(<pathFirebaseConfig>).getPath());
        FirebaseOptions options = new FirebaseOptions.Builder()
                .setCredentials(GoogleCredentials.fromStream(serviceAccount))
                .setDatabaseUrl(<databaseUrl>)
                .build();
        FirebaseApp.initializeApp(options);



В pom.xml убрал лишние завистмости, оставил только
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<dependency>
            <groupId>com.google.firebase</groupId>
            <artifactId>firebase-admin</artifactId>
            <version>6.8.1</version>
        </dependency>
        <dependency>
            <groupId>com.google.gms</groupId>
            <artifactId>google-services</artifactId>
            <version>3.1.1</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.google.auth</groupId>
            <artifactId>google-auth-library-oauth2-http</artifactId>
            <version>0.26.0</version>
        </dependency> 



Все заработало, спасибо
...
Рейтинг: 0 / 0
07.06.2021, 16:08
    #40076152
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка web пуша
Зависимость
Код: xml
1.
2.
3.
4.
5.
        <dependency>
            <groupId>com.google.auth</groupId>
            <artifactId>google-auth-library-oauth2-http</artifactId>
            <version>0.26.0</version>
        </dependency>


тоже оказалась лишней
...
Рейтинг: 0 / 0
07.06.2021, 17:49
    #40076199
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка web пуша
если нужен только пуш, то там все лишнее - простой POST сделает тоже самое. с пушки по воробьям в данном случае
...
Рейтинг: 0 / 0
07.06.2021, 18:18
    #40076205
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка web пуша
chpasha,

Пуш же отправка сообщения клиенту от сервера. То есть где post сделать нельзя.
Или я нет понял замысел автора?
...
Рейтинг: 0 / 0
07.06.2021, 18:30
    #40076207
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка web пуша
PetroNotC Sharp
То есть где post сделать нельзя.

почему сервер не может сделать пост? любым http-клиентом
...
Рейтинг: 0 / 0
07.06.2021, 19:31
    #40076222
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка web пуша
chpasha,

Кому сделать. Клиенту с сервером? Кто прочитает post?
...
Рейтинг: 0 / 0
07.06.2021, 22:11
    #40076245
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка web пуша
PetroNotC Sharp
Кто прочитает post?

POST отправляется на сервер гугла, в следствие чего клиент получит от сервера гугла пуш-сообщение. SDK сделает ровно тоже самое
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send HTTP/1.1

Content-Type: application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA

{
   "message":{
      "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
      "notification":{
        "body":"This is an FCM notification message!",
        "title":"FCM Message"
      }
   }
}


здесь token - уникальный токен конкретного клиента
...
Рейтинг: 0 / 0
08.06.2021, 08:56
    #40076284
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка web пуша
chpasha,
Ааа ну дак на гугл. Тогда конечно согласен. Он это умеет.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Отправка web пуша / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]