Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

firebase.notifications().getInitialNotification() not working V5 #3125

Closed
3 of 10 tasks
neetinzwt opened this issue Jan 23, 2020 · 3 comments
Closed
3 of 10 tasks

firebase.notifications().getInitialNotification() not working V5 #3125

neetinzwt opened this issue Jan 23, 2020 · 3 comments

Comments

@neetinzwt
Copy link

neetinzwt commented Jan 23, 2020

Issue

firebase.notifications().getInitialNotification() is not working on android and iOS both

I have used the method like below

this.notificationListener3 = firebase.notifications().getInitialNotification((notification) => {
    // Process your notification as required triggered if the notification is tapped
    alert('notification getInitialNotification ');
});

Project Files

Javascript

Click To Expand

package.json:

{
  "name": "beau_lounge",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  },
  "dependencies": {
    "@react-native-community/async-storage": "^1.6.1",
    "@react-native-community/netinfo": "^4.1.5",
    "fetch-intercept": "^2.3.1",
    "i": "^0.3.6",
    "i18n-js": "^3.3.0",
    "lottie-ios": "^3.1.3",
    "lottie-react-native": "^3.2.1",
    "moment": "^2.24.0",
    "native-base": "^2.13.5",
    "npm": "^6.13.0",
    "prop-types": "^15.7.2",
    "react": "16.8.6",
    "react-native": "0.60.5",
    "react-native-app-intro-slider": "^3.0.0",
    "react-native-calendars": "^1.212.0",
    "react-native-datepicker": "^1.7.2",
    "react-native-device-info": "^2.3.2",
    "react-native-exception-handler": "^2.10.8",
    "react-native-extended-stylesheet": "^0.12.0",
    "react-native-fbsdk": "^1.0.4",
    "react-native-firebase": "^5.5.6",
    "react-native-google-signin": "^2.0.0",
    "react-native-image-crop-picker": "^0.25.2",
    "react-native-linear-gradient": "^2.5.6",
    "react-native-localize": "^1.1.4",
    "react-native-modal": "^11.4.0",
    "react-native-permissions": "^1.2.0",
    "react-native-popup-menu": "^0.15.6",
    "react-native-ratings": "^6.4.0",
    "react-native-render-html": "^4.1.2",
    "react-native-restart": "0.0.13",
    "react-native-router-flux": "^4.0.6",
    "react-native-sectioned-multi-select": "^0.7.1",
    "react-native-shadow": "^1.2.2",
    "react-native-snap-carousel": "^3.8.1",
    "react-native-splash-screen": "^3.2.0",
    "react-native-svg": "^9.8.4",
    "react-native-swiper": "^1.5.14",
    "react-native-vector-icons": "^6.6.0",
    "react-native-view-overflow": "0.0.4",
    "react-native-webview": "^7.5.0",
    "react-native-wheel-picker": "^1.2.0"
  },
  "devDependencies": {
    "@babel/core": "^7.5.5",
    "@babel/runtime": "^7.5.5",
    "babel-jest": "^24.9.0",
    "jest": "^24.9.0",
    "metro-react-native-babel-preset": "^0.56.0",
    "react-test-renderer": "16.8.6"
  },
  "jest": {
    "preset": "react-native"
  }
}

firebase.json for react-native-firebase v6:

# N/A

iOS

Click To Expand

ios/Podfile:

  • I'm not using Pods
  • I'm using Pods and my Podfile looks like:
