Как мы можем получить данные полезной нагрузки во время клика, когда приложение закрыто в push-уведомлении Android? - PullRequest
0 голосов
/ 25 июня 2019

Я использую React Native Flurry SDK (response-native-flurry-sdk)

Flurry push React-native

Flurry push Android Native Работает нормально

// 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; });

Проблема в том, что приложение закрыто, но я получил уведомление из трея, когда я нажимаю, что приложение трея открыто, но

Я не получил данные полезной нагрузки в консоли (режим отладки) или в предупреждении.

Можете ли вы дать мне какое-либо логическое решение или какой-либо документ?

1 Ответ

0 голосов
/ 02 июля 2019
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;

}

...