Esempio n. 1
0
        public static async Task <BatchResponse> SendMessageFirebaseChatViaTokken(FCMMessageChatDTO model)
        {
            if (FirebaseApp.DefaultInstance == null)
            {
                var defaultApp = FirebaseApp.Create(new AppOptions()
                {
                    Credential = GoogleCredential.FromFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "FBkey.json")),
                });
            }

            //Convert Data to List Dictionnary
            var jsonData       = JsonConvert.SerializeObject(model.Data);
            var dictionaryData = JsonConvert.DeserializeObject <Dictionary <string, string> >(jsonData);
            var message        = new MulticastMessage()
            {
                Data         = dictionaryData,
                Notification = new FirebaseAdmin.Messaging.Notification
                {
                    Title = model.Notification.Title,
                    Body  = model.Notification.Body
                },
                Tokens = model.Token
            };
            var messaging = FirebaseMessaging.DefaultInstance;
            var result    = await messaging.SendMulticastAsync(message);

            return(result);
        }
Esempio n. 2
0
 public async Task <FCMMessageChatDTO> PushChatNoti([FromBody] FCMMessageChatDTO model)
 {
     try
     {
         //Sent Noti to FireBase
         var output = Utils.Util.SendMessageFirebaseChatViaTokken(model);
     }
     catch (Exception ex)
     {
         _logger.LogError($"FCMMessageDTO: {ex.ToString()}");
         model.ErrorCode = "005";
         model.Message   = Utils.ConstMessage.GetMsgConst("005");
     }
     return(model);
 }