提问人:Mark Gaucher 提问时间:11/17/2023 更新时间:11/17/2023 访问量:30
是否可以将用户从 Chrome 自定义标签页重定向回 Android 应用程序?
Is it possible to redirect the user back to an Android application from a Chrome Custom Tab?
问:
我希望将现有的社交登录重定向 URL 从自定义 URL 协议 () 迁移到 https URL 方案 ()。此更改将在 React Native 项目中进行,但仅在 Android 应用程序中进行。我正在考虑使用 ,它使用 Chrome 自定义选项卡来实现 Android 功能。myscheme://
https://
expo-web-browser
在实践中,我遇到的是更新的重定向 URL 在 中正确打开,但承诺未正确解析(并且浏览器窗口未关闭)。如果我在默认的 Chrome 浏览器中打开社交登录链接,则相同的流程会按预期工作,但系统会提示用户选择是在应用还是浏览器中打开该链接(流程中不需要的步骤)。我很好奇这是否是自定义选项卡的限制,或者我的设置中是否缺少某些内容。https://
expo-web-browser
openAuthSessionAsync
expo-web-browser
// this is how I make the call to openAuthSessionAsync (opens a Chrome Custom Tab)
WebBrowser.openAuthSessionAsync('social-login-url', 'https://foo.bar/xxx', {
preferEphemeralSession: true, // iOS only
});
// this is the intent-filter in the AndroidManifest.xml file
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="foo.bar" android:path="/xxx" />
</intent-filter>
我已经尝试过两者,这让我认为我要么没有在文件中正确设置某些内容,要么自定义选项卡根本不支持这种行为。expo-web-browser
react-native-inappbrowser-reborn
AndroidManifest
预期是,如果我提供对身份验证流的重定向,则自定义选项卡将被关闭,并且在身份验证完成后,用户将被重定向到相应的深层链接。实际结果是用户返回到“自定义”选项卡中的 URL,从而呈现 Web 应用。https://
https://
答: 暂无答案
评论