powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Отправка web пуша
11 сообщений из 11, страница 1 из 1
Отправка web пуша
    #40076003
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Подскажите пожалуйста, те, кто в теме.
Приложение должно отправлять веб пуш. Отправка пуша на мобилу проходит без проблем.
На сайте гугла нашел вот такой пример:
Код: 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
Отправка web пуша
    #40076009
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот это все проделали? https://firebase.google.com/docs/admin/setup/
Проще всего воспользоваться rest api для пушей и любым http-клиентом (либо либой firebase4j но я честно говоря не вижу особого смысла ради одного POST запроса)
...
Рейтинг: 0 / 0
Отправка web пуша
    #40076023
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
они вроде плачут что надо юзать их сдк а не голый апи. а их сдк мавеном тащутся через зад.
...
Рейтинг: 0 / 0
Отправка web пуша
    #40076057
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Настроил проект 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
Отправка web пуша
    #40076152
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависимость
Код: 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
Отправка web пуша
    #40076199
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если нужен только пуш, то там все лишнее - простой POST сделает тоже самое. с пушки по воробьям в данном случае
...
Рейтинг: 0 / 0
Отправка web пуша
    #40076205
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,

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

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

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


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