snapfeed 0.1.0+1

  • Readme
  • Changelog
  • Example
  • Installing
  • 93

Snapfeed Logo

Snapfeed Beta #

Pub Build Website

Hey there and thanks for checking out the Snapfeed Beta 🎉 Snapfeed is probably the easiest and most convenient way to capture in-app user feedback, wishes, ratings and much more. The SDK is completely written in Dart and runs on Android, iOS, Desktop and the Web. For more info, head over to snapfeed.dev.

Getting Started #

In order to get started, you need to create an account at snapfeed.dev - you do this by simply signing in with a valid Google account.

Creating a new project #

Step 1

After signing in you should land on the projects screen where you can find all your current Snapfeed projects. Click on Create new project and choose a name for it. Be creative. You can use whatever name you want 🦄

Now your new project has been created! On the Settings page you will find your API credentials, namely the project id and secret. You will need to provide those for configuring the SDK.

Step2

Setting up your Flutter project #

After successfully creating a new project in the Snapfeed admin console it's time to add Snapfeed to your app. Simply open your pubspec.yaml file and add the current version of Snapfeed as a dependency, e.g. snapfeed: 0.1.0. Make sure to get the newest version.

Now get all pub packages by clicking on Packages get in your IDE or executing flutter packages get inside your Flutter project.

Head over to the main entry point of your app which most likely resides inside main.dart. In here wrap your root widget inside a Snapfeed widget and provide your API credentials as parameters. That was already the hard part 🙌

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Snapfeed(
      projectId: "YOUR-PROJECT-ID",
      secret: "YOUR-SECRET",
      child: MaterialApp(
        title: 'Flutter Demo',
        home: ...
      ),
    );
  }  
}

Now you can call Snapfeed.of(context).startFeedback() from anywhere inside your app to start the feedback process!

Android / iOS specific setup #

Snapfeed is by design written in Dart and thus does not have any native dependencies. However, when running on Android it needs the internet permission (for sending user feedback back to you). If you already use Flutter in production, chances are quite high that you already added the internet permission to the manifest - if not, add the following line to the AndroidManifest.xml in your Android project folder:

<manifest ...>
 <uses-permission android:name="android.permission.INTERNET" />
 <application ...
</manifest>

That's it!

License #

Snapfeed is released under the Attribution Assurance License. See LICENSE for details.

[0.1.0] - Private Beta #

  • Private Beta testing is here 🎉

example/README.md

Snapfeed Example #

This project uses the default Flutter sample project and adds the Snapfeed widget to enable interactive user feedback - luckily that's easy as 1-2-3 🎉

What are the differences from the official Flutter sample? #

Inside main.dart the default MaterialApp is now a child of Snapfeed. It's important that Snapfeed sits at the root of your application for it to function properly.

We also added an IconButton as the only action to the AppBar which serves as the trigger for the feedback routine. In its callback it calls Snapfeed.of(context).startFeedback() to launch Snapfeed.

Running the Sample #

  1. Create a new Snapfeed project on snapfeed.dev.
  2. Make sure to add your own API credentials to the Snapfeed widget inside main.dart.
  3. Run the sample by typing flutter run into a console window inside the example folder.
  4. Inside the sample app, tap the ? button on the top right to launch Snapfeed.
  5. Get creative and write / draw your first feedback 🖌

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  snapfeed: ^0.1.0+1

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:snapfeed/snapfeed.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
86
Health:
Code health derived from static analysis. [more]
99
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
93
Learn more about scoring.

We analyzed this package on Feb 27, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.1
  • pana: 0.13.5
  • Flutter: 1.12.13+hotfix.8

Health suggestions

Fix lib/src/snapfeed_widget.dart. (-1 points)

Analysis of lib/src/snapfeed_widget.dart reported 2 hints:

line 59 col 17: 'ancestorStateOfType' is deprecated and shouldn't be used. Use findAncestorStateOfType instead. This feature was deprecated after v1.12.1..

line 59 col 43: 'TypeMatcher' is deprecated and shouldn't be used. TypeMatcher has been deprecated because it is no longer used in framework(only in deprecated methods). This feature was deprecated after v1.12.1..

Fix lib/src/common/config/config_container.dart. (-0.50 points)

Analysis of lib/src/common/config/config_container.dart reported 1 hint:

line 22 col 15: 'inheritFromWidgetOfExactType' is deprecated and shouldn't be used. Use dependOnInheritedWidgetOfExactType instead. This feature was deprecated after v1.12.1..

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.5.0 <3.0.0
flutter 0.0.0
http ^0.12.0 0.12.0+4
http_parser ^3.1.0 3.1.3
Transitive dependencies
async 2.4.0
charcode 1.1.3
collection 1.14.11 1.14.12
meta 1.1.8
path 1.6.4
pedantic 1.9.0
sky_engine 0.0.99
source_span 1.6.0
string_scanner 1.0.5
term_glyph 1.1.0
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test
lint ^0.3.0