Synerise Flutter SDK (synerise-flutter-sdk) (2.6.0)
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 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/brickworks_api_query
- 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