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

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 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:storifyme_flutter/ad_event_listener.dart';
import 'package:storifyme_flutter/models/storify_me_story.dart';
import 'package:storifyme_flutter/storifyme_flutter.dart';
import 'package:storifyme_flutter/util/storify_me_story_deeplink_trigger_completion.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(
            child: Column(
          children: widgetIds
              .map((widgetId) => StoriesViewWidget(
                  widgetId: widgetId,
                  // Estimated height for each widget
                  // Default value is 180.0
                  // Please enter the most approximate value to achieve best performance
                  estimatedHeight: 180.0))
              .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, List<StorifyMeStory> stories) {
    debugPrint('onLoad: widgetId - $widgetId');
  }

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

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

  @override
  void onStoryClosed(StorifyMeStory? story) {
    debugPrint('onStoryClosed: $story');
  }

  @override
  void onStoryShared(StorifyMeStory? story) {
    debugPrint('onStoryShared: $story');
  }

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

  @override
  Future<StorifyMeStoryDeeplinkTriggerCompletion> onStoryDeeplinkTriggered(
      StorifyMeStory? story) {
    debugPrint('onStoryDeeplinkTriggered: $story');
    return Future.value(
        StorifyMeStoryDeeplinkTriggerCompletion.openStoryByDefault);
  }

  @override
  void onAdDisplayed(StorifyMeStory? story, int index) {
    debugPrint('onAdDisplayed: $story at $index');
  }
}
7
likes
150
points
1.38k
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

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on storifyme_flutter