React-Native-com.google.android.gms.common.api.ApiException:400:无法缩短简短的动态链接

时间:2020-04-01 11:05:08

标签: react-native react-native-android react-native-ios firebase-dynamic-links react-native-firebase

我正在研究本机动态链接功能。

我尝试使用以下代码创建链接:

EventBus.$once("changeRoute", payload => {
  this.myMethod();  //now is called just once
});

上述方法可完美运行。

但是,它给了我一个很长的链接, https://test.page.link//guestinvite?apn=com.test&ibi=com.test&isi=1498742044&link=https%3A%2F%2Ftest.page.link/%2Fguestinvite%2Fname%3Dtest

因此,为了缩短链接,我将firebase.dynamicLinks()。buildLink(....)替换为“ firebase.dynamicLinks()。shortLink({.....},” SHORT“)”“但是给我一个错误,

错误:[dynamicLinks / build-failed] com.google.android.gms.common.api.ApiException:400:无法缩短简短的动态链接:

所以有人可以建议我一种解决方法来创建一个短链接,例如“ com.test / guestinvite / abdgsyd”吗?

此外,如何轻松获取初始链接。

当前我正在使用以下链接,但无法从链接获取查询参数“名称”。

const generatedDynamicLink = await firebase.dynamicLinks().buildLink({
            link: `https://test.page.link/groupinvite/name=test`,
            domainUriPrefix: `https://test.page.link/groupinvite`,
            android: {
                packageName: 'com.test',
            },
            ios: {
                bundleId: 'com.test',
                appStoreId: '1546898245',
            },
        });

我正在使用以下依赖项:

componentDidMount() {
    dynamicLinks().getInitialLink().then((initialLink)=>{
    console.log('initialLink : ', initialLink.url);
    });
  }

谢谢。

1 个答案:

答案 0 :(得分:0)

this教程之后,他们采用了以下方法:

import dynamicLinks from '@react-native-firebase/dynamic-links';

const link = await dynamicLinks().buildLink({
  link: 'https://invertase.io',
  domainUriPrefix: 'https://xyz.page.link',
  analytics: {
    campaign: 'banner',
  }
});

在您的情况下,它将是:

import dynamicLinks from '@react-native-firebase/dynamic-links';

const generatedDynamicLink = await dynamicLinks().buildLink({
  link: `https://test.page.link/groupinvite/name=test`,
  domainUriPrefix: `https://test.page.link/groupinvite`,
  android: {
      packageName: 'com.test',
  },
  ios: {
      bundleId: 'com.test',
      appStoreId: '1546898245',
  }
});

我不知道这是否行得通,但我希望如此。

相关问题