PODS:
  - boost-for-react-native (1.63.0)
  - BVLinearGradient (2.5.6):
    - React
  - Crashlytics (3.14.0):
    - Fabric (~> 1.10.2)
  - DoubleConversion (1.1.6)
  - Fabric (1.10.2)
  - FBSDKCoreKit (5.6.0):
    - FBSDKCoreKit/Basics (= 5.6.0)
    - FBSDKCoreKit/Core (= 5.6.0)
  - FBSDKCoreKit/Basics (5.6.0)
  - FBSDKCoreKit/Core (5.6.0):
    - FBSDKCoreKit/Basics
  - FBSDKLoginKit (5.6.0):
    - FBSDKLoginKit/Login (= 5.6.0)
  - FBSDKLoginKit/Login (5.6.0):
    - FBSDKCoreKit (~> 5.0)
  - FBSDKShareKit (5.6.0):
    - FBSDKShareKit/Share (= 5.6.0)
  - FBSDKShareKit/Share (5.6.0):
    - FBSDKCoreKit (~> 5.0)
  - Firebase/Core (6.9.0):
    - Firebase/CoreOnly
    - FirebaseAnalytics (= 6.1.2)
  - Firebase/CoreOnly (6.9.0):
    - FirebaseCore (= 6.3.0)
  - Firebase/Messaging (6.9.0):
    - Firebase/CoreOnly
    - FirebaseMessaging (~> 4.1.4)
  - FirebaseAnalytics (6.1.2):
    - FirebaseCore (~> 6.3)
    - FirebaseInstanceID (~> 4.2)
    - GoogleAppMeasurement (= 6.1.2)
    - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
    - GoogleUtilities/MethodSwizzler (~> 6.0)
    - GoogleUtilities/Network (~> 6.0)
    - "GoogleUtilities/NSData+zlib (~> 6.0)"
    - nanopb (~> 0.3)
  - FirebaseAnalyticsInterop (1.4.0)
  - FirebaseCore (6.3.0):
    - FirebaseCoreDiagnostics (~> 1.0)
    - FirebaseCoreDiagnosticsInterop (~> 1.0)
    - GoogleUtilities/Environment (~> 6.2)
    - GoogleUtilities/Logger (~> 6.2)
  - FirebaseCoreDiagnostics (1.1.0):
    - FirebaseCoreDiagnosticsInterop (~> 1.0)
    - GoogleDataTransportCCTSupport (~> 1.0)
    - GoogleUtilities/Environment (~> 6.2)
    - GoogleUtilities/Logger (~> 6.2)
  - FirebaseCoreDiagnosticsInterop (1.0.0)
  - FirebaseInstanceID (4.2.5):
    - FirebaseCore (~> 6.0)
    - GoogleUtilities/Environment (~> 6.0)
    - GoogleUtilities/UserDefaults (~> 6.0)
  - FirebaseMessaging (4.1.5):
    - FirebaseAnalyticsInterop (~> 1.3)
    - FirebaseCore (~> 6.2)
    - FirebaseInstanceID (~> 4.1)
    - GoogleUtilities/AppDelegateSwizzler (~> 6.2)
    - GoogleUtilities/Environment (~> 6.2)
    - GoogleUtilities/Reachability (~> 6.2)
    - GoogleUtilities/UserDefaults (~> 6.2)
    - Protobuf (~> 3.1)
  - Folly (2018.10.22.00):
    - boost-for-react-native
    - DoubleConversion
    - Folly/Default (= 2018.10.22.00)
    - glog
  - Folly/Default (2018.10.22.00):
    - boost-for-react-native
    - DoubleConversion
    - glog
  - glog (0.3.5)
  - GoogleAppMeasurement (6.1.2):
    - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
    - GoogleUtilities/MethodSwizzler (~> 6.0)
    - GoogleUtilities/Network (~> 6.0)
    - "GoogleUtilities/NSData+zlib (~> 6.0)"
    - nanopb (~> 0.3)
  - GoogleDataTransport (2.0.0)
  - GoogleDataTransportCCTSupport (1.1.0):
    - GoogleDataTransport (~> 2.0)
    - nanopb
  - GoogleSignIn (4.4.0):
    - "GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)"
    - "GoogleToolboxForMac/NSString+URLArguments (~> 2.1)"
    - GTMSessionFetcher/Core (~> 1.1)
  - GoogleToolboxForMac/DebugUtils (2.2.1):
    - GoogleToolboxForMac/Defines (= 2.2.1)
  - GoogleToolboxForMac/Defines (2.2.1)
  - "GoogleToolboxForMac/NSDictionary+URLArguments (2.2.1)":
    - GoogleToolboxForMac/DebugUtils (= 2.2.1)
    - GoogleToolboxForMac/Defines (= 2.2.1)
    - "GoogleToolboxForMac/NSString+URLArguments (= 2.2.1)"
  - "GoogleToolboxForMac/NSString+URLArguments (2.2.1)"
  - GoogleUtilities/AppDelegateSwizzler (6.3.0):
    - GoogleUtilities/Environment
    - GoogleUtilities/Logger
    - GoogleUtilities/Network
  - GoogleUtilities/Environment (6.3.0)
  - GoogleUtilities/Logger (6.3.0):
    - GoogleUtilities/Environment
  - GoogleUtilities/MethodSwizzler (6.3.0):
    - GoogleUtilities/Logger
  - GoogleUtilities/Network (6.3.0):
    - GoogleUtilities/Logger
    - "GoogleUtilities/NSData+zlib"
    - GoogleUtilities/Reachability
  - "GoogleUtilities/NSData+zlib (6.3.0)"
  - GoogleUtilities/Reachability (6.3.0):
    - GoogleUtilities/Logger
  - GoogleUtilities/UserDefaults (6.3.0):
    - GoogleUtilities/Logger
  - GTMSessionFetcher/Core (1.2.2)
  - lottie-ios (3.1.3)
  - lottie-react-native (3.2.1):
    - lottie-ios (~> 3.1.3)
    - React
  - nanopb (0.3.901):
    - nanopb/decode (= 0.3.901)
    - nanopb/encode (= 0.3.901)
  - nanopb/decode (0.3.901)
  - nanopb/encode (0.3.901)
  - Protobuf (3.9.2)
  - QBImagePickerController (3.4.0)
  - RCTRestart (0.0.13):
    - React
  - React (0.60.5):
    - React-Core (= 0.60.5)
    - React-DevSupport (= 0.60.5)
    - React-RCTActionSheet (= 0.60.5)
    - React-RCTAnimation (= 0.60.5)
    - React-RCTBlob (= 0.60.5)
    - React-RCTImage (= 0.60.5)
    - React-RCTLinking (= 0.60.5)
    - React-RCTNetwork (= 0.60.5)
    - React-RCTSettings (= 0.60.5)
    - React-RCTText (= 0.60.5)
    - React-RCTVibration (= 0.60.5)
    - React-RCTWebSocket (= 0.60.5)
  - React-Core (0.60.5):
    - Folly (= 2018.10.22.00)
    - React-cxxreact (= 0.60.5)
    - React-jsiexecutor (= 0.60.5)
    - yoga (= 0.60.5.React)
  - React-cxxreact (0.60.5):
    - boost-for-react-native (= 1.63.0)
    - DoubleConversion
    - Folly (= 2018.10.22.00)
    - glog
    - React-jsinspector (= 0.60.5)
  - React-DevSupport (0.60.5):
    - React-Core (= 0.60.5)
    - React-RCTWebSocket (= 0.60.5)
  - React-jsi (0.60.5):
    - boost-for-react-native (= 1.63.0)
    - DoubleConversion
    - Folly (= 2018.10.22.00)
    - glog
    - React-jsi/Default (= 0.60.5)
  - React-jsi/Default (0.60.5):
    - boost-for-react-native (= 1.63.0)
    - DoubleConversion
    - Folly (= 2018.10.22.00)
    - glog
  - React-jsiexecutor (0.60.5):
    - DoubleConversion
    - Folly (= 2018.10.22.00)
    - glog
    - React-cxxreact (= 0.60.5)
    - React-jsi (= 0.60.5)
  - React-jsinspector (0.60.5)
  - react-native-fbsdk (1.0.4):
    - React
    - react-native-fbsdk/Core (= 1.0.4)
    - react-native-fbsdk/Login (= 1.0.4)
    - react-native-fbsdk/Share (= 1.0.4)
  - react-native-fbsdk/Core (1.0.4):
    - FBSDKCoreKit (~> 5.5)
    - React
  - react-native-fbsdk/Login (1.0.4):
    - FBSDKLoginKit (~> 5.5)
    - React
  - react-native-fbsdk/Share (1.0.4):
    - FBSDKShareKit (~> 5.5)
    - React
  - react-native-netinfo (4.3.0):
    - React
  - react-native-photo-view (1.5.2):
    - React
  - react-native-splash-screen (3.2.0):
    - React
  - react-native-webview (7.5.0):
    - React
  - React-RCTActionSheet (0.60.5):
    - React-Core (= 0.60.5)
  - React-RCTAnimation (0.60.5):
    - React-Core (= 0.60.5)
  - React-RCTBlob (0.60.5):
    - React-Core (= 0.60.5)
    - React-RCTNetwork (= 0.60.5)
    - React-RCTWebSocket (= 0.60.5)
  - React-RCTImage (0.60.5):
    - React-Core (= 0.60.5)
    - React-RCTNetwork (= 0.60.5)
  - React-RCTLinking (0.60.5):
    - React-Core (= 0.60.5)
  - React-RCTNetwork (0.60.5):
    - React-Core (= 0.60.5)
  - React-RCTSettings (0.60.5):
    - React-Core (= 0.60.5)
  - React-RCTText (0.60.5):
    - React-Core (= 0.60.5)
  - React-RCTVibration (0.60.5):
    - React-Core (= 0.60.5)
  - React-RCTWebSocket (0.60.5):
    - React-Core (= 0.60.5)
  - ReactNativeExceptionHandler (2.10.8):
    - React
  - ReactNativePermissions (1.2.1):
    - React
  - RNCAsyncStorage (1.6.2):
    - React
  - RNDeviceInfo (2.3.2):
    - React
  - RNFirebase (5.5.6):
    - Firebase/Core
    - React
    - RNFirebase/Crashlytics (= 5.5.6)
  - RNFirebase/Crashlytics (5.5.6):
    - Crashlytics
    - Fabric
    - Firebase/Core
    - React
  - RNGoogleSignin (2.0.0):
    - GoogleSignIn (~> 4.4.0)
    - React
  - RNImageCropPicker (0.25.2):
    - QBImagePickerController
    - React-Core
    - React-RCTImage
    - RSKImageCropper
  - RNLocalize (1.2.1):
    - React
  - RNSVG (9.10.0):
    - React
  - RNVectorIcons (6.6.0):
    - React
  - RSKImageCropper (2.2.3)
  - yoga (0.60.5.React)

