я заставляю реагировать нативное приложение в ios для своего магазина. В моем приложении после того, как я заплачу деньги, я хочу вернуться к своему приложению. Я использую веб-просмотр для этого приложения, а для контроля веб-просмотра для возврата к своему приложению я использую событие URL onnavigatestatechange ,
мой код работает в эмуляторе сайта экспо, но он не работает в устройстве iphone, и я не могу вернуться после нажатия кнопки в веб-представлении.
пожалуйста, помогите мне.
import React, { Component } from "react";
import styles from "./../../assets/css/Login";
import {
View,
Text,
Image,
TextInput,
TouchableOpacity,
Alert,
ActivityIndicator,
AsyncStorage,
WebView,
Linking
} from "react-native";
import { Navigator } from "./../Navigator";
import { Header } from "react-native-elements";
import { Mobile } from "./Mobile";
export default class ShowOnline extends Component {
constructor() {
super();
this.state = {
isLoading: false
};
this.webView = null;
}
removeAllOrder() {
var formData = new FormData();
formData.append("type", "rmall");
formData.append("number", Mobile["Call"].name);
return fetch("http://roomarket.ir/LlIi1/user-order.php", {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: formData
})
.then(response => response.json())
.then(responseJson => {})
.catch(() => {
Alert.alert("error");
});
}
_onNavigationStateChange(webViewState) {
if (webViewState.url.trim() == "return://roomarketfactorsuccess") {
this.props.navigation.goBack();
Alert.alert("پرداخت با موفقیت انجام شد");
this.removeAllOrder();
this.props.navigation.navigate("MainPage");
} else if (webViewState.url.trim() == "return://roomarketfactorsuccess") {
this.props.navigation.goBack();
Alert.alert("پرداخت با موفقیت انجام نشد");
}
}
render() {
return (
<View style={{ flex: 1 }}>
<Header
leftComponent={{
icon: "arrow-back",
color: "#fff",
onPress: () => this.props.navigation.goBack()
}}
centerComponent={{ text: "پرداخت ", color: "white" }}
backgroundColor="#95DE5F"
/>
<WebView
ref={webView => (this.webView = webView)}
source={{
uri:
"http://factor.roomarket.ir/?number=09398691732&id=100"
}}
onNavigationStateChange={this._onNavigationStateChange.bind(this)}
startInLoadingState={true}
/>
</View>
);
}
}