Synerise Flutter SDK (synerise-flutter-sdk) (1.5.1)
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
- Development environment configured - Flutter documentation
Android
- Minimum Android SDK version - 21
- Supported targetSDKVersion - 33
iOS
- Xcode 15 and iOS SDK 17
- iOS 9.0+ minimum deployment target
- Valid architectures: arm64 devices and arm64, x86_64 simulators
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 getin the terminal (dependencies pull)
- Select the device/emulator in your IDE (for ios part it is required to run pod updatein example/ios directory)
- Fill the file api_key.txtlocated inexample/libwith your profile api key
- Make sure the firebase related files example/ios/Runner/GoogleService-Info.plistandexample/android/app/google-services.jsonare filled with your firebase project configuration data
- Run the example app via selected sdk or execute cd exampleandflutter runin 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/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
- model/content/screen_view_audience_info
- model/content/screen_view_response
- 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