DEPENDENCIES:
  - BVLinearGradient (from `../node_modules/react-native-linear-gradient`)
  - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
  - Firebase/Messaging
  - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
  - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
  - lottie-ios (from `../node_modules/lottie-ios`)
  - lottie-react-native (from `../node_modules/lottie-react-native`)
  - RCTRestart (from `../node_modules/react-native-restart/ios`)
  - React (from `../node_modules/react-native/`)
  - React-Core (from `../node_modules/react-native/React`)
  - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
  - React-DevSupport (from `../node_modules/react-native/React`)
  - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
  - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
  - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
  - react-native-fbsdk (from `../node_modules/react-native-fbsdk`)
  - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
  - react-native-photo-view (from `../src/extraNodeModules/react-native-photo-view`)
  - react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
  - react-native-webview (from `../node_modules/react-native-webview`)
  - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
  - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
  - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
  - React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
  - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
  - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
  - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
  - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
  - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
  - React-RCTWebSocket (from `../node_modules/react-native/Libraries/WebSocket`)
  - ReactNativeExceptionHandler (from `../node_modules/react-native-exception-handler`)
  - ReactNativePermissions (from `../node_modules/react-native-permissions`)
  - "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)"
  - RNDeviceInfo (from `../node_modules/react-native-device-info`)
  - RNFirebase (from `../node_modules/react-native-firebase/ios`)
  - RNGoogleSignin (from `../node_modules/react-native-google-signin`)
  - RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`)
  - RNLocalize (from `../node_modules/react-native-localize`)
  - RNSVG (from `../node_modules/react-native-svg`)
  - RNVectorIcons (from `../node_modules/react-native-vector-icons`)
  - yoga (from `../node_modules/react-native/ReactCommon/yoga`)

SPEC REPOS:
  trunk:
    - boost-for-react-native
    - Crashlytics
    - Fabric
    - FBSDKCoreKit
    - FBSDKLoginKit
    - FBSDKShareKit
    - Firebase
    - FirebaseAnalytics
    - FirebaseAnalyticsInterop
    - FirebaseCore
    - FirebaseCoreDiagnostics
    - FirebaseCoreDiagnosticsInterop
    - FirebaseInstanceID
    - FirebaseMessaging
    - GoogleAppMeasurement
    - GoogleDataTransport
    - GoogleDataTransportCCTSupport
    - GoogleSignIn
    - GoogleToolboxForMac
    - GoogleUtilities
    - GTMSessionFetcher
    - nanopb
    - Protobuf
    - QBImagePickerController
    - RSKImageCropper

EXTERNAL SOURCES:
  BVLinearGradient:
    :path: "../node_modules/react-native-linear-gradient"
  DoubleConversion:
    :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
  Folly:
    :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
  glog:
    :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
  lottie-ios:
    :path: "../node_modules/lottie-ios"
  lottie-react-native:
    :path: "../node_modules/lottie-react-native"
  RCTRestart:
    :path: "../node_modules/react-native-restart/ios"
  React:
    :path: "../node_modules/react-native/"
  React-Core:
    :path: "../node_modules/react-native/React"
  React-cxxreact:
    :path: "../node_modules/react-native/ReactCommon/cxxreact"
  React-DevSupport:
    :path: "../node_modules/react-native/React"
  React-jsi:
    :path: "../node_modules/react-native/ReactCommon/jsi"
  React-jsiexecutor:
    :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
  React-jsinspector:
    :path: "../node_modules/react-native/ReactCommon/jsinspector"
  react-native-fbsdk:
    :path: "../node_modules/react-native-fbsdk"
  react-native-netinfo:
    :path: "../node_modules/@react-native-community/netinfo"
  react-native-photo-view:
    :path: "../src/extraNodeModules/react-native-photo-view"
  react-native-splash-screen:
    :path: "../node_modules/react-native-splash-screen"
  react-native-webview:
    :path: "../node_modules/react-native-webview"
  React-RCTActionSheet:
    :path: "../node_modules/react-native/Libraries/ActionSheetIOS"
  React-RCTAnimation:
    :path: "../node_modules/react-native/Libraries/NativeAnimation"
  React-RCTBlob:
    :path: "../node_modules/react-native/Libraries/Blob"
  React-RCTImage:
    :path: "../node_modules/react-native/Libraries/Image"
  React-RCTLinking:
    :path: "../node_modules/react-native/Libraries/LinkingIOS"
  React-RCTNetwork:
    :path: "../node_modules/react-native/Libraries/Network"
  React-RCTSettings:
    :path: "../node_modules/react-native/Libraries/Settings"
  React-RCTText:
    :path: "../node_modules/react-native/Libraries/Text"
  React-RCTVibration:
    :path: "../node_modules/react-native/Libraries/Vibration"
  React-RCTWebSocket:
    :path: "../node_modules/react-native/Libraries/WebSocket"
  ReactNativeExceptionHandler:
    :path: "../node_modules/react-native-exception-handler"
  ReactNativePermissions:
    :path: "../node_modules/react-native-permissions"
  RNCAsyncStorage:
    :path: "../node_modules/@react-native-community/async-storage"
  RNDeviceInfo:
    :path: "../node_modules/react-native-device-info"
  RNFirebase:
    :path: "../node_modules/react-native-firebase/ios"
  RNGoogleSignin:
    :path: "../node_modules/react-native-google-signin"
  RNImageCropPicker:
    :path: "../node_modules/react-native-image-crop-picker"
  RNLocalize:
    :path: "../node_modules/react-native-localize"
  RNSVG:
    :path: "../node_modules/react-native-svg"
  RNVectorIcons:
    :path: "../node_modules/react-native-vector-icons"
  yoga:
    :path: "../node_modules/react-native/ReactCommon/yoga"

SPEC CHECKSUMS:
  boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
  BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872
  Crashlytics: 540b7e5f5da5a042647227a5e3ac51d85eed06df
  DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
  Fabric: 706c8b8098fff96c33c0db69cbf81f9c551d0d74
  FBSDKCoreKit: d6655a343868d4bb5c29a60859bab07c3be14a0b
  FBSDKLoginKit: c5a623de88a6b0cda35b35582921f6cec2efcc36
  FBSDKShareKit: 0d8c4cfd5c1f185d5f9c26d79758b141086e1251
  Firebase: 2d750c54cda57d5a6ae31212cfe5cc813c6be7e4
  FirebaseAnalytics: 5d9ccbf46ed25d3ec9304d263f85bddf1e93e2d2
  FirebaseAnalyticsInterop: d48b6ab67bcf016a05e55b71fc39c61c0cb6b7f3
  FirebaseCore: 8b2765c445d40db7137989b7146a3aa3f91b5529
  FirebaseCoreDiagnostics: be4f7a09d02ab305f18de59a470412caddb64c2a
  FirebaseCoreDiagnosticsInterop: 6829da2b8d1fc795ff1bd99df751d3788035d2cb
  FirebaseInstanceID: 550df9be1f99f751d8fcde3ac342a1e21a0e6c42
  FirebaseMessaging: b22b949cc45c14da01e60404dd7bffc78956380c
  Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
  glog: 1f3da668190260b06b429bb211bfbee5cd790c28
  GoogleAppMeasurement: 0ae90be1cc4dad40f4a27fc767ef59fa032ec87b
  GoogleDataTransport: c8617c00e4f3eb9418e42ac0e8ac5241a9d555dd
  GoogleDataTransportCCTSupport: 9f352523e8785a71f6754f51eeff09f49ec19268
  GoogleSignIn: 7ff245e1a7b26d379099d3243a562f5747e23d39
  GoogleToolboxForMac: b3553629623a3b1bff17f555e736cd5a6d95ad55
  GoogleUtilities: 9c2c544202301110b29f7974a82e77fdcf12bf51
  GTMSessionFetcher: 61bb0f61a4cb560030f1222021178008a5727a23
  lottie-ios: 496ac5cea1bbf1a7bd1f1f472f3232eb1b8d744b
  lottie-react-native: b123a79529cc732201091f585c62c89bb4747252
  nanopb: 2901f78ea1b7b4015c860c2fdd1ea2fee1a18d48
  Protobuf: 67fb42ba613def994e61854de2b3164f13790cc4
  QBImagePickerController: d54cf93db6decf26baf6ed3472f336ef35cae022
  RCTRestart: e8e3868a71dbec2cf8055fc2c0635db23c8c4479
  React: 53c53c4d99097af47cf60594b8706b4e3321e722
  React-Core: ba421f6b4f4cbe2fb17c0b6fc675f87622e78a64
  React-cxxreact: 8384287780c4999351ad9b6e7a149d9ed10a2395
  React-DevSupport: 197fb409737cff2c4f9986e77c220d7452cb9f9f
  React-jsi: 4d8c9efb6312a9725b18d6fc818ffc103f60fec2
  React-jsiexecutor: 90ad2f9db09513fc763bc757fdc3c4ff8bde2a30
  React-jsinspector: e08662d1bf5b129a3d556eb9ea343a3f40353ae4
  react-native-fbsdk: 45e28bbab3e905cbc635c0bdd3444b372e933ae9
  react-native-netinfo: 19ea7ffad6159777c77a34a3ed283b994a520d19
  react-native-photo-view: 63e9e61da873531f931008b545d8d10c5373ddf8
  react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
  react-native-webview: 929db94526596ecca2a6c56db64dde965a2fa9da
  React-RCTActionSheet: b0f1ea83f4bf75fb966eae9bfc47b78c8d3efd90
  React-RCTAnimation: 359ba1b5690b1e87cc173558a78e82d35919333e
  React-RCTBlob: 5e2b55f76e9a1c7ae52b826923502ddc3238df24
  React-RCTImage: f5f1c50922164e89bdda67bcd0153952a5cfe719
  React-RCTLinking: d0ecbd791e9ddddc41fa1f66b0255de90e8ee1e9
  React-RCTNetwork: e26946300b0ab7bb6c4a6348090e93fa21f33a9d
  React-RCTSettings: d0d37cb521b7470c998595a44f05847777cc3f42
  React-RCTText: b074d89033583d4f2eb5faf7ea2db3a13c7553a2
  React-RCTVibration: 2105b2e0e2b66a6408fc69a46c8a7fb5b2fdade0
  React-RCTWebSocket: cd932a16b7214898b6b7f788c8bddb3637246ac4
  ReactNativeExceptionHandler: 8025d98049c25f186835a3af732dd7c9974d6dce
  ReactNativePermissions: e7db6c38a2f3fb8f26dbfdcaeb5c5e9364657a6d
  RNCAsyncStorage: 5ae4d57458804e99f73d427214442a6b10a53856
  RNDeviceInfo: bdc3e922b2ed0f086e9d9ab534e61bc316f08576
  RNFirebase: ac0de8b24c6f91ae9459575491ed6a77327619c6
  RNGoogleSignin: d030c6c6591db24c3cee649f64c7babf0a1699a0
  RNImageCropPicker: f675353bbe18f66113a39b319c0aeb36655a6e4c
  RNLocalize: 7206d44eb341d6e2a61a8184b831c64a5539fcdf
  RNSVG: 4c4f94c23beff55111a158f9be5b542508592348
  RNVectorIcons: 0bb4def82230be1333ddaeee9fcba45f0b288ed4
  RSKImageCropper: a446db0e8444a036b34f3c43db01b2373baa4b2a
  yoga: 312528f5bbbba37b4dcea5ef00e8b4033fdd9411

PODFILE CHECKSUM: 77fe19401c66472228eb75cc8166fea73085e04d

COCOAPODS: 1.8.0

AppDelegate.m:

/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

#import "AppDelegate.h"

#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
#import "RNSplashScreen.h"
#import "Firebase.h"
#import "RNFirebaseNotifications.h"
#import "RNFirebaseMessaging.h"
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <React/RCTI18nUtil.h>

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  
  [FIRApp configure];
  [RNFirebaseNotifications configure];
  [[FBSDKApplicationDelegate sharedInstance] application:application
                           didFinishLaunchingWithOptions:launchOptions];

  RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
  RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
                                                   moduleName:@"beau_lounge"
                                            initialProperties:nil];

  rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];

  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  UIViewController *rootViewController = [UIViewController new];
  rootViewController.view = rootView;
  self.window.rootViewController = rootViewController;
  [self.window makeKeyAndVisible];

  [[UNUserNotificationCenter currentNotificationCenter] setDelegate:self];
  [RNSplashScreen show];
  return YES;
}

- (BOOL)application:(UIApplication *)application 
            openURL:(NSURL *)url 
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {

  BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
    openURL:url
    sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
    annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
  ];
  // Add any custom logic here.
  return handled;
}

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
  [[RNFirebaseNotifications instance] didReceiveLocalNotification:notification];
}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo
                                                       fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler{
  [[RNFirebaseNotifications instance] didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
}

- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings {
  [[RNFirebaseMessaging instance] didRegisterUserNotificationSettings:notificationSettings];
}

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG
  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
  return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
}

@end


Android

Click To Expand

Have you converted to AndroidX?

  • my application is an AndroidX application?
  • I am using android/gradle.settings jetifier=true for Android compatibility?
  • I am using the NPM package jetifier for react-native compatibility?

android/build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        buildToolsVersion = "28.0.3"
        minSdkVersion = 16
        compileSdkVersion = 28
        targetSdkVersion = 28
        supportLibVersion = "28.0.0"
        googlePlayServicesAuthVersion = "17.0.0" 
    }
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:3.4.1")
        classpath 'com.google.gms:google-services:4.3.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

allprojects {
    repositories {
        google()
        mavenLocal()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url("$rootDir/../node_modules/react-native/android")
        }
        maven {
            // Android JSC is installed from npm
            url("$rootDir/../node_modules/jsc-android/dist")
        }
        maven { url "https://www.jitpack.io" }
    }
}

android/app/build.gradle:

apply plugin: "com.android.application"

import com.android.build.OutputFile

/**
 * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
 * and bundleReleaseJsAndAssets).
 * These basically call `react-native bundle` with the correct arguments during the Android build
 * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
 * bundle directly from the development server. Below you can see all the possible configurations
 * and their defaults. If you decide to add a configuration block, make sure to add it before the
 * `apply from: "../../node_modules/react-native/react.gradle"` line.
 *
 * project.ext.react = [
 *   // the name of the generated asset file containing your JS bundle
 *   bundleAssetName: "index.android.bundle",
 *
 *   // the entry file for bundle generation
 *   entryFile: "index.android.js",
 *
 *   // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format
 *   bundleCommand: "ram-bundle",
 *
 *   // whether to bundle JS and assets in debug mode
 *   bundleInDebug: false,
 *
 *   // whether to bundle JS and assets in release mode
 *   bundleInRelease: true,
 *
 *   // whether to bundle JS and assets in another build variant (if configured).
 *   // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
 *   // The configuration property can be in the following formats
 *   //         'bundleIn${productFlavor}${buildType}'
 *   //         'bundleIn${buildType}'
 *   // bundleInFreeDebug: true,
 *   // bundleInPaidRelease: true,
 *   // bundleInBeta: true,
 *
 *   // whether to disable dev mode in custom build variants (by default only disabled in release)
 *   // for example: to disable dev mode in the staging build type (if configured)
 *   devDisabledInStaging: true,
 *   // The configuration property can be in the following formats
 *   //         'devDisabledIn${productFlavor}${buildType}'
 *   //         'devDisabledIn${buildType}'
 *
 *   // the root of your project, i.e. where "package.json" lives
 *   root: "../../",
 *
 *   // where to put the JS bundle asset in debug mode
 *   jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
 *
 *   // where to put the JS bundle asset in release mode
 *   jsBundleDirRelease: "$buildDir/intermediates/assets/release",
 *
 *   // where to put drawable resources / React Native assets, e.g. the ones you use via
 *   // require('./image.png')), in debug mode
 *   resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
 *
 *   // where to put drawable resources / React Native assets, e.g. the ones you use via
 *   // require('./image.png')), in release mode
 *   resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
 *
 *   // by default the gradle tasks are skipped if none of the JS files or assets change; this means
 *   // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
 *   // date; if you have any other folders that you want to ignore for performance reasons (gradle
 *   // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
 *   // for example, you might want to remove it from here.
 *   inputExcludes: ["android/**", "ios/**"],
 *
 *   // override which node gets called and with what additional arguments
 *   nodeExecutableAndArgs: ["node"],
 *
 *   // supply additional arguments to the packager
 *   extraPackagerArgs: []
 * ]
 */

project.ext.react = [
    entryFile: "index.js",
    enableHermes: false,  // clean and rebuild if changing
]

apply from: "../../node_modules/react-native/react.gradle"

/**
 * Set this to true to create two separate APKs instead of one:
 *   - An APK that only works on ARM devices
 *   - An APK that only works on x86 devices
 * The advantage is the size of the APK is reduced by about 4MB.
 * Upload all the APKs to the Play Store and people will download
 * the correct one based on the CPU architecture of their device.
 */
 
apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"

def enableSeparateBuildPerCPUArchitecture = false

/**
 * Run Proguard to shrink the Java bytecode in release builds.
 */
def enableProguardInReleaseBuilds = false

def enableShrinkResources = false

/**
 * The preferred build flavor of JavaScriptCore.
 *
 * For example, to use the international variant, you can use:
 * `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
 *
 * The international variant includes ICU i18n library and necessary data
 * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
 * give correct results when using with locales other than en-US.  Note that
 * this variant is about 6MiB larger per architecture than default.
 */
