React Native Linking 如何未卜先知打开应用在Appstore和Google play的地址

[图片上传中。。。(1)]项目要上AppStore和Google play了但应用中有一个评分系统需要做,这个功能用linking做是没问题的,但如何在app发布之前就拿到正确的地址就有点麻烦了,下面分享正确的方法:

  • Android
    Android的链接刚开始的时候我并不知道怎么做,百度搜不到rn怎么写,偶然看到国外的网站上有说rn的linking是已经封装好的,所以就去找Android的开发文档,果然找到这篇:https://developer.android.com/distribute/marketing-tools/linking-to-google-play.html,这里写了Android的各种链接Google play的方法。其中链接到Google play的方法就是:
    http://play.google.com/store/apps/details?id=
    其中是你的应用包名你可以在项目中的Android的AndroidManifest.xml中找到,具体在这里:
    image.png

    整个替换掉就可以了。
    一般你这样写也是没问题的market://details?id=market:// 是直接启动 Play 商店应用以加载目标网页。http://是会让用户选择是启动 Play 商店应用还是启动浏览器来处理请求。如果选择通过浏览器处理请求,它会在 Google Play 网站上加载目标网页。http://这样更具有灵活性。
  • ios
    ios这个就厉害了,开始的时候我找到这个方法:url = 'itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?mt=8&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software&id=APP_ID'
    把后面的APP_ID改为你在苹果开发者账号填写信息时拿到的id就可以了,我试着做的时候却发现这样只能打开AppStore但到里面却提示连接错误,看来这个是不对的。
    之后我又继续在网上找,然后找到了这个,恍然大悟:

React Native Linking 如何未卜先知打开应用在Appstore和Google play的地址_第1张图片
image.png

原来我之前找到的是ios7.0以下使用的方法,瞬间泪流满面,苹果爸爸就是任性。用了这个之后果然我的测试机可以进入AppStore了,打包上传蒲公英测试。但在我用自己用的ios11系统的iPhone上时,懵逼了,竟然还是链接错误。
幸运的是之前我在写image-picker的时候就遇到过ios11的相机权限和和ios10之前的权限不一样(有兴趣的话可以翻一下我之前写的文章),我就在想ios11是不是把链接也改了?于是我就试着搜了一下,果然这样写才对:
itms-[apps://itunes.apple.com/cn/app/idXXXXXX?mt=8&action=write-review],中间的xxx换成你的id。
终于在ios11也可以打开评论页了,并且这个是向下兼容的,这样写基本可以兼容所有系统。
写完这个之后对苹果的认知又高了一个境界,苹果:有权限就是可以为所欲为.jpg
技术一直在更新,如果你需要找某个地方的知识最好用更新时间来排个序,去掉已经过时的方法。
我会持续更新在react native开发中遇到的坑,喜欢的话点个关注。

你可能感兴趣的:(React Native Linking 如何未卜先知打开应用在Appstore和Google play的地址)