jak przekierować użytkowników do strony po kliknięciu powiadomienia
Pracuję nad aplikacją Flutter i siecią na serwerze Firebase. Wysyłam powiadomienia za pomocą funkcji chmury. Chcę przekierować użytkowników na określoną stronę, gdy otrzymają powiadomienie i klikną na nią. Na razie moja aplikacja wyświetla „stronę główną”, gdy otrzymuję powiadomienie i klikam na nią. Jak mogę przekierować do „strony z prośbą o szczegóły” zamiast „strony głównej”, gdy użytkownicy otrzymają powiadomienie i klikną je?
Odpowiedzi
Dodaj to do pliku AndroidManifest
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
Wewnętrzne dane powiadomień, dodaj śmiałość kliknięcia i parametr wymagany do przejścia do określonej strony
'data': {
'click_action': 'FLUTTER_NOTIFICATION_CLICK',
'product_id': 1,
...
},
Gdy użytkownik kliknie powiadomienie, jedno z tych trzech zdarzeń zostanie wyzwolone w zależności od stanu aplikacji.
_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);
},
);
Pobierz ponownie dane powiadomień z wiadomości i przejdź do żądanej strony.
SecondScreen to nazwa klasy innego ekranu.
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
Navigator.push(context,
MaterialPageRoute(builder: (BuildContext context) {
return SecondScreen(
message,
);
}));
print("onMessage: $message");
_showItemDialog(message);
},
);