def jscFlavor = 'org.webkit:android-jsc:+'

/**
 * Whether to enable the Hermes VM.
 *
 * This should be set on project.ext.react and mirrored here.  If it is not set
 * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
 * and the benefits of using Hermes will therefore be sharply reduced.
 */
def enableHermes = project.ext.react.get("enableHermes", false);

android {
    compileSdkVersion rootProject.ext.compileSdkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        applicationId "com.beau_lounge"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk false  // If true, also generate a universal APK
            include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
        }
    }
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
                storeFile file(MYAPP_UPLOAD_STORE_FILE)
                storePassword MYAPP_UPLOAD_STORE_PASSWORD
                keyAlias MYAPP_UPLOAD_KEY_ALIAS
                keyPassword MYAPP_UPLOAD_KEY_PASSWORD
            }
        }
        
        debug {
            storeFile file('debug.keystore')
            storePassword 'android'
            keyAlias 'androiddebugkey'
            keyPassword 'android'
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.debug
        }
        release {
            // Caution! In production, you need to generate your own keystore file.
            // see https://facebook.github.io/react-native/docs/signed-apk-android.
            signingConfig signingConfigs.release
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            shrinkResources enableShrinkResources
        }
    }
    // applicationVariants are e.g. debug, release
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            // For each separate APK per architecture, set a unique version code as described here:
            // https://developer.android.com/studio/build/configure-apk-splits.html
            def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {  // null for the universal-debug, universal-release variants
                output.versionCodeOverride =
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
            }

        }
    }

    packagingOptions {
        pickFirst '**/armeabi-v7a/libc++_shared.so'
        pickFirst '**/x86/libc++_shared.so'
        pickFirst '**/arm64-v8a/libc++_shared.so'
        pickFirst '**/x86_64/libc++_shared.so'
        pickFirst '**/x86/libjsc.so'
        pickFirst '**/armeabi-v7a/libjsc.so'
    }
}

