> ## Documentation Index
> Fetch the complete documentation index at: https://learn.social.plus/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation & Quick Start

> Install social.plus SDK and start building social features in minutes. Follow our straightforward setup guide.

Install the social.plus SDK and add social features to your app, whether you're building for mobile, web, or cross-platform. This guide covers setup and your first integration.

<Note>
  **New to social.plus SDK?** Check out our [SDK Overview](/social-plus-sdk/overview) to learn about all available features and choose what's right for your project.
</Note>

<Steps>
  <Step title="Choose Your Platform">
    Select the SDK that matches your development environment:

    <CardGroup cols={2}>
      <Card title="Mobile Apps" icon="mobile">
        * [iOS SDK](/social-plus-sdk/getting-started/platform-setup/mobile/ios-quick-start)
        * [Android SDK](/social-plus-sdk/getting-started/platform-setup/mobile/android-quick-start)
        * [Flutter SDK](/social-plus-sdk/getting-started/platform-setup/mobile/flutter-quick-start)
      </Card>

      <Card title="Web & ReactNative" icon="globe">
        * [TypeScript SDK](/social-plus-sdk/getting-started/platform-setup/web/web-quick-start)
      </Card>
    </CardGroup>
  </Step>

  <Step title="Get Your API Key">
    1. Visit the social.plus Admin Console
    2. Navigate to **Settings** → **Integrations**
    3. Copy your API key from the **API Key** section

    <Note>
      Keep your API key secure. Never expose it in client-side code in production.
    </Note>
  </Step>

  <Step title="Initialize the SDK">
    1. Install the SDK using the [platform-specific instructions](https://learn.social.plus/social-plus-sdk/getting-started/platform-setup/mobile/ios-quick-start)
    2. Initialize the SDK with your API key and the [region](https://learn.social.plus/uikit/getting-started/authentication#regional-configuration) where your social.plus application was created (US, EU, or SG)

    <CodeGroup>
      ```swift iOS theme={null}
      let client = try! AmityClient(apiKey: "your-api-key", region: .SG)
      ```

      ```kotlin Android theme={null}
      class ChatApp : Application() {
          override fun onCreate() {
              super.onCreate()
              AmityCoreClient.setup(
                  apiKey = "apikey",
                  endpoint = AmityEndpoint.EU // optional param, defaulted as SG region
              )
          }
      }
      ```

      ```typescript TypeScript theme={null}
      import { Client } from '@amityco/ts-sdk';

      const client = Client.createClient({
        apiKey: 'your-api-key',
        region: 'sg'
      });
      ```

      ```dart Flutter theme={null}
      void setup() async {
        await AmityCoreClient.setup(
            option: AmityCoreClientOption.create(
              apiKey: 'apiKey',
              endpoint: AmityEndpoint.SG
            ),
            sycInitialization: true);
      }
      ```
    </CodeGroup>
  </Step>

  <Step title="Authenticate Users">
    Log in users to access social.plus features:

    <CodeGroup>
      ```swift iOS theme={null}
      Task { @MainActor in
          do {
              try await client.login(
                  userId: "<user-id>",
                  displayName: "<(optional)-display-name>",
                  authToken: "<(optional)-auth-token>",
                  sessionHandler: MySessionHandler()
              )
              print("login success")
          } catch {
              print("login failed \(error)")
          }
      }
      ```

      ```kotlin Android theme={null}
      fun authenticate() {
          AmityCoreClient.login(userId = "userId 1")
              .displayName(displayName = "John Doe") // optional
              .authToken(authToken = "token") // optional
              .build()
              .submit()
              .doOnComplete {
                  //success
              }
              .subscribe()
      }
      ```

      ```typescript TypeScript theme={null}
      const { Client } = await import('@amityco/ts-sdk');

      const sessionHandler: Amity.SessionHandler = {
        sessionWillRenewAccessToken(renewal) {
          renewal.renew();
        },
      };

      const handleConnect = async (userId: string, displayName: string) => {
        /*
         * NOTE:
         * client instance must be created prior to logging in
         *
         * createClient also accepts an optional object to specify further details
         * such as debugSession & apiEndpoint
         * ex:
         * {
         *    debugSession?: 'string',
         *    apiEndpoint?: { http?: 'http.endpoint', mqtt?: 'mqtt.endpoint'  }
         * }
         */
        const client = Client.createClient('apiKey', 'apiRegion');

        await Client.login({ userId, displayName }, sessionHandler);
      };

      handleConnect('userId', 'Bob Newton');
      ```

      ```dart Flutter theme={null}
      void login() async {
        await AmityCoreClient.login('userId', sessionHandler: (AccessTokenRenewal renewal) {
          renewal.renew();
        })
            .displayName('userDisplayName')
            .submit();
      }
      ```
    </CodeGroup>
  </Step>
</Steps>

## What's Next?

Once you have the SDK installed and initialized, you can start building:

<CardGroup cols={2}>
  <Card title="Authentication Guide" icon="shield-check" href="/social-plus-sdk/getting-started/authentication">
    Learn about session management and secure authentication flows
  </Card>

  <Card title="Social Features" icon="users" href="/social-plus-sdk/social">
    Create communities, posts, and social feeds
  </Card>

  <Card title="Chat Features" icon="comments" href="/social-plus-sdk/chat">
    Build real-time messaging and channels
  </Card>

  <Card title="Live Video" icon="video" href="/social-plus-sdk/video">
    Add live streaming and video features
  </Card>
</CardGroup>

## Platform Requirements

Make sure your development environment meets these minimum requirements:

<Tabs>
  <Tab title="iOS">
    * Xcode 14.3+
    * iOS 13.0+
    * Swift 5.0+
  </Tab>

  <Tab title="Android">
    * Android 5.0 (API 21)+
    * Target SDK 29+
    * Kotlin 1.5.10+
  </Tab>

  <Tab title="Web">
    * Chrome 38+
    * Firefox 42+
    * Safari 9+
    * Edge 13+
    * Opera: 25+
  </Tab>

  <Tab title="React Native">
    * React Native 0.60+
    * Node.js 14+
    * iOS 13.0+ / Android 5.0 (API 21)+
  </Tab>

  <Tab title="Flutter">
    * Flutter 3.0.0 - 4.0.0
    * Dart 3.0.0+
    * iOS 9.0+ / Android 4.4 (API 19)+
  </Tab>
</Tabs>

## Need Help?

<CardGroup cols={2}>
  <Card title="Community Forum" icon="comments" href="https://community.social.plus">
    Get help from our community
  </Card>

  <Card title="Documentation" icon="book" href="/social-plus-sdk/core-concepts">
    Explore detailed guides and API references
  </Card>
</CardGroup>
