Integration with React Native
- 09 Nov 2023
- Print
- DarkLight
Integration with React Native
- Updated on 09 Nov 2023
- Print
- DarkLight
Article Summary
Share feedback
Thanks for sharing your feedback!
v2.x
The SDK can be integrated into React Native projects.
- Add the SDK to your Android project as described above.
- The automatic interceptor is not supported in React Native, so any request from the JavaScript code has to be handled manually.
- Disable the automatic interception as described above.
- Create a native module as described here.
- Create a function that pass the HTTP headers from the HUMAN SDK to the JavaScript code. Here is an example:
@ReactMethod public void getHTTPHeaders(Callback callBack) { JSONObject json = new JSONObject(PerimeterX.INSTANCE.headersForURLRequest(null)); callBack.invoke(json.toString()); }
- In your JavaScript code, send your request with those HTTP headers. Here is an example:
PerimeterXModule.getHTTPHeaders(async headers => { const obj = JSON.parse(headers); const url = 'https://my.request.com' const response = await fetch(url, { method: 'GET', headers: obj, }); });
- Next, pass the response back to the native module. Here is an example:
@ReactMethod public void handleResponse(String response, Integer code, String url) { PerimeterX.INSTANCE.handleResponse(null, response, code); }
const json = await response.json(); PerimeterXModule.handleResponse(JSON.stringify(json), response.status, url);
Was this article helpful?