/flutter_publitio

A flutter wrapper for publitio Android and iOS SDKs

Primary LanguageDartOtherNOASSERTION

Publit.io plugin for Flutter

A Flutter plugin that wraps the native Publit.io API SDKs, for hosting and managing media assets (videos and images).

Security warning

This method stores your publitio API key and secret on the client. This has security implications. Unless you're OK with all your files being theoretically available to all clients to view and modify, you should either call publitio from the server side (without this plugin), or use a method that supports serverless auth like I describe here

Getting started

See the example directory for a complete sample app showing video upload and playback. Works on iOS and Android.

For a more advance example, check out https://github.com/syonip/flutter_video_sharing

To run the example app you'll need credentials:

  1. Create a free account at Publit.io, and get your credentials from the dashboard.
  2. Put your API key and secret in example/ios/Runner/Info.plist, and in example/lib/main.dart (replace the text "YOUR_API_KEY" and "YOUR_API_SECRET" respectively)
  3. Run the example by typing flutter run from the example directory.

Usage

Add flutter_publitio as a dependency in your pubspec.yaml.

Configure

await FlutterPublitio.configure("YOUR_API_KEY", "YOUR_API_SECRET");

Upload

final uploadOptions = {
    "privacy": "1", // Marks file as publicly accessible
    "option_download": "1", // Can be downloaded by anyone
    "option_transform": "1" // Url transforms enabled
};
final response = await FlutterPublitio.uploadFile("file path", uploadOptions);

print(response["url_preview"]);

Features

This plugin currently supports the uploadFile function. If you need more functions, please let me know by opening an issue (or make a PR 😜)