dependencies {
    implementation project(':lottie-react-native')
    implementation project(':react-native-device-info')
    implementation project(':react-native-firebase')
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'com.android.support:multidex:1.0.3'
    implementation "com.facebook.react:react-native:+"  // From node_modules
    implementation 'com.facebook.fresco:animated-base-support:1.3.0'
    implementation 'com.facebook.fresco:animated-gif:1.10.0'
    implementation 'me.leolin:ShortcutBadger:1.1.21@aar' // use badge on Android
    implementation 'com.facebook.android:facebook-login:[5,6)'
    implementation 'com.google.android.gms:play-services-auth:17.0.0'
    implementation 'com.google.android.gms:play-services-base:17.1.0'
    implementation 'com.google.firebase:firebase-core:17.2.0'
    implementation "com.google.firebase:firebase-messaging:20.0.0"
    implementation 'com.facebook.fresco:animated-gif:1.+'
    if (enableHermes) {
      def hermesPath = "../../node_modules/hermesvm/android/";
      debugImplementation files(hermesPath + "hermes-debug.aar")
      releaseImplementation files(hermesPath + "hermes-release.aar")
    } else {
      implementation jscFlavor
    }
}

// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.compile
    into 'libs'
}

apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
apply plugin: 'com.google.gms.google-services'

