Ionic 3 Уведомление - PullRequest
       38

Ionic 3 Уведомление

0 голосов
/ 17 сентября 2018

Я хочу использовать уведомление с моим приложением.Я проверил ионные родные и нашел некоторую информацию.

Первый;

Локальное уведомление

Второй;

Push

что я хочу сделать, я использую базу данных MySQL и у меня есть две таблицы users и points.Когда я добавляю баллы для одного пользователя, я хочу отправить уведомление только для этого пользователя.Как я могу это сделать ?какой я могу использовать сервис?

Пожалуйста, помогите мне!Спасибо

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Согласно вашему требованию, я предлагаю вам использовать Push-уведомления с использованием FCM. push-уведомления помогают отправлять уведомления в два и более ионных приложения.

Пожалуйста, выполните следующие действия.

  1. перейдите к 'http://console.firebase.google.com' и создайте приложение для Android, убедитесь, что имя пакета приложения также указано в файле config.xml.
  2. Установите плагины Cordova и Ionic Native в приложении:

    Ионные Cordova плагин добавить Cordova-плагин-Fcm npm install --save @ ionic-native / fcm

  3. используйте этот код в файле app.component.ts с помощью initializeApp

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

fcm.getToken().then(token=>{
    console.log(token);
  });
fcm.onNotification().subscribe(data=>{
  if(data.wasTapped){
    console.log("Received in background");
  } else {
    console.log("Received in foreground");
  };
});
fcm.onTokenRefresh().subscribe(token=>{
  console.log(token);
});
  1. Теперь реальный процесс, которому вы должны следовать для отправки уведомления

    / здесь вам нужно добавить токен устройства, который хранится в вашей базе данных, и ваш API-ключ firebase. /

    let body = {
    "notification":{
        "title":"New Notification has arrived",
        "body":"Notification Body",
        "sound":"default",
        "click_action":"FCM_PLUGIN_ACTIVITY",
        "icon":"fcm_push_icon"
    },
    "data":{
        "param1":"value1",
        "param2":"value2"
    },
    "to":"Device token/ID",
    "priority":"high",
    "restricted_package_name":""
    }
    let options = new HttpHeaders().set('Content-Type','application/json');
    this.http.post("https://fcm.googleapis.com/fcm/send",body,{
        headers: options.set('Authorization', 'key=YourAuthToken'),
    }).subscribe();
    

надеюсь, это полезно для вас. Спасибо.

0 голосов
/ 17 сентября 2018

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

В вашем случае вам следует использовать Push Notification. Если в будущем вы захотите изменить параметр для отправки уведомления, вам будет легко поддерживать его. Не нужно обновлять приложение

Вы можете использовать FCM-Firebase Cloud Messaging на стороне сервера, а на стороне клиента вы можете использовать push-плагины PhoneGap для генерации токена устройства

вот плагины

<plugin name="phonegap-plugin-push" source="npm" spec="1.8.4">
        <variable name="SENDER_ID" value="XXXXXXX" />
 </plugin>
...