- Push уведомления в Android с помощью Firebase Cloud Messaging для начинающих
- Отправить PUSH-уведомление с помощью Google FCM и PHP
- Что такое Push-уведомление?
- Google Cloud Messaging
- Google FCM
- Кодируем
- Настройка SDK
- IOS
- Android
- Firebase Push Notification From Server Android Studio Example
- 1. Firebase Push Notification Android Example Tutorial
- Step 2: Developing app in Firebase Console
- Describing Quick steps of above video
- Step 3: Updating build.gradle(Project: project_name) file:
- Step 4: Updating build.gradle(Module:app) file
- Step 5: Creating Service Classes
- Creating GettingDeviceTokenService
- Creating NotificationService
- Description of NotificationService
- Developing Server Side(PHP) script to send firebase push notification
- Testing your push notification without creating PHP Script
- 2. Send FCM Messages push notification to multiple devices android
- Step 1: Create a new project in Android Studio.
- Step 2: Working with Firebase Console
- Learning Easy steps of firebase console video
- Step3:Changing build.gradle(Project: project_name) file:
- Step4:Changing build.gradle(Module:app) file
- Step 5: Developing Service Classes
- Developing GettingDeviceTokenService
- Developing NotificationService
- Description of NotificationService
- Developing Server Side(PHP) script to send firebase push notification
- Testing your push notification without creating PHP Script
- 3. Firebase cloud messaging Android Tutorial
- Step 1: Create a new project in Android Studio.
- Step 2: Creating app in Firebase Console
- Quick steps of above video
- Step 3: Updating build.gradle(Project: project_name) file:
- Step 4: Updating build.gradle(Module:app) file
- Step 5: Creating Service Classes
- Creating GettingDeviceTokenService
- Creating NotificationService
- Step 6: Updating AndroidManifest.xml
- Step 7: Time to getting Notification
- 3 thoughts on “Firebase Push Notification From Server Android Studio Example”
Push уведомления в Android с помощью Firebase Cloud Messaging для начинающих
. GCM users are strongly recommended to upgrade to FCM, in order to benefit from new FCM features today and in the future.
В этой статье мы разберем тестовый проект и рассмотрим один подводный камень связанный с иконкой уведомления.
- Android Studio
- Код демо-проекта с github
- 20 минут свободного времени
Шаг 1.
Скачайте демо-проект и откройте его в своей любимой Android Studio.
Теперь нам нужно пойти в Firebase console и добавить наш проект.
Затем нажимаем «Добавьте Firebase в свое приложение для Android».
Название пакета, если вы все делаете по манула: «com.google.firebase.quickstart.fcm».
На втором шаге скачиваем файл google-service.json и добавляем его к проекту.
Нажимаем готово, зависимости уже добавлены в тестовом проекте.
Подготовительная часть закончена, можно нажимать кнопку «Запустить приложение»
В процессе компиляции вы можете получить 2 ошибки:
Missing api_key/current key with Google Services 3.0.0
В этом случае вам нужно зайти в настройки проекта и перезакачать файл google-service.json. Это странный баг, но благо легко лечится.
Вторая ошибка — это:
Failed to resolve: com.google.firebase:firebase-core:9.0.0
Тогда вам нужно обновить Google Play Service и Google Repository. Ссылка на Stackoverflow.
После запуска приложения, в Android monitor увидите наш токен. Можно отправляться тестировать. Идем в консоль, ищем наше приложение, и идем в раздел Grow->Notifications:
Нажимаем создать сообщение:
Вводим наши данные, нажимаем отправить и наблюдаем в Android monitor как все пришло.
Теперь к самому интересному
Самый частый вопрос: как поменять иконку уведомления, когда приложение работает в бэкграунде?
Дело в том, что когда приложение находится в бэкграунде, то оно отправляется сразу в Notification center, и функция
Чтобы использовать свои иконки уведомлений, вам нужно посылать сообщение через API, через консоль такая кастомизация на данный момент не работает.
UPD: Если вы хотите, чтобы все ваши сообщения даже когда приложение в background или убито, обрабатывались с помощью
в приложении, то отправляйте data-сообщения, т.е. без секции notification
Ссылка на API. Для тестов можно использовать старый-добрый CURL.
Вот в целом и все, что вам нужно знать чтобы попробовать новые push уведомления.
Источник
Отправить PUSH-уведомление с помощью Google FCM и PHP
Как часто вы получаете уведомления «ваш друг отметил вас в сообщении», «ваш друг здесь»? Это гарантирует, что вы никогда не пропустите ничего, независимо от того, насколько вы заняты, и как разработчик, как часто вы хотите, чтобы у вашего приложения была одна и та же возможность вовлекать пользователей обратно в ваше приложение?
Сегодня я расскажу о том, как отправлять кросс-платформенные (Android / iOS) push-уведомления с помощью облачных сообщений Firebase (Google FCM) в PHP .
Что такое Push-уведомление?
Push-уведомление в основном представляет собой сообщение, которое появляется на смартфоне пользователя. Оно может быть отправлено издателями приложений в любое время, пользователи не должны быть в приложении или использовать свои устройства для их получения. Пуш-уведомление может быть о чем угодно, например, оно может показывать последние спортивные результаты, побуждать пользователя к действию, например, скачивать купон, или сообщать пользователю о событии, например, о распродаже. Оно помогает пользователю зайти в приложение и повысить заинтересованность.
Google Cloud Messaging
Некоторое время назад Google объявил о (Google Cloud Messaging) бесплатная услуга, которая позволяет разработчикам отправлять сообщения между серверами и клиентскими приложениями, которые состояли из передачи сообщений от серверов к клиентским приложениям и передачи сообщений от клиентских приложений на серверы (согласно Документации Google). Что помогло издателям отправлять уведомления множеству пользователей или массовой аудитории.
Вот как работал GCM:
- Устройство Android отправляет идентификатор отправителя, идентификатор приложения на сервер GCM для регистрации.
- После успешной регистрации сервер GCM выдает регистрационный идентификатор на устройство.
- После получения регистрационного идентификатора устройство отправит регистрационный идентификатор на наш сервер.
- Наш сервер будет хранить регистрационный идентификатор в базе данных для дальнейшего использования.
- Всякий раз, когда требуется push-уведомление, наш сервер отправляет сообщение на сервер GCM вместе с идентификатором регистрации устройства (который хранится ранее в базе данных).
- Сервер GCM доставляет это сообщение соответствующему мобильному устройству, используя идентификатор регистрации устройства.
Google FCM
Но не так давно, после приобретения Firebase в 2014 году, Google анонсировала Firebase Cloud Messaging (FCM) для отправки различных уведомлений и сообщений через различные мобильные ОС (даже iOS) и Интернет. Так зачем обновляться до FCM?
Несмотря на то, что FCM использует базовую инфраструктуру GCM, существуют различные причины для перехода на FCM.
- СООБЩЕНИЕ НА ОСНОВЕ ТЕМЫ: В отличие от GCM, не было необходимости запускать логику публикации уведомлений под массивным циклом токенов устройств, которые мы ранее хранили для отправки уведомлений. Теперь устройства были зарегистрированы под определенной темой, например, (ESPN_SPORTS), и нам просто нужно было упомянуть эту тему, а остальное она делала от маршрутизации до доставки сообщений на все устройства, хранящиеся в этой теме.
- Не было необходимости писать собственную логику повторных попыток регистрации или подписки.
Чтобы перейти с GCM SDK на FCM SDK, см. Руководства по миграции приложений Android и iOS .
Таким образом, после краткого обзора GCM и нового FCM, мы можем использовать API FCM с PHP для отправки push-уведомлений на наши устройства.
Кодируем
Перед кодированием нам понадобится ключ сервера, который мы можем получить, выполнив следующие действия:
- Войдите / зарегистрируйтесь в своей учетной записи в firebase.
- Затем нажмите на значок шестеренки слева вверху, а затем нажмите «Настройки проекта».
- Кроме того, зарегистрируйте сертификаты APN в «конфигурации приложения ios», чтобы отправлять уведомления на устройства iOS.
Мы разработаем веб-интерфейс для отправки push-уведомлений на устройства Android и iOS. Перед этим нам нужно будет установить стабильное приложение на телефоне.
Таким образом, в основном у нас будет 2 PHP-файла, которые подписывают устройства на заданную тему:
- Файл, который подписывается на устройства. SDK должны быть настроены для вызова URL-адреса, указывающего файл при открытии приложения, предоставляющего стиль DEVICE_TOKEN в стиле Firebase. Устройства будут зарегистрированы с их токенами устройства.
- Еще один файл для отправки уведомления.
Пример файла подписки на устройство (device_registration.php).
POST-запрос рекомендуется при настройке SDK по этому URL. Убедитесь, что у вас установлена нужная тема, так как она должна соответствовать теме, которую вы определили на странице, где вы отправляете уведомления.
Настройка SDK
IOS
Прежде всего, нам нужно определить URL-адрес регистра устройства следующим образом:
Пример настройки SDK.
Android
Аналогично настройке iOS, нам нужно определить URL регистрации для Android следующим образом:
Пример настройки SDK.
Приложения теперь начнут регистрироваться или подписываться на темы, определенные при каждом открытии. Хорошо,
теперь давайте перейдем к отправке детали. у нас есть простая форма для настройки, куда мы можем отправить уведомление.
На сервере эта форма запускает следующий код при отправке.
Точно так же я получил уведомление с желаемым заголовком и резюме. Заголовок и тело определяют, что пользователи видят в реальных уведомлениях. Вы можете отправить массив данных соответственно для глубокой ссылки приложения на определенную страницу. Например, здесь я отправляю идентификатор модели, поэтому, когда пользователь нажимает на уведомление, он перенаправляет вас на страницу моделей.
Кроме того, вы можете отфильтровать свою аудиторию уведомлений, например, по устройству, географически и т.д., Просто зарегистрировав свое устройство в соответствии с соответствующей темой. Воспользуйтесь гибкостью темы, вы сможете получить желаемый результат. Как вы можете видеть, с помощью Google FCM стало действительно легко отправлять push-уведомления на различные платформы.
Источник
Firebase Push Notification From Server Android Studio Example
Welcome dear developers to Android firebase push notification tutorial example.
1. Firebase Push Notification Android Example Tutorial
Earlier we were using google cloud messaging(GCM) for push notifications in android.
Firebase is the upgraded version of google cloud messaging (GCM).
Firebase push notification Android tutorial guide you to send push notification from server(PHP-MySQL.)
First, check the output of Firebase push notification Android Studio example then we will develop it.
Step 2: Developing app in Firebase Console
Watch a video for how to make app in firebase console website.
Describing Quick steps of above video
- Go to https://firebase.google.com/and sign in to your google account.
- Click on Add Project and give project name and country.
- Click on CREATE PROJECT button.
- After project is created, click on Add firebase to your Android app button.
- Give your Android package name and click on Register App button.
- Click on Download google-services.json button.
- Move your downloaded JSON file into app folder of your android project as shown in the video.
Step 3: Updating build.gradle(Project: project_name) file:
we need to add following in dependencies<> structure
So final code for build.gradle(Project: project_name) will look like this:
Step 4: Updating build.gradle(Module:app) file
Add following code into dependencies<>
Add following at the end of the file
Final code for build.gradle(Module:app)
Step 5: Creating Service Classes
Creating GettingDeviceTokenService
Create a new JAVA class named “GettingDeviceTokenService” and add below source code
In this service, we will get device token.
Creating NotificationService
Create a new JAVA class named “NotificationService” and add below source code
Description of NotificationService
remoteMessage.getData().toString() will give us JSON data as following
Following source code will parse above JSON data
Now following source will decide whether user has sent image with notification or not.
If image is not sent, then generateNotification() will be run.
Otherwise notificationWithImage() will be run.
getBitmapFromURL() method will give us bitmap of image(Popey Image.)
Now consider below source code
Above code will decide which activity to open when user clicks on Push Notification.
Here GotNotificationActivity will be open. So let’s create GotNotificationActivity.
Create a new activity named GotNotificationActivity and update activity_got_notification.xml as follow:
Developing Server Side(PHP) script to send firebase push notification
Create a new PHP file and name it sendSingleFCM.php
Add below source code into it
I have save above file here in mu server: http://demonuts.com/Demonuts/JsonTest/Tennis/sendSingleFCM.php
Upgrade above file where there is a code like
header(“Location: http://demonuts.com/Demonuts/JsonTest/Tennis/sendSingleFCM.php”)
with your server path or localhost path.
Testing your push notification without creating PHP Script
Fill required details (Firebase Server Key, Device Token etc.) and click on the Go Go Go button.
Use comment section to give your review or to ask any question.
So all for Android firebase push notification Android Studio programmatically example tutorial. Thank you.
2. Send FCM Messages push notification to multiple devices android
Hi Android geeks. Android firebase push notification tutorial for multiple devices is here.
In this Android firebase push notification tutorial, we will send push notification to single or multiple devices from server(PHP-MySQL.)
This Android firebase push notification is developed using Android Studio and JAVA.
First, check the output of Android firebase push notification example then we will develop it.
Step 1: Create a new project in Android Studio.
A new Android Studio project with empty activity is required for this project. So create it first.
Step 2: Working with Firebase Console
Following video will guide you to develop app in firebase console.
Learning Easy steps of firebase console video
- Go to https://firebase.google.com/and sign in to your google account.
- Click on Add Project and give project name and country.
- Click on CREATE PROJECT button.
- After project is created, click on Add firebase to your Android app button.
- Give your Android package name and click on Register App button.
- Click on Download google-services.json button.
- Move your downloaded JSON file into app folder of your android project as shown in the video.
Step3:Changing build.gradle(Project: project_name) file:
Add following in dependencies<> structure
So last source code for build.gradle(Project: project_name) is:
Step4:Changing build.gradle(Module:app) file
Copy below into dependencies<>
Step 5: Developing Service Classes
Developing GettingDeviceTokenService
Make a new JAVA class named “GettingDeviceTokenService” and copy following
Device token is found in this service.
Developing NotificationService
Create a new JAVA class named “NotificationService” and add below source code
Description of NotificationService
remoteMessage.getData().toString() will give us JSON data as following
Following source code will parse above JSON data
Now following source will decide whether user has sent image with notification or not.
If image is not sent, then generateNotification() will be run.
Otherwise notificationWithImage() will be run.
getBitmapFromURL() method will give us bitmap of image(Popey Image.)
Now consider below source code
Above code will decide which activity to open when user clicks on Push Notification.
Here GotNotificationActivity will be open. So let’s create GotNotificationActivity.
Create a new activity named GotNotificationActivity and update activity_got_notification.xml as follow:
Developing Server Side(PHP) script to send firebase push notification
Create a new PHP file and name it sendMultipleFCM.php
Add below source code into it
I have save above file here in my server: http://demonuts.com/Demonuts/JsonTest/Tennis/sendMultipleFCM.php
Upgrade above file where there is a code like
header(“Location: http://demonuts.com/Demonuts/JsonTest/Tennis/sendMultipleFCM.php”)
with your server path or localhost path.
Testing your push notification without creating PHP Script
If you want to send push notification directly to your android device, then go to
Fill required details (Firebase Server Key, Device Tokens etc.) and click on the Go Go Go button.
Provide two device tokens to get notifications on them.
You can also enter only device token and keep another empty. Of course Notification will be sent to only one device.
Use comment section to give your review or to ask any question.
So all for Android firebase push notification to multiple devices programmatically example tutorial. Thank you.
3. Firebase cloud messaging Android Tutorial
You will need to work with Android Firebase Cloud Messaging example(FCM) for adding push notifications in android app.
Firebase Cloud Messaging Android Studio Tutorial guide you to integrate firebase push notification(FCM) in android studio.
In this Firebase Cloud Messaging Android Studio Tutorial, we will send notification from firebase console.
First, check output then we will develop Firebase Cloud Messaging Android Studio example(FCM).
Step 1: Create a new project in Android Studio.
If you select default activity as an empty activity while creating new project in android studio, it will be great choice.
Step 2: Creating app in Firebase Console
I have developed a video about how to make an app in the firebase console.
Quick steps of above video
- Go to https://firebase.google.com/and sign in to your google account.
- Click on Add Project and give project name and country.
- Click on CREATE PROJECT button.
- After project is created, click on Add firebase to your Android app button.
- Give your Android package name and click on Register App button.
- Click on Download google-services.json button.
- Move your downloaded JSON file into app folder of your android project as shown in the video.
Step 3: Updating build.gradle(Project: project_name) file:
we need to add following in dependencies<> structure
So final code for build.gradle(Project: project_name) will look like this:
Step 4: Updating build.gradle(Module:app) file
Add following code into dependencies<>
Add following at the end of the file
Final code for build.gradle(Module:app)
Step 5: Creating Service Classes
Creating GettingDeviceTokenService
Create a new JAVA class named “GettingDeviceTokenService” and add below source code
- In this service, we will get device token.
Creating NotificationService
Create a new JAVA class named “NotificationService” and add below source code
- We will receive message in this service.
- You can also control title,icon, vibration, message tone etc. in this service.
Step 6: Updating AndroidManifest.xml
Add internet permission in AndroidManifest.xml
Add services into … tags
Final code for AndroidManifest.xml
Step 7: Time to getting Notification
- As you have seen in output video at the starting of the tutorial, get device token from logcat.
- Now go to the firebase console and select your project.
- Click on Notification from left menu bar.
- Now type your message and select single device in Target.
- Put device token into the FCM registration token field and click on Send Message -> Send
- and…. ya you have push notification same as getting in WhatsApp or other app.
Feel free ask your questions and queries in comment section.
So all for firebase cloud messaging Android Studio programmatically example tutorial. Thank you.
3 thoughts on “Firebase Push Notification From Server Android Studio Example”
I use your website to send notification but got no result,so how?
Try from google dashboard and see if it works or not.
Hi,
Thanks for the wonderful tutorials. You have always saved me in one way or another. Am working on an app in Kotlin where users will be allowed to register and create their own posts which will be stored in firebase database.
I want notifications to be sent automatically to all users of the app once a user submits a post.
Is there any resource you can point me to assist with the notification part?
Источник