错误:400:您的项目不拥有动态链接域

问题描述 投票:0回答:6

我正在使用react-native-firebase创建动态链接,当我创建标准链接时一切正常,但是当我创建短链接时,它给出一个错误:“错误:400:您的项目不拥有动态链接领域”。有什么想法可以解决这个问题吗?

更新:问题仅出现在Android中,在IOS中工作正常

创建短动态链接的代码:

onClickShare= () => {
const link =
    new firebase.links.DynamicLink(redirectLink , Config.FIREBASE_CONFIG.dynamicLink)
      .android.setPackageName(Config.ANDROID_PACKAGE_NAME)
      .ios.setBundleId(Config.IOS_BUNDLE_ID)
      .ios.setAppStoreId(Config.IOS_APP_STORE_ID)
      .social.setDescriptionText(description)
      .social.setTitle(this.props.event.title)

      firebase.links()
      .createShortDynamicLink(link, 'SHORT')
      .then((url) => {
      Share.share({
        message: _('shareLinkMessage') + " " + url,
        title: _('shareLinkTitle'),
       }, {
        // Android only:
        dialogTitle:  _('shareLinkAndroid'),
        })
      }) 
react-native react-native-firebase
6个回答
8
投票

如果您收到此类错误,请更新您的

google-services.json
文件!


1
投票

在我的例子中(使用 Flutter),由于 DynamicLinkParameters 对象参数中的“uriPrefix”参数不正确,我收到此错误:

final DynamicLinkParameters parameters = DynamicLinkParameters(
      uriPrefix: your_page_link, //<-- this should be same as in your Firebase project
      link: Uri.parse(....),
      androidParameters: AndroidParameters(
        ....
      ),
      iosParameters: IOSParameters(
        ....
      ),
    ); 

请确保您的 uriPrefix 值设置正确。


0
投票

当您收到此错误时,这意味着您没有将动态链接域添加为 firebase 链接的格式。

您必须遵循以下格式:

在 android/app/src/main/AndroidManifest.xml 的 Activity 中添加:

<!-- Deep linking -->
<meta-data android:name='flutter _deeplinking_enabled' 
android:value="true" />
<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="http" android:host="<app_name.page.link>" />
<data android:scheme="https" />
</intent-filter>

并与动态链接代码中的甲酸酯同时添加。


0
投票
Try this method,

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

async function generateLink() {
const link = await dynamicLinks().buildLink({
link: 'valid domain url',
domainUriPrefix: 'valid domain url',
analytics: {
  content: 'your data',
},
});
console.log(link)
}

0
投票

请更新您的链接网址

https://yourDomain?WXYZ?d=1 

https://yourDomain/WXYZ?d=1 

As per allowed URL 
https://support.google.com/firebase/answer/9021429

-3
投票

如果您的 google-services.json 已更新,您可能尚未完成 npm install

© www.soinside.com 2019 - 2024. All rights reserved.