SDK Manager

Overview

The SDK Manager module is a centralized tool that allows users to manage software development kits (SDKs) essential for integrating third-party services and extending application functionality. It offers features for registering, managing, and de-registering SDKs, ensuring streamlined updates and maintenance while providing comprehensive SDK information.

The SDK Manager icon is prominently displayed in the L1 menu of the application dashboard, allowing quick access to this module. Users can view registered SDKs, explore system-defined SDKs, and register new SDKs to meet their specific requirements.

Requirements and Acceptence Criteria

Requirement

  • The SDK Manager icon is accessible from the L1 menu.
  • Users can view and register SDKs.
  • Configuration options are clearly presented during SDK registration.
  • Search and filter functionalities are implemented within SDK listings.

Acceptence Criteria

  • Users can view a list of registered SDKs with all required details.
  • System-defined SDKs are accessible when no SDKs are registered.
  • Comprehensive SDK details are displayed for all registered and system-defined SDKs.
  • Users can successfully configure, register, and de-register SDKs.
  • Post-consumption SDK details, including configurations and licensing, are easily accessible.

Key Features

  1. SDK Registration
    • Users can select SDKs from the system-defined SDK list and add them to their registered SDKs.
    • Configuration details for registration may include: API keys, Endpoints, Authentication tokens, RD services, Custom settings specific to the SDK, et-cetera.
  2. Viewing Registered SDKs
    • Users can view a list of all registered SDKs, with detailed information for each, including name, description, version, licensing information, and file size.
  3. System-Defined SDKs
    • If no SDKs are registered, users can view a list of predefined SDKs by clicking “Register SDK”.
    • System-defined SDKs display key details like Name, Description, Version, Licensing, and Size.
  4. SDK Information Display
    • Comprehensive information is displayed for each SDK, including:
      • Detailed description
      • Version history
      • Licensing terms
      • Configuration instructions
      • References
  5. SDK Consumption Information
    • After SDK registration, users can view:
      • Configuration details entered during registration
      • Licensing terms
      • Version history
      • File size
    • A de-register option is available for removing SDKs if required.
  6. SDK De-registration
    • A confirmation popup is displayed when de-registering an SDK.
    • All configuration and associated settings are removed upon confirmation.
    • References to the SDK are displayed to ensure transparency.
  7. Search and Filter Options
    • Users can search and filter SDKs based on categories, types, or other criteria to streamline navigation.
  8. Download Settings
    • A checkbox labeled “Override SDK Environment Configuration” is available under the security category.
    • This option allows users to change the default environment type (e.g., from Prod to Non-Prod).
    • A hint is provided for clarity: “Enable this option to override the default environment type, allowing the appropriate SDK configuration to be fetched.”

Key Use Cases

  1. Third-Party API Integration
    • Simplifies the process of integrating services like payment gateways or analytics tools via predefined SDKs.
  2. Custom Functionality
    • Enables users to extend platform functionality by incorporating custom SDKs tailored to specific needs.
  3. Simplified Maintenance
    • Centralized management facilitates seamless updates and bug fixes, ensuring users benefit from the latest features.

Additional Notes

  • Offline SDK Export: The option to export SDKs offline is not available.
  • Build Trigger Requirement: After adding a new SDK, users must trigger a new build to activate it.
  • Role Management: Permissions such as Register SDK, De-register SDK, Duplicate SDK, and Edit SDK are managed by the application developer and hierarchical roles.
Was this article helpful?
YesNo