Synerise Flutter SDK (synerise-flutter-sdk) (2.3.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 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 inexample/lib
with your profile api key - Make sure the firebase related files
example/ios/Runner/GoogleService-Info.plist
andexample/android/app/google-services.json
are filled with your firebase project configuration data - Run the example app via selected sdk or execute
cd example
andflutter 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/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