Last updated:
0 purchases
flutter infonline library
Unoffical INFOnline Flutter Library #
Library for pseudonym measurements
The INFOnline Flutter Library supports parallel operation of sessions of the following measurement systems:
IOMp/SZM (INFOnline Library iOS/Android)
ÖWA (INFOnline Library iOS/Android)
If you are interested in census measurements look at flutter_iomb_library:
IOMb/Census (IOMb Library iOS/Android)
Requirements #
Dart sdk: >=2.17.6 <4.0.0
Flutter: >=2.5.0
Android: minSdkVersion 19
iOS: minSdkVersion 11
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_infonline_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, '11.0'
copied to clipboard
Open XCode and add a new Run Script under "Bild Phases".
$PROJECT_DIR/INFOnlineLibrary/copy-framework.sh
copied to clipboard
Finally, download the iOS INFOnline library and copy the source folder to your iOS project folder.
ios/INFOnlineLibrary
copied to clipboard
Android #
Download the Android INFOnline library and copy the *.aar file into the follow folder in your project.
android/app/libs/infonlinelib_2.4.0.aar
copied to clipboard
Now open the android/app/build.gradle file and make sure your SDK version is >= 19.
android {
defaultConfig {
minSdkVersion 26
targetSdkVersion 33
}
}
copied to clipboard
Add your Ad Manager app ID (identified in the Ad Manager UI) to your app's AndroidManifest.xml file.
<manifest>
<application>
<!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
copied to clipboard
Usage #
Simple example to test the plugin in your project.
Example #
import 'package:flutter_infonline_library/flutter_infonline_library.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
if (Platform.isAndroid) {
// Enable logging, that will display in your IDE console.
await InfonlineLibrary.instance.android.setDebugModeEnabled(true);
// Create a new Android session
await InfonlineLibrary.instance.session(IOLSessionType.szm).android.initIOLSession(
offerIdentifier: '<yourIdentifier>', debug: true, type: IOLPrivacyType.ack
);
}
else if (Platform.isIOS) {
// Enable logging, that will only display in your XCode console.
await InfonlineLibrary.instance.ios.setDebugLogLevel(IOLDebugLevel.trace);
// Create a new iOS session
await InfonlineLibrary.instance.session(IOLSessionType.szm).ios.startSession(
offerIdentifier: '<yourIdentifier>', type: IOLPrivacyType.ack
);
}
// Log an view event
await InfonlineLibrary.instance.session(IOLSessionType.szm).logViewEvent(
type: IOLViewEventType.appeared,
category: '<yourCategory>'
);
}
copied to clipboard
Supported functions #
Shared for all platforms #
InfonlineLibrary.instance.session(IOLSessionType.szm).logViewEvent(
type: IOLViewEventType.appeared,
category: '<yourCategory>'
);
InfonlineLibrary.instance.session(IOLSessionType.szm).sendLoggedEvents();
InfonlineLibrary.instance.session(IOLSessionType.szm).terminateSession();
InfonlineLibrary.instance.session(IOLSessionType.szm).setCustomConsent('<String>');
copied to clipboard
For more informations look at the offical iOS and Android documentation.
iOS specified #
InfonlineLibrary.instance.ios.setDebugLogLevel(IOLDebugLevel.trace);
InfonlineLibrary.instance.session(IOLSessionType.szm).ios.startSession(
offerIdentifier: '<yourIdentifier>',
type: IOLPrivacyType.ack
);
List<String> logs = await InfonlineLibrary.instance.ios.mostRecentLogs(0);
copied to clipboard
For more informations look at the offical iOS documentation.
Android specified #
InfonlineLibrary.instance.android.setDebugModeEnabled(true);
InfonlineLibrary.instance.session(IOLSessionType.szm).android.initIOLSession(
offerIdentifier: '<yourIdentifier>',
debug: true,
type: IOLPrivacyType.ack
);
copied to clipboard
For more informations look at the offical Android documentation.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.