Skip to content
This repository was archived by the owner on Jan 14, 2025. It is now read-only.
This repository was archived by the owner on Jan 14, 2025. It is now read-only.

onNotification is not getting called when opening the notification from background in Android #1592

Closed
@vineelk8

Description

@vineelk8

onNotification is not getting called when opening the notification from a background in Android -- Remote Notifications with firebase.

Below are the files modified

build.gradle

buildscript {
ext {
    buildToolsVersion = "28.0.3"
    minSdkVersion = 16
    compileSdkVersion = 28
    targetSdkVersion = 28
    googlePlayServicesVersion = "+"
    firebaseVersion = "+"
}
repositories {
    google()
    jcenter()
}
dependencies {
    classpath("com.android.tools.build:gradle:3.5.2")
    classpath 'com.google.gms:google-services:4.3.3'
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
 }
}

settings.gradle

include ':react-native-push-notification'
project(':react-native-push-notification').projectDir = file('../node_modules/react-native-push-notification/android')

app/build.gradle

implementation 'com.google.firebase:firebase-analytics:17.3.0'
implementation project(':react-native-push-notification')

--- end of the file added below line  ---
apply plugin: 'com.google.gms.google-services'

AndroidManifest.xml

  <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<!-- Include this only if you are planning to use the microphone for video recording -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>

<uses-permission android:name="android.permission.WAKE_LOCK" />
<permission
    android:name="${applicationId}.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />

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

 <meta-data  android:name="com.dieam.reactnativepushnotification.notification_channel_name"
            android:value="YOUR NOTIFICATION CHANNEL NAME"/>
    <meta-data  android:name="com.dieam.reactnativepushnotification.notification_channel_description"
                android:value="YOUR NOTIFICATION CHANNEL DESCRIPTION"/>

    <!-- Change the value to true to enable pop-up for in foreground (remote-only, for local use ignoreInForeground) -->
    <meta-data  android:name="com.dieam.reactnativepushnotification.notification_foreground"
                android:value="true"/>
    <!-- Change the value to false if you don't want the creation of the default channel -->
    <meta-data  android:name="com.dieam.reactnativepushnotification.channel_create_default"
                android:value="true"/>
    <!-- Change the resource name to your App's accent color - or any other color you want -->
    <meta-data  android:name="com.dieam.reactnativepushnotification.notification_color"
                android:resource="@color/white"/> <!-- or @android:color/{name} to use a standard color -->

    <receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationActions" />
    <receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationPublisher" />
    <receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationBootEventReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

    <service
        android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationListenerService"
        android:exported="false" >
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>

package.json

"react": "16.11.0",
"react-native": "0.62.2",
"react-native-push-notification": "^5.0.1",

pushNotificationService.js

  import React from 'react';
  import PushNotification from 'react-native-push-notification';

 export const configurePushNotification = () => {

 PushNotification.configure({

onRegister: function(token) {
  console.log('TOKEN:', token);
},


onNotification: function(notification) {
  console.log('NOTIFICATION:', notification);

},


onAction: function(notification) {
  console.log('ACTION:', notification.action);
  console.log('NOTIFICATION:', notification);

},

onRegistrationError: function(err) {
  console.error(err.message, err);
},

senderID: 'XXXXXXXXX',


permissions: {
  alert: true,
  badge: true,
  sound: true,
},


popInitialNotification: true,


requestPermissions: true,
   });
 };

App.js

import * as pushNotification from './src/services/pushNotificationService';

pushNotification.configurePushNotification();

const App = () => {
return (
    <AppNavigator />
  );
 };

Please, someone, help me out in this issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions