Come collegare correttamente una pagina utente a recensioni nell'app App Store nell'applicazione React Native su iOS?Come creare un link "Valuta questa app" nell'app React Native?
risposta
Per iOS si deve aggiungere LSApplicationQueriesSchemes
come array param per Info.plist
e aggiungere elementi ad esso.
Ad esempio per il collegamento AppStore Io uso itms-apps
come uno dei parametri in questo array.
vostro collegamento dovrebbe essere simile a questo
itms-apps://itunes.apple.com/us/app/id${APP_STORE_LINK_ID}?mt=8
.
Bene. Ora hai tutto da fare Link componente con metodo
handleClick() {
Linking.canOpenURL(link).then(supported => {
supported && Linking.openURL(link);
}, (err) => console.log(err));
}
Utilizzare Linking per aprire l'URL nell'app store. Per creare l'URL corretto, seguire le istruzioni per iOS e/o android. Per esempio.
Linking.openURL('market://details?id=myandroidappid')
o
Linking.openURL('itms://itunes.apple.com/us/app/apple-store/myiosappid?mt=8')
Perché il downvote? Non funziona? –
Questo dovrebbe funzionare, ma quando si sta sviluppando per iOS 9+, è necessario aggiungere 'LSApplicationQueriesSchemes' come descritto qui: http://facebook.github.io/react-native/docs/linking.html#canopenurl –
Il simulatore iOS inoltre non ha installato Play Store, quindi sul simulatore non funzionerà mai :( –
Si tratta di qualcosa di simile, mostra una finestra di avviso per aggiornare l'applicazione e si apre il Play Store o App Store a seconda del loro sistema operativo del 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));
}
}},
]
);
}
Cosa fa 'mt = 8'? Mi chiedo se questa è specifica della regione e necessaria? –
@AnshulKoka, mt sta per" Tipo di supporto "e il valore 8 corrisponde a" Applicazioni software mobile ". Per ulteriori informazioni, consultare https://stackoverflow.com/questions/1781427/what-is-mt-8-in-itunes-links-for-the-appstore – mihai1990
Si noti che 'LSApplicationQueriesSchemes' è necessario solo quando si crea iOS 9+: http://facebook.github.io/react-native/docs/linking.html#canopenurl –
Anche il simulatore iOS non ha installato il Play Store, quindi questo fallirà sempre sulla simulazione tor. Devi testare su un dispositivo reale. –