Как сделать ссылку "Оценить это приложение" в приложении React Native?

Как правильно привязать пользователя к странице отзывов в приложении App Store в приложении React Native на iOS?

Ответы

Ответ 1

Для iOS вам нужно добавить LSApplicationQueriesSchemes как параметр Array в Info.plist и добавить к нему элементы.

Например, для привязки к AppStore я использую itms-apps как один из параметров в этом массиве.

Ваша ссылка должна быть такой

itms-apps://itunes.apple.com/us/app/id${APP_STORE_LINK_ID}?mt=8.

Ну. Теперь у вас есть все, что можно сделать с компонентом Link с помощью метода

handleClick () {
    Linking.canOpenURL(link).then(supported => {
        supported && Linking.openURL(link);
    }, (err) => console.log(err));
}

Ответ 2

Используйте Linking, чтобы открыть URL-адрес магазина приложений. Чтобы построить правильный URL-адрес, следуйте инструкциям iOS и/или android. Например.

Linking.openURL('market://details?id=myandroidappid')

или

Linking.openURL('itms://itunes.apple.com/us/app/apple-store/myiosappid?mt=8')

Ответ 3

Это нечто похожее, оно показывает окно предупреждения для обновления приложения и открывает магазин воспроизведения или магазин приложений в зависимости от их устройств.

function updateAppNotice(){
     const APP_STORE_LINK = 'itms://itunes.apple.com/us/app/apple-store/myiosappid?mt=8';
     const PLAY_STORE_LINK = 'market://details?id=myandroidappid';
     Alert.alert(
        'Update Available',
        'This version of the app is outdated. Please update app from the '+(Platform.OS =='ios' ? 'app store' : 'play store')+'.',
        [
            {text: 'Update Now', onPress: () => {
                if(Platform.OS =='ios'){
                    Linking.openURL(APP_STORE_LINK).catch(err => console.error('An error occurred', err));
                }
                else{
                    Linking.openURL(PLAY_STORE_LINK).catch(err => console.error('An error occurred', err));
                }
            }},
        ]
    );
}