如果已安装,则将本机重定向到应用程序,否则到 App Store 或 PlayStore

Posted

技术标签:

【中文标题】如果已安装,则将本机重定向到应用程序,否则到 App Store 或 PlayStore【英文标题】:React Native Redirect to application if installed, otherwise to App Store or PlayStore 【发布时间】:2021-02-09 11:53:40 【问题描述】:

我想在按下应用链接时重定向为:-

    如果未安装应用,则转到 Playstore 或 AppStore。 如果已安装应用,请打开我的应用(带有深层链接)。

到目前为止我做了什么:-

我已经使用反应导航 5 的深度链接实现了要求 2。 如:-

import constants from '../../constants';

 const config = 
screens: 
    //SignInScreen: "SignInScreen",
    SignupScreen: 
        path: `$constants.Screens.SignUpScreen.name/:id`,
        parse: 
            id: (id) => `$id`,
        ,
    
,
 ;

 const linking = 
prefixes: ["http://com.app"],
config,
  ;

 export default linking;

App.js:-

<NavigationContainer linking=linking ref=navigationRef>
        
            props.global.switchApp.isLoading ?
                <SplashStack />
                :
                (
                    props.global.user.accessToken !== null ?
                        <AppStack /> :
                        <AuthStack />
                )
        
    </NavigationContainer>

androidManifest.xml 的相应更改为:-

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data
      android:host="com.app"
      android:scheme="http" />
  </intent-filter>

并在项目的target 中添加url type

Appdelegate.m 文件中为:-

- (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
        options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options 

 // Add any custom logic here.
 BOOL deepLinking =  [RCTLinkingManager application:application openURL:url options:options];
return  deepLinking;

如何在使用此功能时达到要求 1?

谢谢!!!

【问题讨论】:

【参考方案1】:

要打开应用或打开应用商店或 Play 商店,如果未安装应用,请点击应用链接,尝试使用 Firebase 动态链接功能。

查看文档了解更多信息。

https://rnfirebase.io/dynamic-links/usage

【讨论】:

以上是关于如果已安装,则将本机重定向到应用程序,否则到 App Store 或 PlayStore的主要内容,如果未能解决你的问题,请参考以下文章

如果未使用 C# 登录 ASP.NET Web 表单,则将用户重定向到登录

Android 应用程序中的 Facebook 登录正在重定向到本机 Facebook Android 应用程序

如果提供了任何命令行参数,则将打印语句输出重定向到文件

使用protect_from_forgery with: :exception 但如果会话过期则将用户重定向到登录页面

如果在 django 的 urls.py 中找不到,则将任何 url 重定向到 404.html

如何根据符合特定条件的国家/地区代码重定向URL