Bird
Raised Fist0
React Nativemobile~5 mins

Push notifications (expo-notifications) in React Native - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of expo-notifications in React Native?
It is a library that helps apps send and receive push notifications easily on both iOS and Android devices.
Click to reveal answer
beginner
Which method is used to get the device's push notification token with expo-notifications?
The method getExpoPushTokenAsync() returns a unique token to send push notifications to that device.
Click to reveal answer
beginner
Why do you need to ask for permissions before sending push notifications?
Because users must allow the app to show notifications. Without permission, notifications won’t appear.
Click to reveal answer
intermediate
What is the role of a notification handler in expo-notifications?
It controls how notifications behave when received, like showing alerts or playing sounds.
Click to reveal answer
intermediate
How can you listen for incoming notifications while the app is running?
By adding a listener with addNotificationReceivedListener to react when notifications arrive.
Click to reveal answer
Which function gets the push notification token in Expo?
AgetExpoPushTokenAsync()
BrequestPermissionsAsync()
CsendNotificationAsync()
DaddNotificationReceivedListener()
What must you do before showing notifications to the user?
ARestart the app
BSend a test notification
CRequest permission from the user
DClear app cache
Which listener lets you react when a notification arrives while the app is open?
AaddNotificationResponseReceivedListener
BrequestPermissionsAsync
CgetExpoPushTokenAsync
DaddNotificationReceivedListener
What does the notification handler control?
AThe app’s theme colors
BHow notifications behave when received
CUser login state
DNetwork requests
Which platform(s) does expo-notifications support?
AiOS and Android
BOnly iOS
COnly Android
DWeb browsers
Explain the steps to set up push notifications using expo-notifications in a React Native app.
Think about permissions, token, handlers, and listeners.
You got /5 concepts.
    Describe how you would handle a notification when the app is open versus when it is closed.
    Consider different app states and listeners.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using expo-notifications in a React Native app?
      easy
      A. To create animations for app screens
      B. To send and receive push notifications to keep users informed
      C. To manage app navigation between screens
      D. To handle user authentication and login

      Solution

      1. Step 1: Understand the role of expo-notifications

        The expo-notifications library is designed to handle push notifications in React Native apps.
      2. Step 2: Identify the correct purpose

        It allows apps to send and receive notifications, keeping users informed even when the app is closed.
      3. Final Answer:

        To send and receive push notifications to keep users informed -> Option B
      4. Quick Check:

        expo-notifications = Push notifications [OK]
      Hint: Remember: expo-notifications is for alerts, not UI or auth [OK]
      Common Mistakes:
      • Confusing notifications with navigation or animations
      • Thinking expo-notifications manages user login
      • Assuming it handles UI styling
      2. Which of the following is the correct way to request notification permissions using expo-notifications?
      easy
      A. await Notifications.requestPermissionsAsync();
      B. Notifications.getPermissions();
      C. await Notifications.askForPermissions();
      D. Notifications.permissionRequest();

      Solution

      1. Step 1: Recall the correct method name

        The official method to request permissions is requestPermissionsAsync() from expo-notifications.
      2. Step 2: Check syntax correctness

        The method is asynchronous and should be awaited: await Notifications.requestPermissionsAsync();
      3. Final Answer:

        await Notifications.requestPermissionsAsync(); -> Option A
      4. Quick Check:

        Permission request method = requestPermissionsAsync [OK]
      Hint: Look for async method starting with 'request' [OK]
      Common Mistakes:
      • Using non-existent methods like getPermissions or askForPermissions
      • Forgetting to await the async call
      • Using incorrect method names
      3. Given the code snippet below, what will be logged when a notification is received?
      import * as Notifications from 'expo-notifications';
      
      Notifications.addNotificationReceivedListener(notification => {
        console.log(notification.request.content.title);
      });
      
      // Assume a notification with title 'Hello User' arrives
      medium
      A. undefined
      B. notification
      C. Hello User
      D. Error: notification is not defined

      Solution

      1. Step 1: Understand the listener callback

        The listener receives a notification object, and logs notification.request.content.title.
      2. Step 2: Match the notification content

        The notification has a title 'Hello User', so that string will be logged.
      3. Final Answer:

        Hello User -> Option C
      4. Quick Check:

        Logged title = 'Hello User' [OK]
      Hint: Listener logs notification title property [OK]
      Common Mistakes:
      • Expecting the whole notification object to be logged
      • Confusing property names or missing nested fields
      • Assuming undefined if not familiar with notification structure
      4. What is wrong with this code snippet for getting the push token?
      import * as Notifications from 'expo-notifications';
      
      const getToken = async () => {
        const token = Notifications.getExpoPushTokenAsync();
        console.log(token);
      };
      
      getToken();
      medium
      A. Missing await before Notifications.getExpoPushTokenAsync()
      B. Wrong import statement for Notifications
      C. console.log should be inside a .then() block
      D. getToken function should not be async

      Solution

      1. Step 1: Identify async function usage

        The method getExpoPushTokenAsync() returns a Promise and must be awaited.
      2. Step 2: Check the code for await

        The code calls Notifications.getExpoPushTokenAsync() without await, so token is a Promise, not the actual token.
      3. Final Answer:

        Missing await before Notifications.getExpoPushTokenAsync() -> Option A
      4. Quick Check:

        Async calls need await to get result [OK]
      Hint: Always await async calls to get actual values [OK]
      Common Mistakes:
      • Forgetting to await async functions
      • Misunderstanding Promises vs values
      • Incorrect import statements
      • Logging before Promise resolves
      5. You want to send a push notification only when the user has granted permission. Which sequence of steps correctly implements this using expo-notifications?
      hard
      A. Send notification directly without requesting permission or token
      B. Get token first with getExpoPushTokenAsync(), then request permission with requestPermissionsAsync()
      C. Only request permission and send notification without getting token
      D. Request permission with requestPermissionsAsync(), check status, then get token with getExpoPushTokenAsync() if granted

      Solution

      1. Step 1: Request notification permission

        Use requestPermissionsAsync() to ask the user for permission and check the returned status.
      2. Step 2: Get push token if permission granted

        If permission is granted, call getExpoPushTokenAsync() to get the device token for sending notifications.
      3. Step 3: Send notification using the token

        Use the token to send push notifications from your server or app.
      4. Final Answer:

        Request permission with requestPermissionsAsync(), check status, then get token with getExpoPushTokenAsync() if granted -> Option D
      5. Quick Check:

        Permission first, then token, then send [OK]
      Hint: Always request permission before getting token [OK]
      Common Mistakes:
      • Getting token before permission
      • Sending notifications without token
      • Skipping permission check
      • Assuming permission is granted by default
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard