Установить куки, чтобы реагировать - нативное веб-представление не работает на Android - PullRequest
0 голосов
/ 22 апреля 2020

Я использую «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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...