Synerise Flutter SDK (synerise-flutter-sdk) (2.3.0)

Platform Platform Languages Synerise Documentation


About

Synerise SDK plugin for Flutter.

Documentation

Most up-to-date documentation is available at Developer Guide - Mobile SDK.

Requirements

  • Access to workspace
  • A Profile API Key
  • Flutter configured on your machine - Getting Started
  • VS Code / Android Studio / Xcode

Android

For the Android platform it uses the Synerise Android SDK.

The development and debugging can be done with Android Studio.

  • Recommended environment:
    • Minimum Android SDK version - 24
    • Supported targetSDKVersion - 33

iOS

For the iOS platform it uses the Synerise iOS SDK.

The development and debugging can be done with Xcode.

  • Recommended environment:
    • Xcode 16
    • iOS SDK 18
  • Target deployment:
    • iOS 13.0+ for SDK versions 2.0.0 and higher
    • iOS 9.0+ for SDK versions lower than 2.0.0

Bitcode is not supported in SDK version 2.0.0 and higher. Xcode ignores bitcode.

Installation

With flutter

 $ flutter pub add synerise_flutter_sdk

This will add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get):

dependencies:
  synerise_flutter_sdk: ^1.3.0

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

Path dependency

via ssh:

synerise_flutter_sdk: 
    git:
      url: git@github.com:Synerise/synerise-flutter-sdk.git

or

via https:

synerise_flutter_sdk: 
    git:
      url: https://github.com/Synerise/synerise-flutter-sdk.git

Importing Synerise SDK

import 'package:synerise_flutter_sdk/synerise.dart';

Android gradle & configuration

Add to the android/build.gradle:

repositories {
    google()
    mavenCentral()
    maven { url 'https://pkgs.dev.azure.com/Synerise/AndroidSDK/_packaging/prod/maven/v1' }
}

in MainActivity add:

public class MainActivity extends FlutterActivity {
@Override    
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
    super.configureFlutterEngine(flutterEngine);        
    SyneriseMethodChannel.configureChannel(flutterEngine);    
}}

iOS configuration

In iOS portion of your application (/ios) you will need to run pod update.

Initialization

First of all, you need to initialize Synerise Flutter SDK and provide Profile API Key.

To get Profile API Key, please sign in to your Synerise account and visit https://app.synerise.com/settings/apikeys. Then, generate new API Key for Profile audience.

Synerise.initializer()
  .withClientApiKey("YOUR_PROFILE_API_KEY")
  .init(); 

Running example app

  • Open project folder in selected IDE
  • flutter pub get in the terminal (dependencies pull)
  • Select the device/emulator in your IDE (for ios part it is required to run pod update in example/ios directory)
  • Fill the file api_key.txt located in example/lib with your profile api key
  • Make sure the firebase related files example/ios/Runner/GoogleService-Info.plist and example/android/app/google-services.json are filled with your firebase project configuration data
  • Run the example app via selected sdk or execute cd example and flutter run in the terminal

Changelog

Changelog can be found here.

Author

Synerise, developer@synerise.com. If you need support please feel free to contact us.

Libraries

enums/client/client_conditional_auth_status
enums/client/client_sign_out_mode
enums/client/identity_provider
enums/client/token_origin
enums/content/documents_api_query_type
enums/injector/messaging_service_type
enums/injector/synerise_source
enums/promotions/promotion_discount_mode
enums/promotions/promotion_discount_type
enums/promotions/promotion_discount_usage_trigger
enums/promotions/promotion_identifier_key
enums/promotions/promotion_image_type
enums/promotions/promotion_item_scope
enums/promotions/promotion_sorting_key
enums/promotions/promotion_status
enums/promotions/promotion_type
enums/vouchers/voucher_code_status
events/auth/logged_in_event
events/auth/logged_out_event
events/auth/registered_event
events/cart/cart_event
events/cart/product_added_to_cart_event
events/cart/product_removed_from_cart_event
events/custom_event
events/event
events/other/appeared_in_location_event
events/other/hit_timer_event
events/other/searched_event
events/other/shared_event
events/other/visited_screen_event
events/product/product_added_to_favorites_event
events/product/product_viewed_event
events/push/push_cancelled_event
events/push/push_clicked_event
events/push/push_viewed_event
events/recommendation/recommendation_click_event
events/recommendation/recommendation_event
events/recommendation/recommendation_seen_event
events/recommendation/recommendation_view_event
main/dependencies
main/index
main/initialization_config
main/synerise_initializer
model/base/mappings
model/base_api_query
model/client/client_account_information
model/client/client_account_register_context
model/client/client_account_update_basic_information_context
model/client/client_account_update_context
model/client/client_agreements
model/client/client_auth_context
model/client/client_conditional_auth_context
model/client/client_conditional_auth_result
model/client/client_sex
model/client/client_simple_authentication_data
model/client/token
model/content/document
model/content/document_api_query
model/content/documents_api_query
model/content/recommendation
model/content/recommendation_options
model/content/recommendation_response
model/content/screen_view
model/content/screen_view_api_query
model/content/screen_view_audience_info
model/in_app/in_app_message_data
model/promotions/promotion
model/promotions/promotion_details
model/promotions/promotion_discount_mode_details
model/promotions/promotion_discount_step
model/promotions/promotion_discount_type_details
model/promotions/promotion_identifier
model/promotions/promotion_image
model/promotions/promotion_response
model/promotions/promotions_api_query
model/tracker/unit_price
model/vouchers/assign_voucher_data
model/vouchers/assign_voucher_response
model/vouchers/voucher_codes_data
model/vouchers/voucher_codes_response
modules/base/base_module
modules/base/base_module_method_channel
modules/client/client_impl
modules/client/client_methods
modules/content/content_impl
modules/content/content_methods
modules/injector/injector_impl
modules/injector/injector_methods
modules/notifications/notifications_impl
modules/notifications/notifications_methods
modules/promotions/promotions_impl
modules/promotions/promotions_methods
modules/settings/settings_impl
modules/settings/settings_methods
modules/synerise_dart_method_channel
modules/tracker/tracker_impl
modules/tracker/tracker_methods
synerise
utils/synerise_utils