TimmyRB / snapkit

SnapKit is a Flutter plugin that allows you to integrate Snapchat's own SDKs into your Flutter projects!
https://pub.dev/packages/snapkit
MIT License
30 stars 16 forks source link
flutter flutter-plugins snapchat snapchat-api

Snapkit

Pub Package Code Analysis Android Builds iOS Builds

A plugin that allows developers like you to integrate with Snapchat (using SnapKit) into your Flutter applications!

Getting Started

Follow the Wiki for steps on how to get setup in an existing project or just copy the example project into a directory of your choosing and rename it.

Usage

Create new Instance

Snapkit snapkit = new Snapkit();

AuthState Stream

snapkit.onAuthStateChanged.listen((SnapchatUser? user) {
    // Do something with the returned SnapchatUser or null here
});

AuthState Class

class MyAppState extends State<MyApp> implements SnapchatAuthStateListener {

  snapkit.addAuthStateListener(this);

  @override
  void onLogin(SnapchatUser user) {
    // Do something with the returned SnapchatUser here
  }

  @override
  void onLogout() {
    // Do something on logout
  }

}

Login

await snapkit.login();

// or

snapkit.login().then(user => {});

Logout

await snapkit.logout();

// or

snapkit.logout().then(() => {});

Verify a Phone Number

Returns a bool if Snapchat has verified the phone number, throws an error if there was a problem. Always returns false on Android

snapkit.verifyPhoneNumber('US', '1231234567')
  .then(isVerified {})
  .catchError((error, StackTrace stacktrace) {})

Share to Snapchat

Share to LIVE

snapkit.share(SnapchatMediaType.NONE,
  sticker: SnapchatSticker?,
  caption: String?,
  attachmentUrl: String?
);

Share with Background Photo

snapkit.share(SnapchatMediaType.PHOTO,
  image: ImageProvider,
  sticker: SnapchatSticker?,
  caption: String?,
  attachmentUrl: String?
);

Share with Background Video

Currently unavailable on Android

snapkit.share(SnapchatMediaType.VIDEO,
  videoUrl: String,
  sticker: SnapchatSticker?,
  caption: String?,
  attachmentUrl: String?
);

SnapchatSticker

new SnapchatSticker(
  image: ImageProvider
);