我开发了一个Flutter Android应用,我的数据库是MongoDB。 我使用Node.js API将我的Flutter应用程序与MongoDB连接起来。 当有新的数据记录到达MongoDB时,我想发送推送通知。我该如何做?
我开发了一个Flutter Android应用,我的数据库是MongoDB。 我使用Node.js API将我的Flutter应用程序与MongoDB连接起来。 当有新的数据记录到达MongoDB时,我想发送推送通知。我该如何做?
// This registration token comes from the client FCM SDKs.
var registrationToken = 'YOUR_REGISTRATION_TOKEN';
var message = {
data: {
score: '850',
time: '2:45'
},
token: registrationToken
};
// Send a message to the device corresponding to the provided
// registration token.
admin.messaging().send(message)
.then((response) => {
// Response is a message ID string.
console.log('Successfully sent message:', response);
})
.catch((error) => {
console.log('Error sending message:', error);
});
final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
bool _initialized = false;
Future<void> init() async {
if (!_initialized) {
// For iOS request permission first.
_firebaseMessaging.requestNotificationPermissions();
_firebaseMessaging.configure(onMessage: (Map<String, dynamic> `enter code here`message) {
print('onMessage: $message');
Platform.isAndroid
? showNotification(message['notification'])
: showNotification(message['aps']['alert']);
return;
}, onResume: (Map<String, dynamic> message) {
print('onResume: $message');
return;
}, onLaunch: (Map<String, dynamic> message) {
print('onLaunch: $message');
return;
});
// For testing purposes print the Firebase Messaging token
String token = await _firebaseMessaging.getToken();
print("FirebaseMessaging token: $token");
_initialized = true;
}
}
此时,您很可能会将令牌保存到MongoDB数据库,并将令牌与用户和特定设备关联起来。当然,您还需要安装firebase核心和Flutter,并进行所有必要的配置。
您仍然可以维护您的NodeJS API和MongoDB数据库,并使用免费的云消息服务将服务器上的通知推送到您的设备。