android/settings.gradle:

rootProject.name = 'beau_lounge'
include ':lottie-react-native'
project(':lottie-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/lottie-react-native/src/android')
include ':react-native-device-info'
project(':react-native-device-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-info/android')
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'

MainApplication.java:

package com.beau_lounge;

import android.app.Application;
import android.util.Log;

import com.facebook.react.PackageList;
import com.facebook.hermes.reactexecutor.HermesExecutorFactory;
import com.facebook.react.bridge.JavaScriptExecutorFactory;
import com.facebook.react.ReactApplication;
import com.airbnb.android.react.lottie.LottiePackage;
import com.learnium.RNDeviceInfo.RNDeviceInfo;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.soloader.SoLoader;
import com.facebook.react.modules.i18nmanager.I18nUtil;
import io.invertase.firebase.messaging.RNFirebaseMessagingPackage;
import io.invertase.firebase.notifications.RNFirebaseNotificationsPackage;

import java.util.List;

public class MainApplication extends Application implements ReactApplication {

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    @Override
    public boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

    @Override
    protected List<ReactPackage> getPackages() {
      @SuppressWarnings("UnnecessaryLocalVariable")
      List<ReactPackage> packages = new PackageList(this).getPackages();
      // Packages that cannot be autolinked yet can be added manually here, for example:
      // packages.add(new MyReactNativePackage());
      packages.add(new RNFirebaseMessagingPackage());
      packages.add(new RNFirebaseNotificationsPackage());
      packages.add(new LottiePackage());
      return packages;
    }

