I made a dart function to send push notification to users whena doc is created in the db, but its not working, the function it self doesnt work when it gets to the post request
TypeScript
Future<void> sendFeeNotification(
String token, String lang, String amount) async {
try {
const String url = "https://fcm.googleapis.com/v1/projects/$projectName/messages:send";
// Create the notification payload
Map<String, dynamic> notificationPayload = {
"message": {
"token": token,
"notification": {
"title": lang == 'en'
? 'A new pending fee has been added to your account for $amount'
: 'Une nouvelle redevance en attente a été ajoutée à votre compte pour $amount',
"body": lang == 'en'
? 'Please check your account for more details'
: 'Veuillez vérifier votre compte pour plus de détails',
},
}
};
try {
print('Sending notification...');
print(serverKey);
//when it gets here nothing happens
final response = await http.post(
Uri.parse(url),
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer $serverKey",
},
body: jsonEncode(notificationPayload),
);
print('Response: ${response.body}');
if (response.statusCode == 200) {
print('Notification sent successfully');
} else {
print('Failed to send notification: ${response.body}');
}
} catch (e) {
print('Error sending notification: $e');
}
} catch (e) {
print('Error sending notification: $e');
}
}
TL;DR
Developers are encountering issues with a Dart function for push notifications. The function fails at the HTTP POST request part, with no response. The potential solution is to check the validity of the server key and the correct construction of the notification payload.Recommended threads
- AppwriteException - Transaction with the...
I am using "node-appwrite" module and I have successfully created transaction id but when passing it to tablesDB.createRow function with some other required dat...
- Cannot create cloud function due to this...
As I try to deploy a new function to Github I get this error message: ``` Unable to clone code repository: fatal: ' ' is not a valid branch name hint: See `man ...
- How to use TS for creating appwrite func...
I was making a few appwrite functions but on doing the appwrite init setup process i always got main.js. Is there any way i can use TS?