如何在iOS上的React Native应用程序中将用户正确链接到App Store应用程序的评论页面?
答案 0 :(得分:21)
对于iOS,您必须将LSApplicationQueriesSchemes
作为数组参数添加到Info.plist
并向其中添加项目。
例如,对于AppStore链接,我使用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));
}
答案 1 :(得分:17)
使用Linking打开应用商店的网址。要构建正确的网址,请按照iOS和/或android的说明操作。 E.g。
Linking.openURL('market://details?id=myandroidappid')
或
Linking.openURL('itms://itunes.apple.com/us/app/apple-store/myiosappid?mt=8')
答案 2 :(得分:10)
这是类似的,它显示了一个警告框来更新应用程序,它会打开游戏商店或应用程序商店,具体取决于他们的设备操作系统。
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));
}
}},
]
);
}
答案 3 :(得分:3)
我正在使用此library。看起来还不错。您只需指定包名称和App Store ID并调用该函数即可。而且它也是跨平台的。
render() {
return (
<View>
<Button title="Rate App" onPress={()=>{
let options = {
AppleAppID:"2193813192",
GooglePackageName:"com.mywebsite.myapp",
AmazonPackageName:"com.mywebsite.myapp",
OtherAndroidURL:"http://www.randomappstore.com/app/47172391",
preferredAndroidMarket: AndroidMarket.Google,
preferInApp:false,
openAppStoreIfInAppFails:true,
fallbackPlatformURL:"http://www.mywebsite.com/myapp.html",
}
Rate.rate(options, (success)=>{
if (success) {
// this technically only tells us if the user successfully went to the Review Page. Whether they actually did anything, we do not know.
this.setState({rated:true})
}
})
} />
</View>
)
}
答案 4 :(得分:2)
其他一些答案很旧,不支持使用 iOS 10.3 (SKStoreReviewController
) 和 Android 5 (ReviewManager
) 中添加的应用内评论 API。如果您要在 2021 年为您的 React Native 应用添加评论,则最好使用这些评论(如果它们可用)。
Expo 提供了一个库 https://docs.expo.io/versions/latest/sdk/storereview/ ,如果用户的设备支持这些更新的 API,它将使用这些更新的 API,如果不支持,则回退到打开商店页面。
还有 https://github.com/KjellConnelly/react-native-rate 具有类似的功能,但有更多的配置选项。例如。您可以决定是否在部分或全部时间使用应用内 API(这可能是个好主意,因为应用内 API 对用户的摩擦要小得多,但您一次只能询问几次年)。
答案 5 :(得分:0)
使用第三方库,在ios中它正在打开iTunes,让我告诉您打开应用程序商店的确切方法。 您的第一件事应该是活的,并且可以在物理设备上运行(不保证模拟器)
const url = Platform.OS === 'android' ?
'https://play.google.com/store/apps/details?id=YOUR_APP_ID' : 'https://apps.apple.com/us/app/doorhub-driver/id_YOUR_APP_ID'
Linking.openURL(url)
您可以通过在appstore上搜索应用程序并复制该URL来找到ios链接。