Включение push-уведомлений
Push-уведомления позволяют клиентам получать уведомления о входящих сообщениях и других операциях, выполняемых в потоке чата в ситуациях, когда мобильное приложение не работает на переднем плане. Службы коммуникации Azure поддерживают список событий, на которые можно подписываться.
Push-уведомления чата поддерживаются пакетом SDK для Android в версиях, начиная с 1.1.0-beta.4 и 1.1.0. Рекомендуется использовать версию 2.0.0 или более позднюю, так как в более старых версиях возникла известная проблема с продлением регистрации. Шаги от 8 до 12 требуются только для версий, равных или превышающих 2.0.0.
- Настройте Firebase Cloud Messaging для проекта ChatQuickstart. Выполните шаги Create a Firebase project , Register your app with Firebase , Add a Firebase configuration file , Add Firebase SDKs to your app и Edit your app manifest , описанные в документации Firebase.
- Создайте центр уведомлений в той же подписке, где находится ресурс Служб коммуникации, настройте параметры Firebase Cloud Messaging для этого центра и свяжите центр уведомлений с ресурсом Служб коммуникации. См. Подготовка Центра уведомлений.
- Создайте новый файл с именем MyFirebaseMessagingService.java в том же каталоге, где MainActivity.java находится . Скопируйте следующий код в MyFirebaseMessagingService.java . Вам потребуется заменить именем пакета, используемым в MainActivity.java . Можно задать собственное значение для . Это значение будет использоваться на шаге 6 ниже.
package ; import android.content.Intent; import android.util.Log; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import com.azure.android.communication.chat.models.ChatPushNotification; import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; import java.util.concurrent.Semaphore; public class MyFirebaseMessagingService extends FirebaseMessagingService < private static final String TAG = "MyFirebaseMsgService"; public static Semaphore initCompleted = new Semaphore(1); @Override public void onMessageReceived(RemoteMessage remoteMessage) < try < Log.d(TAG, "Incoming push notification."); initCompleted.acquire(); if (remoteMessage.getData().size() >0) < ChatPushNotification chatPushNotification = new ChatPushNotification().setPayload(remoteMessage.getData()); sendPushNotificationToActivity(chatPushNotification); >initCompleted.release(); > catch (InterruptedException e) < Log.e(TAG, "Error receiving push notification."); >> private void sendPushNotificationToActivity(ChatPushNotification chatPushNotification) < Log.d(TAG, "Passing push notification to Activity: " + chatPushNotification.getPayload()); Intent intent = new Intent(""); intent.putExtra("PushNotificationPayload", chatPushNotification); LocalBroadcastManager.getInstance(this).sendBroadcast(intent); > >
import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import com.azure.android.communication.chat.models.ChatPushNotification; import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.Task; import com.google.firebase.messaging.FirebaseMessaging;
private BroadcastReceiver firebaseMessagingReceiver = new BroadcastReceiver() < @Override public void onReceive(Context context, Intent intent) < ChatPushNotification pushNotification = (ChatPushNotification) intent.getParcelableExtra("PushNotificationPayload"); Log.d(TAG, "Push Notification received in MainActivity: " + pushNotification.getPayload()); boolean isHandled = chatAsyncClient.handlePushNotification(pushNotification); if (!isHandled) < Log.d(TAG, "No listener registered for incoming push notification!"); >> >; private void startFcmPushNotification() < FirebaseMessaging.getInstance().getToken() .addOnCompleteListener(new OnCompleteListener() < @Override public void onComplete(@NonNull Tasktask) < if (!task.isSuccessful()) < Log.w(TAG, "Fetching FCM registration token failed", task.getException()); return; >// Get new FCM registration token String token = task.getResult(); // Log and toast Log.d(TAG, "Fcm push token generated:" + token); Toast.makeText(MainActivity.this, token, Toast.LENGTH_SHORT).show(); chatAsyncClient.startPushNotifications(token, new Consumer() < @Override public void accept(Throwable throwable) < Log.w(TAG, "Registration failed for push notifications!", throwable); >>); > >); >
@Override protected void onCreate(Bundle savedInstanceState) < super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LocalBroadcastManager .getInstance(this) .registerReceiver( firebaseMessagingReceiver, new IntentFilter("")); >
startFcmPushNotification(); chatAsyncClient.addPushNotificationHandler(CHAT_MESSAGE_RECEIVED, (ChatEvent payload) -> < Log.i(TAG, "Push Notification CHAT_MESSAGE_RECEIVED."); ChatMessageReceivedEvent event = (ChatMessageReceivedEvent) payload; // You code to handle ChatMessageReceived event >);
- xmlns:tools Добавьте поле в AndroidManifest.xml файл :
- Отключите инициализатор по умолчанию для в WorkManager AndroidManifest.xml :
- Добавьте зависимость в WorkManager build.gradle файл:
def work_version = "2.7.1" implementation "androidx.work:work-runtime:$work_version"
- Добавьте пользовательский WorkManager инициализатор, создав класс, реализующий Configuration.Provider :
public class MyAppConfiguration extends Application implements Configuration.Provider < ConsumerexceptionHandler = new Consumer() < @Override public void accept(Throwable throwable) < Log.i("YOUR_TAG", "Registration failed for push notifications!" + throwable.getMessage()); >>; @Override public void onCreate() < super.onCreate(); // Initialize application parameters here WorkManager.initialize(getApplicationContext(), getWorkManagerConfiguration()); >@NonNull @Override public Configuration getWorkManagerConfiguration() < return new Configuration.Builder(). setWorkerFactory(new RegistrationRenewalWorkerFactory(COMMUNICATION_TOKEN_CREDENTIAL, exceptionHandler)).build(); >>
Объяснение кода выше: Инициализатор WorkManager по умолчанию был отключен на шаге 9. Этот шаг реализуется Configuration.Provider для предоставления настраиваемого объекта WorkFactory, который отвечает за создание WorkerManager во время выполнения.
Если приложение интегрировано с Функцией Azure, инициализация параметров приложения должна быть добавлена в метод onCreate(). Метод getWorkManagerConfiguration()вызывается при запуске приложения перед созданием объектов действий, служб или получателей (за исключением поставщиков содержимого), чтобы параметры приложения можно было инициализировать перед использованием. Дополнительные сведения см. в примере приложения чата.
- android:name=.MyAppConfiguration Добавьте поле, в котором используется имя класса из шага 11, в AndroidManifest.xml :
Как включить PUSH-уведомления
Мы переходим на PUSH-уведомления о заказах для пользователей приложения «Аптечество — аптеки низких цен». PUSH-уведомления — это удобно, безопасно и всегда на виду.
Если у вас установлено приложение и Вам долго не приходит уведомление о статусе заказа, проверьте наличие уведомлений в приложении (переход через значок колокольчика в верхнем правом углу приложения). Уведомления о заказах могут прийти через PUSH даже в случае, если заказ сделан на сайте.
Чтобы гарантированно получать уведомления о заказах, пожалуйста, убедитесь, что в настройках приложения разрешены уведомления.
Инструкция по включению уведомлений на телефонах Android

- Проверьте, что у Вас установлена последняя версия приложения. Перейдите в магазин приложений Google Play или AppGallery, найдите приложение «Аптечество — аптеки низких цен». Если требуется обновление — обновите приложение.
- Зайдите в «Настройки» на Вашем телефоне.
- Перейдите в пункт «Приложения и службы», затем в «Приложения». Либо сразу в пункт «Приложения».
- Найдите приложение «Аптечество», перейдите в него.
- Перейдите в пункт «Уведомления»
- Убедитесь, что активированы пункты «Разрешить уведомления» и «Закрепление сверху»
Инструкция по включению уведомлений на телефонах iPhone

- Проверьте, что у Вас установлена последняя версия приложения. Перейдите в магазин приложений AppStore, найдите приложение «Аптечество — аптеки низких цен». Если требуется обновление — обновите приложение.
- Зайдите в «Настройки» на Вашем телефоне.
- Перейдите в пункт «Уведомления».
- Найдите приложение «Аптечество», перейдите в него
- Убедитесь, что активированы пункты «Допуск уведомлений», «Звуки», «Наклейки».
Как включить пуш уведомления на андроид
Чтобы получать пуш-уведомления от Одноклассников на вашем Android-устройстве, необходимо разрешить мобильному приложению ОК отправлять их. Как это сделать?
- Откройте приложение «Настройки» на вашем смартфоне или планшете.
- Перейдите в раздел «Приложения», а затем – в раздел «Все приложения».
- В списке приложений найдите приложение ОК и нажмите на него.
- На открывшейся странице настроек приложения перейдите в раздел «Уведомления».
- Активируйте пункт «Показывать уведомления», если он неактивен.
Рекомендуем разрешить всплывающие уведомления, чтобы не пропустить сообщения об акциях и спецпредложениях.
Чтобы получать пуш-уведомления от Одноклассников на вашем Android-устройстве, необходимо разрешить мобильному приложению ОК отправлять их. Как это сделать?
- Откройте приложение «Настройки» на вашем смартфоне или планшете.
- Перейдите в раздел «Приложения», а затем – в раздел «Все приложения».
- В списке приложений найдите приложение ОК и нажмите на него.
- На открывшейся странице настроек приложения перейдите в раздел «Уведомления».
- Активируйте пункт «Показывать уведомления», если он неактивен.
Рекомендуем разрешить всплывающие уведомления, чтобы не пропустить сообщения об акциях и спецпредложениях.
Чтобы получать пуш-уведомления от Одноклассников на вашем Android-устройстве, необходимо разрешить мобильному приложению ОК отправлять их. Как это сделать?
- Откройте приложение «Настройки» на вашем смартфоне или планшете.
- Перейдите в раздел «Приложения», а затем – в раздел «Все приложения».
- В списке приложений найдите приложение ОК и нажмите на него.
- На открывшейся странице настроек приложения перейдите в раздел «Уведомления».
- Активируйте пункт «Показывать уведомления», если он неактивен.
Рекомендуем разрешить всплывающие уведомления, чтобы не пропустить сообщения об акциях и спецпредложениях.
База знаний
Эта статья создана с использованием машинного перевода.
Push-уведомления в мобильном приложении
Jenny Takahara , 1 ноября 2023 г.
Примечание: Минимальная версия операционной системы, необходимая для установки мобильного приложения, — 9+ для устройств Android и 15+ для устройств iOS.
Включив уведомления push в мобильном приложении, вы сможете быть в курсе последних изменений ваших сделок, людей и организаций в режиме реального времени.
Сначала вам придется включить мобильные уведомления для Pipedrive на вашем мобильном устройстве. Как это сделать на устройстве iOS или Android, вы можете узнать в этой статье.
iOS
Чтобы включить уведомления о сделках и обновлениях контактов, перейдите в раздел Еще > Настройки > Настройка уведомлений для iOS. Здесь вы увидите настройки для уведомлений о сделках, контактах и организациях.

Вы можете включить уведомления об обновлениях для любых собственных или отслеживаемых сделок, контактов и организаций.

Android
Чтобы включить уведомления push для обновлений вашей сделки и контакта, перейдите по пути Еще > Настройки > Уведомления. Здесь вы увидите варианты настройки уведомлений push для ваших сделок, людей и организаций.

Вы можете включить уведомления о обновлениях для любых собственных или подписанных сделок, людей и организаций.

На что я буду получать уведомления?
Сделки:
- Сделка отмечена как выигранная/проигранная
- Добавлена заметка в сделку
- Добавлена активность в сделку
- Удалена активность в сделке
- Отредактирована активность
- Удалена сделка
- Активность отмечена как выполненная
Люди:
- Добавлена заметка в контакт
- Добавлена активность контакту
- Удалена активность у контакта
- Отредактирована активность
- Удален контакт
- Активность отмечена как выполненная
Организации:
- Добавлена заметка в организацию
- Добавлена активность в организацию
- Удалена активность у организации
- Отредактирована активность
- Удалена организация
- Активность отмечена как выполненная