1
resposta

Firebase e ASP NET CORE

Estou desenvolvendo uma aplicação de pedidos para uma pastelaria onde o cliente envia para uma API criada por mim os seguintes dados: nomeCliente, telefone, nomePastel, quantidade, endereço... A minha API salva estes dados em meu banco de dados SQL SERVER. Porem estou tendo dificuldade na aplicação para o dono da pastelaria, pois sou leigo no assunto firebase e não estou conseguindo configurar nada. Eu precisava que quando o cliente realiza o post de todas as informações no banco de dados, automaticamente o firebase ja envia uma notificação para o dono da pastelaria com todos os dados da mensagem, como telefone, nome cliente, pastel, quantidade ... por ai vai. Alguem poderia me ajudar em como ficaria toda a configuração tanto no firebase, como no asp net core e flutter? Agradeço desde já. Se possivel, alguem que tenha disponibilidade para entrar em contato comigo, linkedin: www.linkedin.com/in/malaquiasvictor

1 resposta

Olá, Victor!

Entendo que você está enfrentando um desafio ao tentar integrar o Firebase com ASP.NET Core e Flutter. Vou tentar te ajudar com algumas orientações gerais, mas lembre-se que cada projeto tem suas especificidades e pode ser que você precise adaptar algumas coisas.

Primeiramente, você precisará configurar o Firebase Cloud Messaging (FCM) para enviar as notificações. Para isso, você precisa criar um projeto no Console do Firebase e obter a chave do servidor. Essa chave será usada para autenticar suas solicitações ao FCM.

No lado do servidor (ASP.NET Core), você pode usar a biblioteca FirebaseAdmin para interagir com o FCM. Aqui está um exemplo de como você pode enviar uma notificação:

var defaultApp = FirebaseApp.Create(new AppOptions()
{
    Credential = GoogleCredential.FromFile("path/to/your/serviceAccountKey.json"),
});
var messaging = FirebaseMessaging.DefaultInstance;

var message = new Message()
{
    Data = new Dictionary<string, string>()
    {
        { "nomeCliente", "Nome do Cliente" },
        { "telefone", "Telefone do Cliente" },
        // Adicione todos os outros dados que você quer enviar aqui
    },
    Token = registrationToken,
};

var response = await messaging.SendAsync(message);

No lado do cliente (Flutter), você precisará configurar o pacote firebase_messaging para receber as notificações. Aqui está um exemplo de como você pode fazer isso:

FirebaseMessaging _firebaseMessaging = FirebaseMessaging();

_firebaseMessaging.configure(
  onMessage: (Map<String, dynamic> message) async {
    print("onMessage: $message");
    // Aqui você pode fazer algo com a mensagem recebida
  },
  onLaunch: (Map<String, dynamic> message) async {
    print("onLaunch: $message");
    // Aqui você pode fazer algo com a mensagem recebida
  },
  onResume: (Map<String, dynamic> message) async {
    print("onResume: $message");
    // Aqui você pode fazer algo com a mensagem recebida
  },
);

Lembre-se de que você precisará solicitar permissão para enviar notificações ao usuário e obter o token de registro, que será usado para enviar notificações para esse dispositivo específico.

Espero que essas orientações possam te ajudar a começar. Lembre-se de que a implementação exata pode variar dependendo dos detalhes do seu projeto, portanto, são só sugestões.

Espero ter ajudado e bons estudos!