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
-
Callbackis 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. -
Observableis a type that can be watched by the SDK for changes. The specific implementation of anObservablemay vary depending on the platform: it might be represented asFlow,ValueListenable,Stream, or the SDK will supply a custom implementation to facilitate change observation. -
Listis a collection type that holds an ordered sequence of elements. It can be represented as anArray,List, or other similar constructs. -
Mapis 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. -
Coloris a platform-specific type or#ARGBstringrepresentation, e.g."#FFEF5754" -
Icontype used for various UI icons throughout the SDK. Icons can be used in two ways:- As a
templateimage - the SDK will automatically color it based on where it's used - As an
originalimage - 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
Imagetype orstringrepresenting path to the icon resource. - As a
-
Imageis a platform-specific type orstringrepresenting path to the image resource. -
Shapeis 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. -
TextStyleis 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