如果已安装,则将本机重定向到应用程序,否则到 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 但如果会话过期则将用户重定向到登录页面