首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与域名脱钩

与域名脱钩
EN

Stack Overflow用户
提问于 2021-02-23 06:12:50
回答 1查看 632关注 0票数 0

我的App.js中有以下代码

代码语言:javascript
复制
import React, { useState, useRef, useEffect } from 'react';
import { SafeAreaView, Text } from 'react-native';
import { NavigationContainer, useLinking } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';

const Stack = createStackNavigator();
const Screen1 = () => <SafeAreaView><Text>Screen1</Text></SafeAreaView>;
const Screen2 = () => <SafeAreaView><Text>Screen2</Text></SafeAreaView>;

export default function App() {
  const ref = useRef();
  const [isReady, setIsReady] = useState(false);
  const [initialState, setInitialState] = useState();
  const { getInitialState } = useLinking(ref, {
    prefixes: ['http://example.com', 'mychat://'],
    config: {
      screens: {
        Screen2: 'screen-2',
      },
    },
  });

  useEffect(() => {
    getInitialState().then((state) => {
      if (state !== undefined) setInitialState(state);

      setIsReady(true);
    });
  }, [getInitialState]);

  if (!isReady) return null;

  return (
    <NavigationContainer ref={ref} initialState={initialState}>
      <Stack.Navigator>
        <Stack.Screen name='Screen1' component={Screen1} />
        <Stack.Screen name='Screen2' component={Screen2} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}

其中大部分是从https://reactnavigation.org/docs/deep-linking/https://reactnavigation.org/docs/use-linking/复制的。

在文档中有prefixes: ['https://mychat.com', 'mychat://'],我只是将https://mychat.com更改为http://example.com。但似乎不起作用。

当我在Safari中打开以下链接时:

  • mychat:// (工作,被重定向到应用程序Screen1)
  • mychat://screen-2 (works,被重定向到app Screen2)
  • http://example.com )(只在浏览器中打开链接,没有弹出以重定向到app)

我需要做什么改变才能将域名重定向到移动应用程序?我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-23 09:11:46

您需要使用与服务器一起访问的域。

您的服务器需要托管几个文件,通常位于.well-known目录中:

  • apple-app-site-association (注意,.json不是needed)
  • assetlinks.json

你还需要在你的应用程序中为iOS启用一些权利,这对于安卓来说也是如此。在iOS上,这将在webcredentials:yourdomain.com条目旁边启用关联域权限

通过这些文档可以很好地理解需要做什么才能实现通用链接

示例:

https://stackoverflow.com/.well-known/apple-app-site-association

-

  • iOS
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66327978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档