我曾尝试使用Firebase native plugin发送推送通知。但它无法正常工作(没有向真实设备发送消息)。你能告诉我该怎么做吗?
app.component.ts
constructor(platform: Platform, private firebase: Firebase) {
platform.ready().then(() => {
this.firebase.getToken()
.then(token => console.log(`The token is ${token}`)) // save the token server-side and use it to push notifications to this device
.catch(error => console.error('Error getting token', error));
this.firebase.onNotificationOpen()
.subscribe(res => {
if (res.tap) {
// background mode
console.log("background");
console.log(res);
alert(res);
} else if (!res.tap) {
// foreground mode
console.log("foreground");
console.log(res);
alert(res);
}
});
});
}
在上面的实现之后,我尝试在firebase compose消息控制台上使用User Segment
发送推送通知。
答案 0 :(得分:6)
推送通知可能有不同的原因。我提供了一系列步骤来实现推送通知。看看你错过了什么。
在Ionic app(for android)中实现推送通知的步骤:
注意:Firebase package name
必须与应用中的id
相同
config.xml
。
google-services.json
文件并将其放在应用的根目录中。$ ionic platform add android
(如果您还没有)$ ionic plugin add cordova-plugin-firebase
。 注意:您应该在项目中放置google-services.json
文件后安装插件 - 因为在安装过程中会将此文件复制到平台目录中。
将以下内容添加到build.gradle
文件中:
buildscript {
// ...
dependencies {
// ...
classpath 'com.google.gms:google-services:3.1.0'
}
}
//....
dependencies {
// SUB-PROJECT DEPENDENCIES START
// ...
compile "com.google.firebase:firebase-core:+"
compile "com.google.firebase:firebase-messaging:+"
}
在Android设备$ ionic build android
注意: API密钥是您的firebase项目中名为Legacy server key
的云消息传递选项卡中的密钥。
此外,如果您要将通知发送到特定主题,则需要先使用subscribe方法订阅此主题。