robodigital / cobrowseio_flutter Goto Github PK
View Code? Open in Web Editor NEWA Flutter plugin to make use of cobrowse.io. View your app running remotely on customer devices. Guide the user, or take remote control.
License: MIT License
A Flutter plugin to make use of cobrowse.io. View your app running remotely on customer devices. Guide the user, or take remote control.
License: MIT License
Hi,
So I've implemented this package yesterday & within the first couple of initializations in production I've got this error @ sentry:
java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.plugin.common.i.e(io.flutter.plugin.common.i$c)' on a null object reference
at i.a.a.a.b.onDetachedFromEngine(CobrowseIOFlutterPlugin.java:1)
at io.flutter.embedding.engine.d.w(FlutterEngineConnectionRegistry.java:24)
at io.flutter.embedding.engine.d.x(FlutterEngineConnectionRegistry.java:2)
at io.flutter.embedding.engine.d.y(FlutterEngineConnectionRegistry.java:1)
at io.flutter.embedding.engine.d.l(FlutterEngineConnectionRegistry.java:3)
at io.flutter.embedding.engine.b.e(FlutterEngine.java:4)
at io.flutter.embedding.android.f.t(FlutterActivityAndFragmentDelegate.java:14)
at io.flutter.embedding.android.e.onDestroy(FlutterActivity.java:4)
at android.app.Activity.performDestroy(Activity.java:8571)
at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1364)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5937)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5995)
at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:47)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8663)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.plugin.common.i.e(io.flutter.plugin.common.i$c)' on a null object reference
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5950)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5995)
at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:47)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8663)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
I honestly don't know how to reproduce this, but as soon as I find out something, I'll provide updates.
Thanks for this amazing package btw ❤
We would like to use 6 digit codes in our app to identify user devices so we can connect and help users who haven't fully set up accounts yet. Right now all it seems we can do is set up a user account and pass information from the user's account details to the plug in so that we can identify devices in the cobrowse dashboard. Are there any properties in the package right now for accessing the 6 digit codes generated for a device? We would like to display the identifying code to the user so they can pass it along to a support agent.
We are currently making use of the plug in our app and are able to generate screen share requests, provide data to the Cobrowse dashboard, and connect users to a session. However, on any phone that isn't a samsung model we seem to be getting odd screen results. On IOS we are seeing a wierd zoom in effect occurring but only on certain elements of the app:
and on a google pixel we are getting some strange kind of screen artifact, sometimes its flat colors, sometimes we can see a glimpse of the app ui.
Would it be possible to invoke the methods from this page https://docs.cobrowse.io/sdk-features/full-device-capabilities/full-device-remote-control in the documentation to see if user's have enabled the accessibility service need for full remote control of the device? We would also like to be able to rout them to the settings page mentioned here in a similar way.
Dear robo digital,
thanks for your awesome plugins for flutter. I integrated with following code in my project. I got promoted with permission as well & I accepted and got details in cobrowse.io dashboard. But I shows blurry screen most of the time in my free session. I don't know the reasons. Do you have the idea how to fix this issue?
String result = await CobrowseIO.start("*******", { 'custom_data_field': 'Test' });
I attached below image link for clarification.
We are currently making use of the plug in our app, The remote control tool (Hand) is NOT working on Flutter screens but for the native ones. For example: when we click on a button, it shows the grey point only just like the Lazer tool but the click actions are not captured in the app.
after the user has agreed to give me full remote control of their device on iOS it seems not to take any click while on android everything works correctly.
This is not happening until I upgraded Flutter framework version of my project from 2.2.1 to 2.8.1.
FYI, it happened on android devices, with Cobrowse SDK version 2.19.0 and I have tried updating the Cobrowse SDK version to the latest which is currently 2.23.0 but no luck.
I have tried to reach out to the Cobrowse Support team and they think the issue could be the flutter framework upgrade. Since they are not officially support for flutter app, so they actually mentioned that I can report the issue here.
Please advise. Thanks!
You can refer to the demo video here.
When I click on the button that should return the code nothing happens, while on android it works regularly, the strange thing is that the iOS device for which I do not have the code I find it among the devices available in my Cobrowse.io dashboard, I'm using the free license for the moment to do some tests. How can I solve? A thousand thanks
Google rejected my app because your cobrowse.io package uses
<service
android:name="io.cobrowse.CobrowseAccessibilityService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" />
I also had to send them a video where I showed that the authorization requests are shown to the user who can also refuse to have a device connected remotely but apparently it didn't help, how can I do it? A thousand thanks
Hi,
First of all, thanks for the amazing package 🔥
I've first encountered this two days ago, but I didn't pay much attention to it until last night when I took a look & noticed that CobrowseIO
is the culprit for the build fails 😁
To reproduce:
flutter pub get
flutter build ipa
Xcode output:
Showing Recent Issues
'Developer/Xcode/DerivedData/Runner-cmtxnobnlmvnhxdykohesxukkfmf/Build/Intermediates.noindex/ArchiveIntermediates/Runner/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/CobrowseIO/XCFramework/CobrowseIO.framework/CobrowseIO'
does not contain bitcode.
You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE),
obtain an updated library from the vendor, or disable bitcode for this target.
file 'Developer/Xcode/DerivedData/Runner-cmtxnobnlmvnhxdykohesxukkfmf/Build/Intermediates.noindex/ArchiveIntermediates/Runner/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/CobrowseIO/XCFramework/CobrowseIO.framework/CobrowseIO' for architecture arm64
Flutter doctor output:
[✓] Flutter (Channel stable, 3.3.2, on macOS 12.6 21G115 darwin-arm, locale
en-HR)
• Flutter version 3.3.2 on channel stable at /Users/ivan/Documents/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision e3c29ec00c (9 days ago), 2022-09-14 08:46:55 -0500
• Engine revision a4ff2c53d8
• Dart version 2.18.1
• DevTools version 2.15.0
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
• Android SDK at /Users/ivan/Library/Android/sdk
✗ cmdline-tools component is missing
Run `path/to/sdkmanager --install "cmdline-tools;latest"`
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for
more details.
[✓] Xcode - develop for iOS and macOS (Xcode 13.4)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 13F17a
• CocoaPods version 1.11.3
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2021.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build
11.0.13+0-b1751.21-8125866)
[✓] VS Code (version 1.71.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.48.0
[✓] Connected device (2 available)
• macOS (desktop) • macos • darwin-arm64 • macOS 12.6 21G115 darwin-arm
• Chrome (web) • chrome • web-javascript • Google Chrome 105.0.5195.125
[✓] HTTP Host Availability
• All required HTTP hosts are available
! Doctor found issues in 1 category.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.