OneSignal notification does not appear on iOS, but it does on Android (In App message works perfectly on both)

830 Views Asked by At

So I added onesignal-expo-plugin and react-native-onesignal to my project, I made everything what was wrote on the website After this i made a developmen-simulator build for my app I tested the app on IOS and on Android too, on android i get the notification instantly but on IOS i'm not.

So i checked the notification report on OneSignal dashboard and the ios fall into failed. I checked everything, I added everything what i had to, the p12 file is correct, I did everything multiple times before i write here, I haven't ejected my ios app because I want to keep expo managing my ios/android application well. What should I try to fix this issue?

Android works correctly but ios don't and I really need your help! The in-app message works correctly just the push notification don't

Versions:

    "react-native-onesignal": "^4.5.0",
    "onesignal-expo-plugin": "^1.3.0",

I don't want to eject my ios code and I saw too many articles and videos how others use it and works. Please help me whats wrong.

My code example what I tried just now:

 const initialOnesignal = async () => {
   
    OneSignal.setAppId('HIDEN FOR STACKOVERFLOW');


    OneSignal.promptForPushNotificationsWithUserResponse();

   
    OneSignal.setNotificationWillShowInForegroundHandler(
      notificationReceivedEvent => {
        console.log(
          'OneSignal: notification will show in foreground:',
          notificationReceivedEvent,
        );
        let notification = notificationReceivedEvent.getNotification();
        console.log('notification: ', notification);
        const data = notification.additionalData;
        console.log('additionalData: ', data);
       
        notificationReceivedEvent.complete(notification);
      },
    );

   
    OneSignal.setNotificationOpenedHandler(notification => {
      console.log('OneSignal: notification opened:', notification);
    });
  };

And I also tried this way:

useEffect(() => {
    OneSignal.setAppId('HIDEN FOR STACKOVERFLOW');

    
    OneSignal.promptForPushNotificationsWithUserResponse(response => {
      console.log('Prompt response:', response);
    });

    
    OneSignal.setNotificationWillShowInForegroundHandler(
      notificationReceivedEvent => {
        console.log(
          'OneSignal: notification will show in foreground:',
          notificationReceivedEvent,
        );
        let notification = notificationReceivedEvent.getNotification();
        console.log('notification: ', notification);
        const data = notification.additionalData;
        console.log('additionalData: ', data);
        // Complete with null means don't show a notification.
        notificationReceivedEvent.complete(notification);
      },
    );

    
    OneSignal.setNotificationOpenedHandler(notification => {
      console.log('OneSignal: notification opened:', notification);
    });
  }, []);

Tried to only add my AppId as well. I guess i tried everyting.

I have tried to regenerate p12 file, try multiple code examples, run on simultaor and on device too. Tried to use useEffect and simple function as well.

0

There are 0 best solutions below