2016-02-24 7 views

उत्तर

12

आईओएस के लिए आप Info.plist को सरणी परम रूप LSApplicationQueriesSchemes जोड़ने और इसे करने के लिए आइटम जोड़ने के लिए है।

उदाहरण के लिए ऐपस्टोर लिंकिंग के लिए मैं itms-apps का उपयोग इस सरणी में पैराम्स में से एक के रूप में करता हूं।

आपका लिंक इस

itms-apps://itunes.apple.com/us/app/id${APP_STORE_LINK_ID}?mt=8 की तरह होना चाहिए।

ठीक है। अब आपके पास विधि

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

देखें ध्यान दें कि 'LSApplicationQueriesSchemes' केवल आईओएस 9 + के लिए निर्माण करते समय आवश्यक है: http://facebook.github.io/react-native/docs/linking.html#canopenurl –

+0

आईओएस सिम्युलेटर में Play Store इंस्टॉल नहीं है, तो यह हमेशा सिमुला पर असफल रहेगा टो। आपको एक वास्तविक डिवाइस पर परीक्षण करने की आवश्यकता है। –

5

ऐप स्टोर में यूआरएल खोलने के लिए Linking का उपयोग करें। उचित यूआरएल बनाने के लिए, iOS और/या android के लिए निर्देशों का पालन करें। जैसे

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

या

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

डाउनवोट के साथ लिंक घटक करने के लिए सभी चीजें हैं? क्या यह काम नहीं करता है? –

+0

यह ठीक काम करना चाहिए, लेकिन आईओएस 9 + के लिए निर्माण करते समय, आपको यहां वर्णित अनुसार 'LSApplicationQueriesSchemes' जोड़ने की आवश्यकता है: http://facebook.github.io/react-native/docs/linking.html#canopenurl –

+1

आईओएस सिम्युलेटर Play Store इंस्टॉल भी नहीं है, इसलिए यह हमेशा सिम्युलेटर पर असफल रहेगा :( –

3

यह कुछ इसी तरह है, यह एप्लिकेशन को अपडेट करने में चेतावनी बॉक्स से पता चलता है और यह Play स्टोर या अपने डिवाइस ओएस के आधार पर app की दुकान खोलता है।

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)); 
       } 
      }}, 
     ] 
    ); 
} 
+0

'mt = 8' क्या करता है? मुझे आश्चर्य है कि यह क्षेत्र विशिष्ट और आवश्यक है? –

+1

@AnshulKoka, mt" मीडिया टाइप "और वैल्यू 8" मोबाइल सॉफ्टवेयर एप्लीकेशन "से मेल खाता है। अधिक जानकारी के लिए https://stackoverflow.com/questions/1781427/what-is-mt-8-in-itunes-links-for-the-appstore – mihai1990

संबंधित मुद्दे