    @Override
    protected String getJSMainModuleName() {
      return "index";
    }
  };

  @Override
  public ReactNativeHost getReactNativeHost() {
    return mReactNativeHost;
  }

  @Override
  public void onCreate() {
    super.onCreate();
    SoLoader.init(this, /* native exopackage */ false);
      I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance();
      sharedI18nUtilInstance.allowRTL(getApplicationContext(), false);
  }
}

AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" package="com.beau_lounge">

    <uses-permission android:name="android.permission.INTERNET" />

    <application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="false" android:supportsRtl="true" android:usesCleartextTraffic="true" tools:targetApi="28" android:largeHeap="true">
        <activity android:name=".MainActivity" android:theme="@style/LaunchTheme" android:launchMode="singleTop" android:label="@string/app_name" android:exported="true" android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:windowSoftInputMode="adjustResize" android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="beauloungeapp" android:host="callback" android:pathPrefix="" />
            </intent-filter>
        </activity>
        <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

        <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/ic_notification" />
        <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/primary_theme" />


        <service android:name="io.invertase.firebase.messaging.RNFirebaseMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
        <service android:name="io.invertase.firebase.messaging.RNFirebaseBackgroundMessagingService" />
    </application>

</manifest>


Environment

Click To Expand

react-native info output:

 System:
    OS: macOS Mojave 10.14.6
    CPU: (4) x64 Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
    Memory: 134.39 MB / 16.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 12.5.0 - /usr/local/bin/node
    Yarn: 1.21.1 - ~/.yarn/bin/yarn
    npm: 6.13.0 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  SDKs:
    iOS SDK:
      Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
    Android SDK:
      API Levels: 21, 22, 23, 24, 25, 26, 27, 28, 29
      Build Tools: 27.0.3, 28.0.3, 29.0.1, 29.0.2
      System Images: android-22 | Google APIs Intel x86 Atom, android-22 | Google APIs Intel x86 Atom_64, android-23 | Google APIs Intel x86 Atom, android-28 | Google APIs Intel x86 Atom, android-28 | Google APIs Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom_64
  IDEs:
    Android Studio: 3.4 AI-183.6156.11.34.5692245
    Xcode: 11.3.1/11C504 - /usr/bin/xcodebuild
  npmPackages:
    react: 16.8.6 => 16.8.6 
    react-native: 0.60.5 => 0.60.5 
  npmGlobalPackages:
    react-native-cli: 2.0.1
    react-native-rename: 2.4.1
  • Platform that you're experiencing the issue on:
    • iOS
    • Android
    • iOS but have not tested behavior on Android
    • Android but have not tested behavior on iOS
    • Both
  • react-native-firebase version you're using that has this issue:
    • 5.5.6
  • Firebase module(s) you're using that has the issue:
    • FCM
  • Are you using TypeScript?
    • N


Think react-native-firebase is great? Please consider supporting all of the project maintainers and contributors by donating via our Open Collective where all contributors can submit expenses. [Learn More]

@mikehardy
Copy link
Collaborator

At the same time I recognize this is not a truly helpful comment, notifications does not exist in v6, it's a poor investment of time making it work correctly on v5 vs integrating one of the packages referenced in the first pinned issue in this repo (I think this has been mentioned as a good option https://github.com/wix/react-native-notifications)

@neetinzwt
Copy link
Author

The firebase.notifications().getInitialNotification() is async process hence I had to put await before the function call to make it work.

@ghasemikasra39
Copy link

I am facing the same issue on v7, created the corresponding issue here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants