braze-react-native-sdk
braze-react-native-sdk copied to clipboard
[Bug]: Braze Authentication Error when app is on the background
Which Platforms?
Android
Which React Native Version?
0.73.4
Which @braze/react-native-sdk SDK version?
11.0.0
Repro Rate
50%
Steps To Reproduce
Example:
- Generate
brazeToken import Braze from "@braze/react-native-sdk".Braze.enableSDK()Braze.addListener(Braze.Events.SDK_AUTHENTICATION_ERROR, authFailure => console.log(authFailure))Braze.changeUser(id, brazeToken)Braze.setSdkAuthenticationSignature(brazeToken)Braze.requestContentCardsRefresh()- Run the app and leave it in the background
- After the
brazeTokenexpires, braze error 22 is thrown
Expected Behavior
The Braze SDK doesn't log errors when the user is inactive.
Actual Incorrect Behavior
The Braze SDK detects when the token expires and logs errors even if we have already received all campaigns, have loaded the all content cards and user is inactive.
Verbose Logs
No response
Additional Information
This issue started to appear after we migrated 8.0.0 -> 9.2.0. Later we migrated to 11.0.0 (currently latest), but we are still experiencing the same errors. There are no breaking changes mentioned for Android in the change log - https://www.braze.com/docs/developer_guide/platform_integration_guides/react_native/changelog. It is also important to point out that we are not receiving errors on iOS.
@martin-mentormate Could you send in some verbose logs to [email protected] to confirm if there are any issues with the request behavior? It sounds like expected behavior since the SDK was able to receive a valid auth error from the server.
@jerielng - I don't think there are any issues with the request behaviour as we receive all campaigns and content cards correctly and the token really is expired in this case (we get braze error 22). It's just that something changed in the Android SDK and it started detecting the braze token expiration before we have an opportunity to refresh it. I believe this is unexpected as we have already fetched all campaigns/content cards from braze, we do not reinitialise the braze sdk and we fetch campaigns and content cards once. Note: We are basically using the same implementation for iOS and Android, but only the latter is affected.
Thanks for the additional info @martin-mentormate - our support team would be in the best position to help diagnose the behavior here and provide some next steps, so if you are able to send in some verbose logs and any relevant code snippets to that email mentioned above, we would be able to get a better idea of what's going on. Thanks!
Closing out this issue due to inactivity.
If you would need further assistance, feel free to reach out to our support team at [email protected].
Thank you!