El paso a paso o código que hallarás en este artículo es la resolución más sencilla y efectiva que encontramos a esta inquietud o dilema.
Solución:
Utilice la vinculación para abrir la URL de la tienda de aplicaciones. Para construir la URL adecuada, siga las instrucciones para iOS y/o Android. P.ej
Linking.openURL('market://details?id=myandroidappid')
o
Linking.openURL('itms-apps://itunes.apple.com/us/app/apple-store/myiosappid?mt=8')
Para iOS tienes que agregar LSApplicationQueriesSchemes
como parámetro de matriz a Info.plist
y agregarle elementos.
Por ejemplo, a la vinculación de AppStore que uso itms-apps
como uno de los parámetros en este array.
Por ejemplo:
LSApplicationQueriesSchemes
itms-apps
Tu enlace debería ser así.
itms-apps://itunes.apple.com/us/app/id$APP_STORE_LINK_ID?mt=8
.
Bueno. Ahora tiene todo lo que tiene que hacer Vincular componente con método
handleClick ()
Linking.canOpenURL(link).then(supported =>
supported && Linking.openURL(link);
, (err) => console.log(err));
Esto es algo similar, muestra un cuadro de alerta para actualizar la aplicación y abre la tienda de juegos o la tienda de aplicaciones según el sistema operativo de su dispositivo.
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));
,
]
);