import 'dart:convert'; import 'package:diplomaticquarterapp/core/service/client/base_app_client.dart'; import 'package:http/http.dart' as http; const _serverFCMToken = 'ya29.a0ARrdaM9U7fZtxF64ntg2Y1Nve-cd4rPazyGcWN69cQmOsddUqxAL1X8GUQ8V6sW2gWxM8ln1BIbmh0OrzQtCiTGrsmcL3jZlGXoQhZN51nX3O7F3g1AXCW_Zt_pjiworCJEGSRkl7QirxE7RFzlwBONsOuft'; const doctorID = '12345'; class FCM{ static Future sendCallNotifcationTo(String token, String patientID, String patientMobile) async{ var headers = { 'Authorization': 'Bearer $_serverFCMToken', 'Content-Type': 'application/json' }; final body = { "message": { "token": token, "notification": { "title": "Dr Sulaiman Al Habib", "body": "Doctor is calling" }, "apns": { "payload": { "aps": { "sound": "ring_30Sec.mp3", "token": "466e0f16fecf1e32c51f812cccc84fcbc807f958b15eb55675a5fa971a775829", "badge": 1 } }, "headers": { "apns-priority": "10", "apns-expiration": "0", "apns-collapse-id": "2561368006" } }, "data": { "callerID" : doctorID, "receiverID" : patientID, "receiverMobile" : patientMobile, "msgID": "123", "notfID": "123", "notification_foreground": "true", "count": "1", "message": "Doctor is calling ", "AppointmentNo": "123", "title": "Rayyan Hospital", "ProjectID": "123", "NotificationType": "10", "background": "1", "doctorname": "Dr Sulaiman Al Habib", "clinicname": "ENT Clinic", "speciality": "Speciality", "appointmentdate": "Sun, 15th Dec, 2019", "appointmenttime": "09:00", "type": "video", "session_id": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImN0eSI6InR3aWxpby1mcGE7dj0xIn0.eyJqdGkiOiJTS2I2NjYyOWMzN2ZhOTM3YjFjNDI2Zjg1MTgyNWFmN2M0LTE1OTg3NzQ1MDYiLCJpc3MiOiJTS2I2NjYyOWMzN2ZhOTM3YjFjNDI2Zjg1MTgyNWFmN2M0Iiwic3ViIjoiQUNhYWQ1YTNmOGM2NGZhNjczNTY3NTYxNTc0N2YyNmMyYiIsImV4cCI6MTU5ODc3ODEwNiwiZ3JhbnRzIjp7ImlkZW50aXR5IjoiSGFyb29uMSIsInZpZGVvIjp7InJvb20iOiJTbWFsbERhaWx5U3RhbmR1cCJ9fX0.7XUS5uMQQJfkrBZu9EjQ6STL6R7iXkso6BtO1HmrQKk", "identity": "Haroon1", "name": "SmallDailyStandup", "videoUrl": "video", "picture": "video", "is_call": "true" } } }; bool success = false; await BaseAppClient().simplePost('https://fcm.googleapis.com/v1/projects/api-project-815750722565/messages:send', body: body, headers: headers, onSuccess: (data, statusCode){ success = true; }, onFailure: (error, statusCode){ success = false; }); return success; // final response = await http.post('https://fcm.googleapis.com/v1/projects/api-project-815750722565/messages:send', headers:he aders, body: body); } } String toB64(String data){ var bytes = utf8.encode(data); var base64Str = base64.encode(bytes); return base64Str; }