【发布时间】:2018-09-17 06:54:29
【问题描述】:
我想在我的应用中使用通知。我检查了 ionic native 并找到了一些信息。
首先;
第二个;
我想做什么?我正在使用 MySQL 数据库,我有两个表 users 和 points。当我为一个用户添加积分时,我只想为这个用户发送通知。我怎样才能做到这一点?我可以使用哪个服务?
【问题讨论】:
标签: ionic-framework push-notification notifications ionic3
我想在我的应用中使用通知。我检查了 ionic native 并找到了一些信息。
首先;
第二个;
我想做什么?我正在使用 MySQL 数据库,我有两个表 users 和 points。当我为一个用户添加积分时,我只想为这个用户发送通知。我怎样才能做到这一点?我可以使用哪个服务?
【问题讨论】:
标签: ionic-framework push-notification notifications ionic3
根据您的要求,我建议您通过 FCM 使用推送通知。 推送通知有助于将通知发送到两个或更多离子应用程序。
请按照以下步骤操作。
在 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();
希望这对您有所帮助。 谢谢。
【讨论】:
推送通知与本地通知的工作方式相同,但略有不同。推送通知需要连接性和某种服务器基础设施来发送通知。使用本地通知,您可以触发带有条件的通知。即使应用程序已关闭且您处于离线状态,您也会收到通知。并且同时拥有这两个通知不会造成影响。
在你的情况下,你应该使用推送通知。如果将来你想更改参数发送通知,你将很容易维护。无需更新应用程序 em>
您可以在服务器端使用 FCM-Firebase Cloud Messaging,在客户端您可以使用 PhoneGap 推送插件来生成设备令牌
这里是插件
<plugin name="phonegap-plugin-push" source="npm" spec="1.8.4">
<variable name="SENDER_ID" value="XXXXXXX" />
</plugin>
【讨论】: