JOIN Stories Flutter SDK

A Flutter plugin for integrating JOIN Stories into your Flutter applications.

Features

  • Initialize the JOIN Stories SDK with your team ID
  • Start and dismiss story players
  • Support for both Android and iOS platforms
  • Monolithic architecture for easy deployment
  • Full compatibility with Flutter 3.0.0+ and Dart 2.17.0+

Compatibility

  • Flutter: 3.0.0+ (tested up to 3.13.6)
  • Dart SDK: 2.17.0+ (tested up to 3.1.3)
  • iOS: 12.0+
  • Android: API 21+ (Android 5.0)

For detailed compatibility information, see COMPATIBILITY.md and COMPATIBILITY_SUMMARY.md.

Installation

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

dependencies:
  join_stories_flutter: ^0.0.1

Requirements

  • Flutter 3.0.0 or higher
  • Dart 2.17.0 or higher
  • iOS 12.0 or higher
  • Android API 21 or higher

Quick Test

To verify compatibility with your Flutter version:

# Clone the repository
git clone https://github.com/joinstories/join_stories_flutter.git
cd join_stories_flutter

# Run compatibility tests
./test_compatibility.sh

Usage

1. Initialize the SDK

import 'package:join_stories_flutter/join_stories_flutter.dart';

// Initialize with team ID only
await JOINStories.initialize(teamId: 'your-team-id');

// Or initialize with team ID and API key
await JOINStories.initialize(
  teamId: 'your-team-id',
  apiKey: 'your-api-key',
);

2. Start a Story Player

// Start player with a specific alias
await JOINStories.startPlayer('your-story-alias');

3. Dismiss the Player

// Dismiss the currently open player
await JOINStories.dismissPlayer();

Platform Setup

Android

Add the JOIN Stories Android SDK dependency to your android/app/build.gradle:

dependencies {
    implementation 'com.joinstoriessdk:androidsdk:1.0.0' // Replace with actual version
}

iOS

Add the JOIN Stories iOS SDK dependency to your ios/Podfile:

pod 'JOINStoriesSDK', '~> 1.0.0' # Replace with actual version

Then run:

cd ios && pod install

Example

See the example/ directory for a complete example application.

License

This project is licensed under the MIT License - see the LICENSE file for details.