firebase / firebase-admin-dotnet

Firebase Admin .NET SDK
https://firebase.google.com/docs/admin/setup
Apache License 2.0
357 stars 129 forks source link

Getting the "task was cancelled" error #337

Open jesualdo13 opened 1 year ago

jesualdo13 commented 1 year ago

Environment

Description of the problem:

I'm using FirebaseAdmin (nuget) to send some push notification inside an Azure function. In the local environment it's working perfectly, the SDK is returning the PUSH notifications IDs, but when I run it in a PRIVATE Azure plan, the SDK returns the following error:

"A task was cancelled".

That's all. There's is no other message or stack.

Steps to reproduce:

I don't know. I think this is a firewall blocking but I need more logs from the SDK to be completely sure.

Relevant Code:

try
            {

                logger.LogInformation("NS. Step 1. Firebase configuration credentials: " + _messageConfig);

                var fcm = FirebaseAdmin.Messaging.FirebaseMessaging.GetMessaging(app);

                logger.LogInformation("NS. Step 2. Firebase Messaging instance creates: " + _messageConfig);

                Message message = new Message()
                {
                    Data = new Dictionary<string, string>
                    {
                        {"OrderNbr",pushNotification.OrderNbr},
                        {"CdNbr", pushNotification.CdNbr.ToString()},
                        {"StoreNbr",pushNotification.StoreNbr.ToString()},
                        {"type",pushNotification.type.ToString()}

                },
                    Notification = new FirebaseAdmin.Messaging.Notification
                    {

                        ImageUrl = "https://firebasestorage.googleapis.com/v0/b/lookapp-dev-77465.appspot.com/o/LOOK_APP_little.jpg?alt=media&token=3eadd967-f158-4ad8-8469-62a1fad91311",
                        Title = pushNotification.title,
                        Body = pushNotification.description
                    },
                    Token = String.IsNullOrEmpty(pushNotification.deviceTokenAndroid) ? pushNotification.deviceTokenIOS : pushNotification.deviceTokenAndroid
                };

                logger.LogInformation("NS. Step 3. Message created, sending....");

                var result = fcm.SendAsync(message);

                logger.LogInformation("NS. Step 4. Result from firebase (notification id):" + result.Result);
                return result.Id;

            }
            catch (Exception ex)
            {
                logger.LogError(ex, $"Error sending firebase message");
                throw;
            }

Notes

I just want to know what kind of issue produces this error. Should I manage the firewall to enable any URL?

Thanks in advance

google-oss-bot commented 1 year ago

I found a few problems with this issue:

AliEasy commented 6 months ago

Any solution on this?