SDK Developer Section¶
The Developer Section provides an overview of the configuration and model schemes that are common to all SDK implementations. By understanding these core concepts, developers can ensure a uniform approach to implementing the SDK, which helps maintain consistency and reduces redundancy in documentation.
SDK integration¶
In general, all SDK implementations are integrated in three steps:
- Add dependency
- Initialize with Configuration
- Call SDK UI by passing the Product
Type Definitions & Naming Convention
-
Callback
is a function type that can accept parameters and return a value. Additionally, on certain platforms, it might be represented as an interface with a similar method, but the underlying concept and conditions remain consistent. -
Observable
is a type that can be watched by the SDK for changes. The specific implementation of anObservable
may vary depending on the platform: it might be represented asFlow
,ValueListenable
,Stream
, or the SDK will supply a custom implementation to facilitate change observation. -
List
is a collection type that holds an ordered sequence of elements. It can be represented as anArray
,List
, or other similar constructs. -
Map
is a collection type that associates keys with values. It is used to store data in key-value pairs, where each key is unique. The specific implementation may vary depending on the platform, such asMap
,Dictionary
, or other similar constructs. -
Color
is a platform-specific type or#ARGB
string
representation, e.g."#FFEF5754"
-
Icon
type used for various UI icons throughout the SDK. Icons can be used in two ways:- As a
template
image - the SDK will automatically color it based on where it's used - As an
original
image - used without any color changes
Depending on the platform, if the standard type supports defining this rendering modes, it will be used. Otherwise, the SDK will supply a type to configure the rendering mode and provide the graphics resource as platform-specific
Image
type orstring
representing path to the icon resource. - As a
-
Image
is a platform-specific type orstring
representing path to the image resource. -
Shape
is a type that specifies the visual appearance of UI elements, which may be as simple as a decimal number representing a corner radius. Depending on the platform and SDK implementation, it can also offer more configurations like corner curve types. -
TextStyle
is a type used to define text styling properties for various UI elements.
Naming Convention
Implementation and naming details may vary depending on the specific platform, but the core concepts and overall structure remain consistent across all platforms. For example type names, described in the schemes, like:
-
Configuration
- in Swift it will be
Aiuta.Configuration
- in Kotlin and Dart -
AiutaConfiguration
- in Swift it will be
-
UserInterface
- in Swift it will be
Aiuta.Configuration.UserInterface
- in Kotlin and Dart -
AiutaUserInterfaceConfiguration
- in Swift it will be
-
Product
- in Swift it will be
Aiuta.Product
- in Kotlin and Dart -
AiutaProduct
- in Swift it will be
and so on - the key part of the name is the same.
A scheme-based approach in the documentation applies core concepts and structures uniformly, unifying the SDK's understanding and implementation. By following this strategy, we achieve consistency in our SDK's implementations and minimize redundancy in our documentation for each platform. We use this documentation ourselves for development.
Annotations in schemes
Don't miss them - click for more details
Quick Start¶
Check out the quick start guide to get started with the platform