离子 3 通知

Posted

技术标签:

【中文标题】离子 3 通知【英文标题】:Ionic 3 Notification 【发布时间】:2018-09-17 06:54:29 【问题描述】:

我想在我的应用中使用通知。我检查了 ionic native 并找到了一些信息。

首先;

Local Notification

第二个;

Push

我想做什么?我正在使用 mysql 数据库,我有两个表 userspoints。当我为一个用户添加积分时,我只想为这个用户发送通知。我怎样才能做到这一点?我可以使用哪个服务?

【问题讨论】:

这可能对ionicguru.blogspot.com/2015/12/…有帮助 【参考方案1】:

根据您的要求,我建议您通过 FCM 使用推送通知。 推送通知有助于将通知发送到两个或更多离子应用程序。

请按照以下步骤操作。

    转到“http://console.firebase.google.com”并创建一个 android 应用,确保在 config.xml 文件中也提及应用包名称。

    在 App 中安装 Cordova 和 Ionic Native 插件:

    ionic cordova 插件添加 cordova-plugin-fcm npm install --save @ionic-native/fcm

    在您的“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);
);

    现在您必须遵循发送通知的真实过程

    /这是您必须添加存储在数据库中的设备令牌和 firebase api 密钥。/

    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();
    

希望这对您有所帮助。 谢谢。

【讨论】:

【参考方案2】:

推送通知与本地通知的工作方式相同,但略有不同。推送通知需要连接性和某种服务器基础设施来发送通知。使用本地通知,您可以触发带有条件的通知。即使应用程序已关闭且您处于离线状态,您也会收到通知。并且同时拥有这两个通知不会造成影响。

在你的情况下,你应该使用推送通知。如果将来你想更改参数发送通知,你将很容易维护。无需更新应用程序 em>

您可以在服务器端使用 FCM-Firebase Cloud Messaging,在客户端您可以使用 PhoneGap 推送插件来生成设备令牌

这里是插件

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

【讨论】:

感谢您的信息,我们正在使用推送确定。有两个问题,1.我该怎么做? 2. 我可以使用哪些服务?您已回答第二个问题,请回答第一个问题 我已经在使用用户推送通知。我可以使用 FCM 推送进行设置。它的工作没问题。 但我想在向 MySQL 数据库添加信息时发送推送

以上是关于离子 3 通知的主要内容,如果未能解决你的问题,请参考以下文章

通知未显示在我的设备离子3中

离子本地通知

离子推送通知实现

c#中的离子推送通知api

离子推送通知点击功能

离子推送通知应用程序