Учебное пособие по выполнению практических заданий по курсу "Разработка облачных и мобильных приложений на платформе Google Android"



Pdf көрінісі
бет35/35
Дата12.10.2023
өлшемі4.1 Mb.
#480634
түріУчебное пособие
1   ...   27   28   29   30   31   32   33   34   35
AndroidStudioMeth (1)

this

"Current token ["
+tkn+
"]"

Toast.
LENGTH_LONG
).show(); 
Log.d(
"App"

"Token ["
+tkn+
"]"
); 
Добавим в папку с MainActivity.java следующий класс в отдельном 
java-файле FireIDService.java: 
public class 
FireIDService 
extends 
FirebaseInstanceIdService { 
@Override 
public void 
onTokenRefresh() { 
String tkn = 
FirebaseInstanceId.getInstance().getToken(); 
Log.d(
"Not"
,
"Token ["
+tkn+
"]"
); 


А затем добавим следующий класс, отвечающий за сервис, 
обрабатывающий входящее push-уведомление: 
public class 
FireMsgService 
extends 
FirebaseMessagingService { 
@Override 
public void 
onMessageReceived(RemoteMessage remoteMessage) { 
super
.onMessageReceived(remoteMessage); 


99 
Log.d(
"Msg"

"Message received ["
+remoteMessage+
"]"
); 
// Create Notification 

Intent intent = 
new 
Intent(
this
, MainActivity.
class
); 
intent.addFlags(Intent.
FLAG_ACTIVITY_CLEAR_TOP
); 
PendingIntent pendingIntent = 
PendingIntent.getActivity(
this

1410

intent, PendingIntent.
FLAG_ONE_SHOT
); 
NotificationCompat.Builder notificationBuilder = 
new 
NotificationCompat.Builder(
this

.setSmallIcon(R.drawable.
common_full_open_on_phone

.setContentTitle(
"Message"

.setContentText(remoteMessage.getNotification().getBody()) 
.setAutoCancel(
true

.setContentIntent(pendingIntent); 
NotificationManager notificationManager = 
(NotificationManager) 
getSystemService(Context.
NOTIFICATION_SERVICE
); 
notificationManager.notify(
1410

notificationBuilder.build()); 


И последнее, что нужно сделать – добавить в файл манифеста 
соответствующий сервис внутри тэга application: 
<
service 
android
:name=
".FireIDService"

<
intent-filter

<
action 
android
:name=
"com.google.firebase.INSTANCE_ID_EVENT"
/> 
intent-filter

service

Теперь постройте apk-файл и установите приложение на эмуляторе или 
на реальном устройстве. После этого нажмите в браузере на кнопку Открыть 
консоль, нажмите на название своего проекта и выберите кнопку настроек 
справа от названия. Откроется окно настроек проекта, в котором на закладке 
Cloud Messaging можно увидеть ключ сервера для аутентификации. Зная этот 


100 
ключ, можно посылать сообщения внутри приложения, с помощью другого 
приложения и с помощью самой консоли Firebase, при этом планируя их на 
определённое время, например, и для определённой аудитории.
Чтобы отправить сообщение, перейдите в категорию Grow -> Cloud 
Messaging и нажмите на кнопку Send your first message. Заполните поля 
(текст сообщения), нажмите кнопку Далее. Выберите приложение на 
следующем шаге (Аудитория) – при этом Вы можете выбирать сегмент 
пользователей – либо все пользователи, у которых установлено приложение, 
либо конкретного пользователя, либо – пользователей, подписанных на 
определённую тему. Нажмите кнопку Далее. В секции Планирование можно 
настроить расписание, когда пользователи получат сообщение, либо просто 
оставить Now для немедленной отправки сообщения. Нажмите Далее. В 
следующей секции можно задавать события-конверсии, чтобы понимать
откуда приходят пользователи – это больше связано с аналитикой 
приложения. Если перейти с помощью кнопки Далее к следующей секции, 
можно настрогить дополнительные параметры, например – ключ 
конкретного пользователя, который получит уведомление. Для завершения 
нажмите кнопку Проверить. Вы увидите подтверждающее окно с 
уведомлением, в котором надо нажать кнопку опубликовать (рис. 47). 


101 
Рисунок 47 – Публикация push-уведомления с помощью Firebase 
После нажатия на кнопку Опубликовать, даже если у Вас приложение 
не запущено на мобильном устройстве, появится уведомление с небольшой 
картинкой и стандартным звуком уведомления для Вашего устройства. В 
панели уведомлений Вы увидите тему уведомления и текст. При нажатии на 
уведомление запустится Ваше приложение. При выключенном интернете Вы 
увидите уведомление сразу, как только подключитесь к интернету. При этом 
консоль Firebase переключится на страницу с уведомлениями, где 
отобразится созданное уведомление с указанием некоторых подробностей, и 


102 
где можно будет его продублировать, создать новое и создать эксперимент с 
определённой целевой аудиторией (рис. 48).
Рисунок 48 – Результат публикации push-уведомления 
Можно написать приложение, в котором будут 2 кнопки: одна будет 
подписываться на уведомления, а другая – формировать и присылать 
уведомление. Можно написать 2 приложения – одно отсылает уведомления, 
другое принимает. А можно использовать какой-то другой механизм работы 
с облаком, например, выводить в приложение аналитику по его крашам у 
пользователей с помозью Firebase.


Достарыңызбен бөлісу:
1   ...   27   28   29   30   31   32   33   34   35




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет