NowSDK architecture

  • Release version: Yokohama
  • Updated January 30, 2025
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of NowSDK architecture

    The NowSDK is the core framework of the Mobile SDK class designed to enable seamless interaction between third-party iOS applications and your ServiceNow instance. It offers a comprehensive set of classes, protocols, and APIs that facilitate authentication, session management, logging, and integration with ServiceNow features. Before utilizing any functionalities, you must integrate and initialize the NowSDK library in your application.

    Show full answer Show less

    Key Features

    • SDK Initialization and Configuration: Configure the SDK settings and initialize the core library to enable all Mobile SDK functionalities.
    • Authorization and Session Handling: Provides seamless user authentication and session management integrated with ServiceNow.
    • Logging Services: Includes built-in logging with adjustable log levels and the option to use your existing logging solution.
    • Build and Release Infrastructure: Supports streamlined development and deployment of mobile applications.
    • Feature Services and APIs:
      • NowData: Access public REST APIs of your ServiceNow instance with APIs such as:
        • NowAPIService: Interact with ServiceNow REST APIs.
        • NowAttachmentService: Upload and query file attachments.
        • NowGraphQLService: Execute GraphQL queries against ServiceNow data.
        • NowTableService: Perform CRUD operations on tables via REST Table API.
      • NowAnalytics: Collect and track user analytics within your mobile app.
        • NowAnalyticsService: Gather analytics data and store it in the ServiceNow platform for analysis.
      • NowChat: Embed native Virtual Agent and Live Agent chat capabilities with UI/UX support.
        • NowChatService: Integrate full-service chat functionalities.
      • NowPush: Send push notifications leveraging Virtual Agent chat features.
        • NowPushPayload: Define push notification protocols.
        • NowPushService: Manage interactions with push notifications.
      • NowWeb: Load ServiceNow-hosted web pages in a native web view with automatic authentication.
        • NowWebService: Browse ServiceNow web pages seamlessly without manual login.

    Key Outcomes

    • Enables efficient development of iOS applications that integrate deeply with ServiceNow instance capabilities.
    • Provides a unified SDK with standardized authentication, logging, and session management to simplify app development.
    • Offers versatile APIs to interact with ServiceNow data, attachments, analytics, chat services, push notifications, and web content.
    • Improves user experience by embedding native chat and web interfaces with streamlined authentication.
    • Supports robust logging and analytics to monitor app usage and performance effectively.

    The NowSDK is the top-level entity of the Mobile SDK class framework.

    It contains numerous classes, structures, protocols, type aliases, and functions that enable you to leverage the significant capabilities provided by the Mobile SDK and your ServiceNow instance. This document focuses on describing the primary feature services exposed in the Mobile SDK that enable you to interact with your ServiceNow instance.

    To use any of the feature services provided by the Mobile SDK, you must integrate the NowSDK library into your code. You must call the core library to configure and initialize the SDK before using any SDK functionality.

    NowSDK provides the following capabilities:

    • SDK initialization and settings retrieval and configuration.
    • Seamless authorization and user session handling.
    • Logging interface. The NowSDK provides logging services to all feature services. By default, log messages are written to system logs using platform-specific functionality. You can control the logging threshold through a parameter that is part of the call to configure the SDK. There's also an option to suppress all log messages generated by the SDK and its feature services (log level = none). If you already have your own logging solution in place, the Mobile SDK allows you to use it.
    • Build and release infrastructure.
    NowSDK provides the following feature services and associated APIs:
    • NowData

      Enables third party applications to access the public REST APIs exposed by your ServiceNow instance. Development is streamlined because NowData utilizes the authentication and session handling features provided by the NowSDK.

      • Primary APIs:
        • NowAPIService: This API provides functionality that enables you to interact with the publicly exposed REST APIs on your ServiceNow instance.
        • NowAttachmentService: This API provides functionality to upload and query file attachments on your ServiceNow instance within your iOS application.
        • NowGraphQLService: This API provides functionality that enables you to use GraphQL queries to obtain data from tables within your ServiceNow instance using the ServiceNow REST GraphQL API.
        • NowTableService: This API provides functionality that enables you to perform create, read, update, and delete (CRUD) operations on existing tables in your ServiceNow instance that are serviced through the ServiceNow REST Table API.
    • NowAnalytics

      Enables you to gather and track usage analytics within your mobile applications.

      • Primary APIs:
        • NowAnalyticsService: This API provides functionality to gather user analytics data and store it within the ServiceNow platform for later analysis and tracking.
    • NowChat

      Enables you to embed a native Virtual Agent chat window in your applications. This service includes UI/UX features.

      • Primary APIs:
        • NowChatService: This API provides Virtual Agent and Live Agent chat capabilities to your iOS applications. Leverage the full-service chat capabilities provided by the ServiceNow platform by simply implementing NowChatService within your application.
    • NowPush

      Enables you to send unsolicited messages to your applications that leverage the NowChat/Virtual Agent functionality.

      • Primary APIs:
        • NowPushPayload: This is a generic protocol that you can use to define a push notification protocol within the NowSDK framework.
        • NowPushService: This API provides functions that enable interaction with the Push Notification service.
    • NowWeb

      Enables you to load web pages hosted on your ServiceNow instance in a native web view, with support for Cabrillo. It automatically handles user authentication and session management instead of forcing users to log in to the instance via a login web page.

      • Primary APIs:
        • NowWebService: This API provides functionality that enables the browsing of web pages on your ServiceNow instance.