5

我正在使用 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'),
        })
      }) 
4

3 回答 3

7

如果您收到此类错误,请更新您的google-services.json文件!

于 2018-09-20T09:14:53.203 回答
0

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

你必须遵循这个格式:<app_name.page.link>

在 android/app/src/main/AndroidManifest.xml 在活动中添加:

<!-- 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>

并在动态链接代码中与该格式 <app_name.page.link> 一起添加。

于 2022-01-07T12:34:41.847 回答
-2

如果您的 google-services.json 已经更新,您可能还没有完成 npm install

于 2021-02-04T06:20:16.060 回答