Я использую «response-native-webview»: «^ 8.1.2» и сохраняю куки, используя Reaction-native-cook ie, он отлично работает на iOS, но для Android он не работает правильно, и я должен войти в систему каждый раз, когда я запускаю приложение.
componentDidMount() {
AsyncStorage.getItem('cookie')
.then(d => {
if (d) {
CookieManager.setFromResponse(
baseUrl,
d,
).finally(() => this.setState({loading: false}));
}
})
.finally(() => this.setState({loading: false}));
}
injectedJavaScript = () => {
return "window.ReactNativeWebView.postMessage(document.cookie); ga('send', 'event', 'NewApp', 'Open', 'Tracking');";
};
onMessage = ({nativeEvent: {data}}) => {
if (data.includes('user-login')) {
AsyncStorage.setItem('cookie', data);
CookieManager.setFromResponse(baseUrl, data)
.then(
console.log.bind(
'Done',
CookieManager.get(baseUrl).then(
console.log.bind(console, 'Managed'),
),
),
)
.catch(console.log.bind(console, 'Failed'));
}
};
render() {
if (this.state.loading) return null;
return (
<>
<WebView
ref={this.webView}
key={this.state.url}
source={{uri: this.state.url}}
onMessage={this.onMessage}
injectedJavaScript={this.injectedJavaScript()}
thirdPartyCookiesEnabled
sharedCookiesEnabled
/>
</>
);
}
Я прочитал много ссылок, доступных для этой проблемы, и пробует их все, но все еще не могу установить куки для android и отлично работает на iOS.