0

I'm looking to get a shortlink when using Firebases dynamic links using this code from their documentation:

Task shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
        .setLink(Uri.parse("https://example.com/"))
        .setDynamicLinkDomain("abc123.app.goo.gl")
        // Set parameters
        // ...
        .buildShortDynamicLink()
        .addOnCompleteListener(this, new OnCompleteListener() {
            @Override
            public void onComplete(@NonNull Task task) {
                if (task.isSuccessful()) {
                    // Short link created
                    Uri shortLink = task.getResult().getShortLink();
                    Uri flowchartLink = task.getResult().getPreviewLink();
                } else {
                    // Error
                }
            }
        });

Here is the doc from where the code came from. Whats the quick fix? I've tried fiddling with imports with not much success.

Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807
user481610
  • 3,230
  • 4
  • 54
  • 101

1 Answers1

2

You (and the documentation!) need to add the type parameter ShortDynamicLink to the Tasks:

Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
    .setLink(Uri.parse("https://example.com/"))
    .setDynamicLinkDomain("abc123.app.goo.gl")
    // Set parameters
    // ...
    .buildShortDynamicLink()
    .addOnCompleteListener(new OnCompleteListener<ShortDynamicLink>() {
        @Override
        public void onComplete(@NonNull Task<ShortDynamicLink> task) {
            if (task.isSuccessful()) {
                // Short link created
                Uri shortLink = task.getResult().getShortLink();
                Uri flowchartLink = task.getResult().getPreviewLink();
            } else {
                // Error
            }
        }
    });
Bob Snyder
  • 37,759
  • 6
  • 111
  • 158