Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我已经构建了一个react原生应用程序。我正在迪拜地区限制此应用程序_Android_Ios_React Native - Fatal编程技术网

Android 我已经构建了一个react原生应用程序。我正在迪拜地区限制此应用程序

Android 我已经构建了一个react原生应用程序。我正在迪拜地区限制此应用程序,android,ios,react-native,Android,Ios,React Native,我正在构建一个react本地应用程序。该应用程序在迪拜的使用受到限制 通过分别更改ios和android应用商店和google play控制台中的设置,可以限制该应用在某些国家/地区的使用。在这种情况下,用户在新加坡下载应用程序,然后移动到迪拜。他还能访问该应用程序吗?如果是,我如何防止这种情况 如果用户在某个国家/地区下载应用程序,然后移动到受限制的国家/地区,则应无法访问该应用程序 Install & import axios from npm 使用国家名称和国家代码初始化组件状态

我正在构建一个react本地应用程序。该应用程序在迪拜的使用受到限制

通过分别更改ios和android应用商店和google play控制台中的设置,可以限制该应用在某些国家/地区的使用。在这种情况下,用户在新加坡下载应用程序,然后移动到迪拜。他还能访问该应用程序吗?如果是,我如何防止这种情况

如果用户在某个国家/地区下载应用程序,然后移动到受限制的国家/地区,则应无法访问该应用程序

Install & import axios from npm
使用国家名称和国家代码初始化组件状态

constructor(props) {
    super(props);
    this.state = {
        countryName: '',
        countryCode: ''
    }
}
将此函数添加到组件中

getGeoInfo = () => {
    axios.get('https://ipapi.co/json/').then((response) => {
        let data = response.data;
        this.setState({
            countryName: data.country_name,
            countryCode: data.country_calling_code
        });
    }).catch((error) => {
        console.log(error);
    });
};
并调用此.getGeoInfo()将国家名称和国家代码设置为您所在的州。我从componentDidMount()中调用了它


检查country Dubai并在此处阻止它

处理此问题的一种方法是通过应用程序的后端。我将在我们的应用程序中告诉您我们是如何做到这一点的。每次应用程序启动时,我们都会给后端打一个身份验证电话,以获取有关用户状态的信息。我们还发送该呼叫中用户的当前IP。后端然后读取该IP,并检查该IP是否属于允许该应用运行的区域。如果没有,则身份验证调用只发送状态代码为4xx或类似的响应,然后在应用程序中处理,并向用户显示适当的消息


如果你没有后端,你也可以在你的应用程序中检查。只需获取IP并编写一个逻辑来查找区域。

获取他的位置并显示一个弹出窗口来限制使用。
componentDidMount(){
    this.getGeoInfo();
}