como redirecionar usuários para uma página no clique de notificação
Estou trabalhando no aplicativo flutter e na web com o servidor Firebase. Eu envio notificações usando funções de nuvem. Quero redirecionar os usuários para uma página específica quando eles recebem uma notificação e clicam nela. Por enquanto, meu aplicativo mostra a 'página inicial' quando recebo uma notificação e clico nela. Como posso redirecionar para 'solicitar página de detalhes' em vez de 'página inicial' quando os usuários recebem uma notificação e clicam nela?
Respostas
Adicione isso dentro do arquivo AndroidManifest
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
Dentro dos dados de notificação, adicione click_action e seu parâmetro necessário para navegar para uma página específica
'data': {
'click_action': 'FLUTTER_NOTIFICATION_CLICK',
'product_id': 1,
...
},
Quando o usuário clicar na notificação, um desses três eventos será acionado, dependendo do estado do seu aplicativo.
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
print("onMessage: $message"); _showItemDialog(message); }, onBackgroundMessage: myBackgroundMessageHandler, onLaunch: (Map<String, dynamic> message) async { print("onLaunch: $message");
_navigateToItemDetail(message);
},
onResume: (Map<String, dynamic> message) async {
print("onResume: $message");
_navigateToItemDetail(message);
},
);
Recupere os dados de notificação da mensagem e navegue até a página desejada.
SecondScreen é o nome da classe de outra tela.
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
Navigator.push(context,
MaterialPageRoute(builder: (BuildContext context) {
return SecondScreen(
message,
);
}));
print("onMessage: $message");
_showItemDialog(message);
},
);