React Native Linking 如何未卜先知打开应用在

作者: 目标全栈 | 来源:发表于2017-10-30 17:10 被阅读225次

    [图片上传中。。。(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=<package_name>
      其中<package_name>是你的应用包名你可以在项目中的Android的AndroidManifest.xml中找到,具体在这里:
      image.png
      整个替换掉<package_name>就可以了。
      一般你这样写也是没问题的market://details?id=<package_name>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但到里面却提示连接错误,看来这个是不对的。
      之后我又继续在网上找,然后找到了这个,恍然大悟:
    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开发中遇到的坑,喜欢的话点个关注。

    相关文章

      网友评论

      • JamesSawyer:请问用RN怎么打开AppStore 和 其它一些应用市场呢?
        目标全栈:https://blog.csdn.net/imanapple/article/details/50161297
        请参考这个

      本文标题:React Native Linking 如何未卜先知打开应用在

      本文链接:https://www.haomeiwen.com/subject/plzppxtx.html