Search code examples
javaandroidreact-nativeflurryreact-native-fcm

How we can get payload data at the time of click tray when app is closed in Android push notification?


I m using React Native Flurry SDK (react-native-flurry-sdk)

Flurry push React-native

Flurry push Android Native It is working fine

// Optionally add a listener to receive messaging events, and handle the notification.
// Please call required Flurry.willHandleMessage(boolean) when received event types of
// MessageType.RECEIVED or MessageType.CLICKED as soon as possible to avoid delay.
Flurry.addMessagingListener((message) => {
  if (message.Type === Flurry.MessageType.RECEIVED) {
    Flurry.willHandleMessage(false);
  } else if (message.Type === Flurry.MessageType.CLICKED) {
    Flurry.willHandleMessage(false);
  }

  Flurry.printMessage(message);
});

// Message.Type: Flurry.MessageType = { RECEIVED,  CLICKED,
//                                      CANCELLED, REFRESH } (Android only)
// Message.Title:       message title
// Message.Body:        message body
// Message.Data:        message data (Map)
// Message.ClickAction: click action (Android only)
// Message.Token:       refreshed token
Flurry.addMessagingListener(callback: (message: { Type: string;
                  Title?: string; Body?: string; Data?: { [key: string]: string; }; ClickAction?: string;
                  Token?: string; }) => void);
Flurry.removeMessagingListener(callback: (message: { Type: string;
                  Title?: string; Body?: string; Data?: { [key: string]: string; }; ClickAction?: string;
                  Token?: string; }) => void);
Flurry.willHandleMessage(handled: boolean);
Flurry.printMessage(message: { Type: string;
                  Title?: string; Body?: string; Data?: { [key: string]: string; }; ClickAction?: string;
                  Token?: string; });

Problem is when app is closed but i got notification from tray while i m clicking the tray app is opened but

i didn't get payload data in console(debug mode) or alert.

Can you give me a any logic solution or any document?


Solution

  • public boolean onNotificationClicked(final FlurryMessage flurryMessage) {
    sEnableMessagingListener = true;
    new android.os.Handler().postDelayed(
            new Runnable() {
                public void run() {
                    Log.i("tag", "This'll run 300 milliseconds later");
                    Log.d("Click0012","ff11"+ "ggg"+ sReactApplicationContext + "ddd" + flurryMessage);
    
                    Log.d("message001","ff"+flag +"999"+ sReactApplicationContext+"ff"+ sEnableMessagingListener);
                    if (sEnableMessagingListener  && (sReactApplicationContext != null)) {
                        Log.d("Clicked002","ff"+flurryMessage);
                         sendEvent(EventType.NotificationClicked, flurryMessage, true);
                    }
                }
            },
            900);
    
    
    
    return false;
    

    }