How to use FCM (Firebase Cloud Messaging) while making build of expo react native app through eas cli - react-native

I had expo sdk less than sdk 45 in my expo react native app which previously used expo cli. For using FCM, I used to write expo push:android:upload --api-key , in which your token means server key. But now, my app has been converted to eas cli and I can't find the command or procedure to use FCM for notifications in my app anywhere not even in expo documentation. I previously used to follow this guide
enter link description here

Run eas credentials, select Android, then Push Notifications: Manage your FCM Api Key, and then choose the appropriate option to set up the key.
docs...
OR
Go to https://expo.dev/
Select a project
Go to credentials
Click on the application ID
In the Service Credentials section, add FCM Server Key

Related

Configure expo notifications for push notifications

I have 2 apps and I implemented expo push notification and everything was fine, but in the other one it asked me for the experienceid as a prop to Notifications.getExpoPushTokenAsync({
experienceId: "#name/slug,
});
and when trying to send a notification it gives me this error: InvalidCredentials: Unable to retrieve the FCM server key for the recipient's app. Make sure you have provided a server key as directed by the Expo FCM documentation.
I dont want to use FCM, i want to use expo push api.
Can you help me?
The Expo Push API uses FCM for Android, and while it's not necessary to configure it for Expo Go (this is done already for the Expo Go app), when you deploy your standalone app you will need to have it configured for FCM. More information here: https://docs.expo.dev/push-notifications/using-fcm/

Will an Android app only receive push notifications is the app was downloaded from the Google Play Store? (React Native Expo)

I'm using Expo push notifications. Push notifications work fine in Expo Go and for apps on published to the Google Play store. But when I create an APK file and download it directly onto my Android phone, NOT through the Google Play store, the push notifications I send are not received.
Will push notifications only work for apps published to the Google Play store? Or is there a way to receive push notifications for apps downloaded directly onto an Android phone without being published to the Google Play store?
Depending on your android version and rom you have to open the app setting's (for me long press app icon).
Select settings
Choose notifications
Enable notification for this app
I forgot to import { Platform } from 'react-native'.
Also, I needed to upload Android server api key credentials which can be found in Firebase Console in your project settings under Cloud Messaging. Here is how to upload the server api key credentials in the terminal:
expo push:android:upload --api-key <your-token-here>
Documentation can be found here under "Uploading Server Credentials": https://docs.expo.dev/push-notifications/using-fcm/

FCM: Mismatched Sender Id when trying to send notification to Expo app

I have a backend that send fcm to web app and expo apps. Double checked all the credentials. But still unable to get it work. Both of the credentials are under same project. Backend is using firebase admin, with service account. Front end is using google-services.json. Anyone encountered this?
Found out that the device token from expo-notification can only be used on standalone build. But not in expo-client during development.
https://forums.expo.io/t/using-fcm-as-push-notification-with-expo-client/42402/2?u=cyee
This is the copy paste comment by expo team.
Hi! If you want to send notifications directly through FCM, and not
through the Expo notifications service, you’ll have to test in a
standalone app (as in, an app you built with expo build:android). This
is because you don’t have the push credentials for the Expo client
app, only we do :slight_smile:
If you want to test in the Expo client app, then you can do that with
Expo’s notifications, which you can read more about here-
https://docs.expo.io/push-notifications/overview/

Unable to get a Expo Push Notifications Token

I am working on react native Expo's Push Notifications. I just started and unable to get the Expo Push notification token.
I added the following code:
token = await Notifications.getExpoPushTokenAsync();
console.log(token);
and getting the error "[Unhandled promise rejection: Error: The Expo push notification service is supported only for Expo projects. Ensure you are logged in
to your Expo developer account on the computer from which you are loading your project.]".
I am running the project in the Expo App and I have created an account on Expo but still not getting the token.
Expo experts, please guide.
In your terminal type: "Expo login"
Sign in with your username//password.
Run the project again make sure you use a real device.
Register on Expo's official Site. or if you already have an account then...
then from your terminal type expo login
now login using your expo's username, password
after successful login, you are now able to use the expo push notification service.
in the terminal type expo start to start your app dev again!
If expo login is not recognized use npx expo login

first react native app, bypass app store?

I'm making my first app in react-native for iOS, I want friends to install it with going through expo first, just have it in their home screen, is there a way to deploy without using the app store and getting approved? if it's not for the masses?
First Add device UDID in apple account then create IPA file. Using below command. It will ask you developer account credential. Make sure you've subscribe developer membership.
exp build:ios
And share link with your friend using diawi