Expo Android App Build Stuck on Axios Request - react-native

I have built this pizza app in which the home screen loads data that it received using axios get request. When I use the app on the development mode i.e. running expo client on my phone and scanning the QR code, the app loads pizza cards with no issues. (PS there is a loading screen before the pizza cards render). But when I ran expo build:android and got the standalone app (apk file). I installed it on my phone and the home screen is stuck on the loading sign. It is not fetching any data from the backend API, can anyone help me with this issue.

In my case the error is that I was registering for expo notification and calling the api only after the promise resolved (I forgot to provide FCM api key)
for eg:-
registerForPushNotificationsAsync().then(token => {
//--- calling the login api ---
}
since expo notification will not work in production build if we dont provide FCM key thats why login api was not getting called in production so my request was working in development but not in production

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/

React Native - React-native-app-auth - service_configuration_fetch_error

Environment
Your Identity Provider: Azure
Platform that you're experiencing the issue on: Android
Are you using Expo?: No
React Native Version: 0.66.4
React Native App Auth Version: 6.4.0
Hi Folks,
My app is being used by about 300 users and we are getting a lot of complaints about problems logging into Microsoft using MFA.
After receiving the SMS and adding the code, the user confirms on the consent screen to be redirected back to the app but often he goes back to the Microsoft Login page.
The problem can be solved palliatively by clearing the cache of the Chrome app.
I put some logs on my AppCenter:
Below is what my code looks like:
And my Azure Url Redirect configuration on App Register:
Question:
I need to put on property appAuthRedirectScheme the same name of my bundleId? Or can I put any custom string?
And
What could be the problem on service_configuration_fetch_error?

React Native Expo AuthSession; Google Authentication

I’m trying to setup the Google authentication using AuthSession in Expo documentation (without Firebase)
https://docs.expo.dev/guides/authentication/#google
The first problem is, that the slack example doesn’t work: on the devices and simulators nothing happen after pushing the button, and in web mode it returns an error
Error 401: invalid_client
The OAuth client was not found.
What I’ve done using steps in documentation:
I’m not sure if it’s necessary, but I’ve installed yarn add expo-application
I’ve registered in Credentials page (Google Cloud Platform)
Logged in using expo login, in the terminal where I was starting expo start
Created a new Google Client ID that will be used with expoClientId
(Image) New Google Client ID setting image
( I'm not allowed to input images now )
(Don’t know if it’s necessary) I’ve created a project in https://expo.dev/ and then published the project using dashboard of expo start
(Image) Setting for "publish" in expo start dashboard
Where:
“expo”: {
“name”: “rn-my-project”,
“slug”: “rn-my-project”,
“version”: “1.0.0”,
“orientation”: “portrait”,
…
}
Using the code in the example, provided in documentation for Google, I receive null as response.
As I understand, this should be enough to test the Google Authentication using AuthSession in Expo Go app. I also made iosClientId, androidClientId and webClientId, but I’m not sure if I made everything correct.
Will be glad for any help, because I couldn’t find any person with the problem as mine.
Yours sincerely.
P.S. I've successfully set up logInAsync for Google using this documentation, but it's written, that it is deprecated.

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/

React Native + lib-jitsi-meet - audio/video tracks not getting added to the conference

We are trying to create a React Native mobile app for Jitsi from scratch using the lib-jitsi-meet API, and we have a self-hosted jitsi-meet on AWS server and we followed quick-install guide. For the purpose of this post, the URL is https://jitsimeet.example.com.
In the React Native app, we are able to join a conference called test1 using JitsiMeetJS.initJitsiConference. Once joined, the user is visible as "Fellow Jitster" on the browser at jitsimeet.example.com/test1, but the tracks (video/audio) we are adding to the conference (from React Native mobile app) are not visible and in the browser, it just says "Participant has stopped the camera" and "Participant is muted".
We have tried meet.jit.si & beta.meet.jit.si in our React Native app to see if the problem is related to our backend installation. But these were also not working.
We have also tried the same conference jitsimeet.example.com/test1 on the browser and in jitsi-meet mobile app and they are both working fine without any issues.
We have also set up the jitsi-meet repository locally. On running the React Native part on the Android emulator, it is working fine (both joining the conference and rendering the audio/video tracks).
From the above observations, it seems to be that the issue is coming from our implementation of React Native app.
Our code for the component that initiates the conference can be found here. Here you can find the link to our repository. To run it, just do npm i and npx react-native run-android. We are using polyfills in our react-native code as given in the jitsi-meet repository.
In the logs of jicofo on our server, we were able to see that when users join via web or jitsi-meet mobile app, we are getting:
org.jitsi.jicofo.ParticipantChannelAllocator.log() Sending session-initiate to: test1#conference.jitsimeet.example.com/2502e6ad
org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Got session-accept from: test1#conference.jitsimeet.example.com/2502e6ad
org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Received session-accept from test1#conference.jitsimeet.example.com/2502e6ad with accepted sources:Sources{ video: [ssrc=467278592 ssrc=2301072636 ssrc=839807103 ssrc=3616291734 ssrc=2331517151 ssrc=3181098946 ] audio: [ssrc=2795704819 ] }#2129717334
Whereas when we join via our React Native app, we are only getting:
org.jitsi.jicofo.ParticipantChannelAllocator.log() Sending session-initiate to: test1#conference.jitsimeet.example.com/946022e6
More information which might be relevant
On the client side, we are adding tracks after CONFERENCE_JOINED event is fired, then, we are getting the following logs
[JitsiConference.js] _doReplaceTrack - no JVB JingleSession
[JitsiConference.js] _doReplaceTrack - no P2P JingleSession
As mentioned above, we can join the conference from our react native app and we are getting CONFERENCE_JOINED, USER_JOINED, USER_LEFT events.
The TRACK_ADDED event is also firing locally right after adding local tracks. But it is not firing for any video/desktop-sharing/audio changes occurring on other remote clients (web browser or jitsi-meet mobile app).
How can we fix this?