Skip to content

INFOnline Flutter Library Android/iOS (Zensus Messung IOMb)

License

Notifications You must be signed in to change notification settings

frankteller-de/flutter_iomb_library

Repository files navigation

Unoffical IOMb Flutter Library

Pub Build Status License package publisher Awesome Flutter

Library for census measurements

The IOMb Flutter Library supports the IOMb/Census (IOMb Library iOS/Android) measurement system.

If you are interested in pseudonym measurements look at flutter_infonline_library:

  • IOMp/SZM (INFOnline Library iOS/Android)
  • ÖWA (INFOnline Library iOS/Android)

Requirements

  • Dart sdk: >=2.17.6 <4.0.0
  • Flutter: >=2.5.0
  • Android: minSdkVersion 19
  • iOS: minSdkVersion 12
  • native iOS and Android INFOnline libraries

You will get the native iOS and Android libraries via email from INFOnline Support. The native libraries are not public!

Configuration

Add flutter_iomb_library as a dependency in your pubspec.yaml file.

iOS

Open ios/Podfile in your project. Make sure platform is uncommented and has a minimum version of 11.

platform :ios, '12.0'

Also in Podfile add pod package under use_frameworks.

target 'Runner' do
  use_frameworks!
  pod 'IOMbLibrary', :git => 'https://<user>:<pass>@repo.infonline.de/iom/base/sensors/app/ios.git'
end

Android

Now open the android/app/build.gradle file and make sure your SDK version is >= 19.

android {
  defaultConfig {
    minSdkVersion 26
    targetSdkVersion 33
  }
}

Open the android/build.gradle and add the maven source.

allprojects {
  repositories {
  maven {
    url "https://repo.infonline.de/api/v4/projects/5/packages/maven"
    name "INFOnline"

    credentials(HttpHeaderCredentials) {
      name = "Private-Token"
      value = '[DEVELOPER-ACCESS-TOKEN]'
    }
    authentication {
      header(HttpHeaderAuthentication)
    }
  }
}

Usage

Simple example to test the plugin in your project.

Example

import 'package:flutter_iomb_library/flutter_iomb_library.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await IombLibrary.instance.android.setDebugModeEnabled(true);
  await IombLibrary.instance.ios.setDebugLogLevel(IOMBDebugLevel.trace);

  await IombLibrary.instance.sessionConfiguration(
    baseURL: Platform.isAndroid ? '<yourAndroidBaseURL>' : '<yourIosBaseURL>',
    offerIdentifier: Platform.isAndroid ? '<AndroidIdentifier>' : '<iOSIdentifier>',
  );

  await IombLibrary.instance.logViewEvent(
    type: IOMBViewEvent.appeared,
    category: '<yourCategory>'
  );
}

Supported functions

Shared for all platforms

IombLibrary.instance.sessionConfiguration(
	baseURL: '<yourBaseURL>',
	offerIdentifier: '<yourIdentifier>',
);

IombLibrary.instance.logViewEvent(type: IOMBViewEvent.appeared, category: '<category>');

IombLibrary.instance.terminateSession();

For more informations look at the offical iOS and Android documentation.

iOS specified

IombLibrary.instance.ios.setDebugLogLevel(IOMBDebugLevel.trace);

For more informations look at the offical iOS documentation.

Android specified

IombLibrary.instance.android.setDebugModeEnabled(true);

For more informations look at the offical Android documentation.

About

INFOnline Flutter Library Android/iOS (Zensus Messung IOMb)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published