storifyme_flutter 2.2.3 copy "storifyme_flutter: ^2.2.3" to clipboard
storifyme_flutter: ^2.2.3 copied to clipboard

outdated

StorifyMe Flutter SDK is the official SDK from StorifyMe GmbH that helps you add stories to your Flutter app.

example/lib/main.dart

import 'dart:async';
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:storifyme_flutter/ad_event_listener.dart';
import 'package:storifyme_flutter/storifyme_flutter.dart';
import 'package:storifyme_flutter/util/storify_me_story_audio_options.dart';
import 'package:storifyme_flutter/util/storify_me_story_playback_options.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const StorifyMeFlutterDemoApp());
}

class StorifyMeFlutterDemoApp extends StatefulWidget {
  const StorifyMeFlutterDemoApp({super.key});

  @override
  State<StorifyMeFlutterDemoApp> createState() =>
      _StorifyMeFlutterDemoAppState();
}

class _StorifyMeFlutterDemoAppState extends State<StorifyMeFlutterDemoApp>
    with NativeEventListener, StorifyMeAdEventListener {
  final _storifyMeFlutterPlugin = StorifyMeFlutterPlugin();

  @override
  void initState() {
    super.initState();
    initPlatformState();
  }

  // Platform messages are asynchronous, so we initialize in an async method.
  Future<void> initPlatformState() async {
    try {
      await _storifyMeFlutterPlugin.initPlugin({
        Params.API_KEY_ID: 'API_KEY',
        Params.ACCOUNT_ID_KEY: 'ACCOUNT_ID',
        Params.ENVIRONMENT_KEY: 'EU'
      });
      _storifyMeFlutterPlugin.setEventListener(this);
      _storifyMeFlutterPlugin.setAdEventListener(this);
    } on PlatformException {
      debugPrint('Failed to get platform version.');
    }
  }

  @override
  Widget build(BuildContext context) {
    // Your widgets that you want to show
    final widgetIds = [1, 2];
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('StorifyMe Flutter Demo'),
        ),
        body: SingleChildScrollView(
          scrollDirection: Axis.vertical,
          child: Column(
            children: Platform.isAndroid
                ? [
                    SizedBox(
                      height: 180,
                      child: StoriesViewWidget(
                        widgetId: 1,
                        playbackOptions: StorifyMeStoryPlaybackOptions(
                            behaviour: StorifyMeStoryPlaybackBehaviour
                                .alwaysResumeStoryWhereStopped),
                        audioOptions: StorifyMeStoryAudioOptions(
                            behaviour: StorifyMeStoryAudioBehaviour
                                .applyChangeForPresentedStories,
                            defaultState: StorifyMeStoryAudioState.muted),
                      ),
                    ),
                    SizedBox(
                      height: 250,
                      child: StoriesViewWidget(widgetId: 2),
                    )
                  ]
                : widgetIds.map((widgetId) {
                    return StoriesViewWidget(
                      widgetId: widgetId,
                      playbackOptions: StorifyMeStoryPlaybackOptions(
                          behaviour: StorifyMeStoryPlaybackBehaviour
                              .alwaysResumeStoryWhereStopped),
                      audioOptions: StorifyMeStoryAudioOptions(
                          behaviour: StorifyMeStoryAudioBehaviour
                              .applyChangeForPresentedStories,
                          defaultState: StorifyMeStoryAudioState.unmuted),
                    );
                  }).toList(),
          ),
        ),
      ),
    );
  }

  @override
  void onAction(String type, String dataJson) {
    debugPrint('onAction: $type');
  }

  @override
  void onEvent(String type, String dataJson) {
    debugPrint('onAction: $type');
  }

  @override
  void onFail(String exceptionMessage) {
    debugPrint('onFail: $exceptionMessage');
  }

  @override
  void onLoad(int widgetId, String storiesJson) {
    debugPrint('onLoad: widgetId - $widgetId');
  }

  @override
  void onStoryOpened(String? storyJson, int index) {
    debugPrint('onStoryOpened: $storyJson');
  }

  @override
  void onStoryFinished(String? storyJson, int index) {
    debugPrint('onStoryFinished: $storyJson');
  }

  @override
  void onStoryClosed(String? storyJson) {
    debugPrint('onStoryClosed: $storyJson');
  }

  @override
  void onStoryShared(String? storyJson) {
    debugPrint('onStoryShared: $storyJson');
  }

  @override
  void onAdDisplayed(String? storyJson, int index) {
    debugPrint('onAdDisplayed: $storyJson at $index');
  }
}
8
likes
0
points
890
downloads

Publisher

verified publisherstorifyme.com

Weekly Downloads

StorifyMe Flutter SDK is the official SDK from StorifyMe GmbH that helps you add stories to your Flutter app.

Homepage

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on storifyme_flutter

Packages that implement storifyme_flutter