Skip to content

firebase_dynamic_links buildShortLink() throws PlatformException on some devices #23207

@giorgiogross

Description

@giorgiogross

Steps to Reproduce

It took me some reinstalls of my own application until I was able to reproduce the error. In general everything works fine but on some devices (currently ~1% of my customers) creating a short dynamic link just fails. On iOS everything works fine for everyone so far. I thought I file an issue anyway so that you know about it, I'm not sure what's causing this:

  1. Add firebase_dynamic_links to your flutter app
  2. Build a short dynamic link with yourDynamicLinkParameters.buildShortLink()
    -> On some devices this will throw a PlatformException. Though I think it's device independent as I have customers with the same device and on one the call succeeds and on the other one it fails.

Logs

E/flutter (16766): [ERROR:flutter/shell/common/shell.cc(181)] Dart Error: Unhandled exception:
E/flutter (16766): PlatformException(short_link_error, 8: , null)
E/flutter (16766): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:551:7)
E/flutter (16766): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:279:18)
E/flutter (16766): <asynchronous suspension>
E/flutter (16766): #2      DynamicLinkParameters.buildShortLink (file:///Users/Giorgio/.pub-cache/hosted/pub.dartlang.org/firebase_dynamic_links-0.1.0+1/lib/src/dynamic_link_parameters.dart:99:10)
E/flutter (16766): <asynchronous suspension>
E/flutter (16766): #3      _createGroupInvitationLink (package:myapp/app_journeys.dart:235:62)
E/flutter (16766): <asynchronous suspension>
E/flutter (16766): #4      AppJourney.sharedTravel (package: myapp/app_journeys.dart:74:9)
E/flutter (16766): #5      Journey.commonTravel (package:flutter_built_redux_journeys/src/station.dart:206:11)
E/flutter (16766): <asynchronous suspension>
E/flutter (16766): #6      handleJourneyAction.<anonymous closure> (package:flutter_built_redux_journeys/src/middleware.dart:39:41)
E/flutter (16766): <asynchronous suspension>
E/flutter (16766): #7      Stream.asyncMap.onListen.<anonymous closure> (dart:async/stream.dart:441:29)
E/flutter (16766): #8      _RootZone.runUnaryGuarded (dart:async/zone.dart:1314:10)
E/flutter (16766): #9      CastStreamSubscription._onData (dart:_internal/async_cast.dart:81:11)
E/flutter (16766): #10     _RootZone.runUnaryGuarded (dart:async/zone.dart:1314:10)
E/flutter (16766): #11     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
E/flutter (16766): #12     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:263:7)
E/flutter (16766): #13     _ForwardingStreamSubscription._add (dart:async/stream_pipe.dart:132:11)
E/flutter (16766): #14     _WhereStream._handleData (dart:async/stream_pipe.dart:207:12)
E/flutter (16766): #15     _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:164:13)
E/flutter (16766): #16     _RootZone.runUnaryGuarded (dart:async/zone.dart:1314:10)
E/flutter (16766): #17     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
E/flutter (16766): #18     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:263:7)
E/flutter (16766): #19     _SyncBroadcastStreamController._sendData.<anonymous closure> (dart:async/broadcast_stream_controller.dart:387:20)
E/flutter (16766): #20     _BroadcastStreamController._forEachListener (dart:async/broadcast_stream_controller.dart:328:15)
E/flutter (16766): #21     _SyncBroadcastStreamController._sendData (dart:async/broadcast_stream_controller.dart:386:5)
E/flutter (16766): #22     _BroadcastStreamController.add (dart:async/broadcast_stream_controller.dart:254:5)
E/flutter (16766): #23     createEpicMiddleware.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:built_redux_rx/src/built_redux_rx.dart:38:18)
E/flutter (16766): #24     MiddlewareBuilder.build.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:built_redux/src/middleware.dart:72:21)
E/flutter (16766): #25     MiddlewareBuilder.build.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:built_redux/src/middleware.dart:72:21)
E/flutter (16766): #26     ActionDispatcher.call (package:built_redux/src/action.dart:32:29)
E/flutter (16766): #27     InviteToGroupPayload.onResponseReceived (package: myapp/actions/web_actions.dart:1122:19)
E/flutter (16766): #28     WebRequestJob.processResponse (package:built_redux_apollo11/src/request.dart:154:34)
E/flutter (16766): #29     Apollo11Middleware._executeWebRequests (package:built_redux_apollo11/src/middleware.dart:204:19)
E/flutter (16766): <asynchronous suspension>
E/flutter (16766): #30     Apollo11Middleware.webRequest (package:built_redux_apollo11/src/middleware.dart:170:7)
E/flutter (16766): #31     MiddlewareBuilder.add.<anonymous closure> (package:built_redux/src/middleware.dart:42:14)
E/flutter (16766): #32     MiddlewareBuilder.build.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:built_redux/src/middleware.dart:68:26)
E/flutter (16766): #33     MiddlewareBuilder.build.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:built_redux/src/middleware.dart:72:21)
E/flutter (16766): #34     ActionDispatcher.call (package:built_redux/src/action.dart:32:29)
E/flutter (16766): #35     GroupSettingsWidget._buildInviteSection.<anonymous closure> (package: myapp/platforms/group_settings_view.dart:50:33)
E/flutter (16766): #36     _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:503:14)
E/flutter (16766): #37     _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:558:30)
E/flutter (16766): #38     GestureRecognizer.

flutter analyze shows me only some unused imports and some warnings in my test files.

[✓] Flutter (Channel beta, v0.9.4, on Mac OS X 10.13.4 17E199, locale de-DE)
    • Flutter version 0.9.4 at /Users/Giorgio/Programmierung/flutter
    • Framework revision f37c235c32 (3 weeks ago), 2018-09-25 17:45:40 -0400
    • Engine revision 74625aed32
    • Dart version 2.1.0-dev.5.0.flutter-a2eb050044

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.0)
    • Android SDK at /Users/Giorgio/Library/Android/sdk
    • Android NDK at /Users/Giorgio/Library/Android/sdk/ndk-bundle
    • Platform android-27, build-tools 27.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.4.1, Build version 9F2000
    • ios-deploy 2.0.0
    • CocoaPods version 1.5.0

[✓] Android Studio (version 3.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 22.2.1
    • Dart plugin version 171.4424
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[!] IntelliJ IDEA Ultimate Edition (version 2017.3.5)
    • IntelliJ at /Users/Giorgio/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.io/intellij-setup/#installing-the-plugins

[!] VS Code (version 1.27.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[!] Connected devices
    ! No devices available

! Doctor found issues in 3 categories.

Metadata

Metadata

Assignees

No one assigned

    Labels

    c: crashStack traces logged to the consolep: firebase_dynamic_linksFirebase DynamicLinks pluginpackageflutter/packages repository. See also p: labels.platform-androidAndroid applications specifically

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions