为什么我得到一些没有为动态链接定义的方法的错误?

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

我正在尝试为深层链接目的创建动态链接,但我收到了两种方法的这些错误,我不确定它们为什么会产生错误,因为这些方法是我搜索动态链接时使用的方法。是否有替代它们的方法,或者我应该如何更正代码?

错误信息:

没有为类型“DynamicLinkParameters”定义方法“buildShortLink”。 尝试将名称更正为现有方法的名称,或定义名为“buildShortLink”的方法。

没有为类型“DynamicLinkParameters”定义方法“buildUrl”。 尝试将名称更正为现有方法的名称,或定义名为“buildUrl”的方法。

代码:

import 'dart:js';

import 'package:firebase_dynamic_links/firebase_dynamic_links.dart';
import 'package:flutter/material.dart';
import 'package:myapp/providers/product_class.dart';
import 'package:url_launcher/url_launcher.dart';

class FirebaseDynamicLinkService{

  Future<String> _createDynamicLink(bool short, Product product) async {

    String _linkMessage='';
  bool _isCreatingLink = false;

    final DynamicLinkParameters parameters = DynamicLinkParameters(
      uriPrefix: 'https://myapp.page.link',
      link: Uri.parse(
        'https://myapp/product?id=${product.documentID}',
      ),
   //   link: Uri.parse(DynamicLink),
      androidParameters: const AndroidParameters(
        packageName: 'com.example.myapp',
        minimumVersion: 125,
      ),
    );

    Uri url;
    if (short) {
      final ShortDynamicLink shortLink =
          await parameters.buildShortLink();  // here shows error
      url = shortLink.shortUrl;
    } else {
      url = await parameters.buildUrl(); // here shows error
    }

    return _linkMessage;
  }

}

我期望代码不会为这些方法产生错误。

flutter firebase deep-linking dynamic-linking
1个回答
0
投票

你需要用建议的代码替换下面的代码

替换这个

if (short) {
      final ShortDynamicLink shortLink =
          await parameters.buildShortLink();  // here shows error
      url = shortLink.shortUrl;
    } else {
      url = await parameters.buildUrl(); // here shows error
    }

有了这个

if (short) {
      final ShortDynamicLink shortLink =
          await FirebaseDynamicLinks.instance.buildShortLink(parameters);  
      url = shortLink.shortUrl;
    } else {
      url = await FirebaseDynamicLinks.instance.buildLink(parameters);
    }

有关更多信息,请查看此https://firebase.google.com/docs/dynamic-links/flutter/create

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