# Let's Start

## Installing the package&#x20;

The best way to interact with our API is to use one of our official libraries:

{% tabs %}
{% tab title="Swift - iOS (SPM)" %}
**Swift Package Manager (requires Xcode 12+)**

1. In Xcode, select File > Swift Packages > Add Package Dependency.
2. Paste the URL [`https://github.com/SadO-On/98s-Tab-iOS-game-demo/tree/main`](https://github.com/SadO-On/98s-Tab-iOS-game-demo/tree/main)
   {% endtab %}

{% tab title="Android" %}

### Step 1. Add the JitPack repository to your build file

Add it in your settings.gradle at the end of repositories:

```gradle
// For settings.gradle.kts
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url = uri("https://www.jitpack.io" ) }
    }
}
// For settings.gradle
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}
```

### Step 2. Add the dependency

```gradle
dependencies {
	 implementation 'com.github.SadO-On:Android-Tab-demo:1.1.0'
}
```

{% endtab %}

{% tab title="Flutter" %}

```dart
The demo is coming soon, but we provide the service in Flutter.
```

{% endtab %}
{% endtabs %}

## Using our package in your app

After successfully adding the package to your project, you can present the game screen within your app. Make sure to import the package module at the top level in your file where you intend to present the game.

{% tabs %}
{% tab title="SwiftUI" %}

#### Import the package&#x20;

```swift
import Tab-demo-package
```

#### Present it in your SwiftUI view. The entry point is GameStartView &#x20;

```swift
import SwiftUI
import Tab-demo-package

struct ContentView: View {
    @State private var isPresenting = false

    var body: some View {
        Button("Play Game") {
        isPresenting.toggle()
        }
       .fullScreenCover(isPresented: $isPresenting, content: {
            GameStartView(isPresenting: $isPresenting)
        })
    }
}

```

{% endtab %}

{% tab title="Android" %}
Launch our `GameActivity.kt` from any UI in your code&#x20;

```kotlin
startActivity(Intent(this, GameActivity::class.java))
```

{% endtab %}

{% tab title="Flutter" %}

```dart
The demo is coming soon, but we provide the service in Flutter.
```

{% endtab %}
{% endtabs %}

## :information\_source: Notes:

In this section, we'll walk you through the steps to guarantee a seamless integration and address any potential version conflicts.

### Compatibility:

`Tab-demo-package` is compatible with

{% tabs %}
{% tab title="iOS" %}
&#x20;The package is compatible with `iOS 14` and above
{% endtab %}

{% tab title="Android" %}
The minimum SDK required is `24`
{% endtab %}

{% tab title="Flutter" %}

```dart
The demo is coming soon, but we provide the service in Flutter.
```

{% endtab %}
{% endtabs %}

####

### Dependency Resolution:

**1. Versioning:**

* Our package relies on specific dependencies. if your using any of them in your project. Ensure that you are using the recommended versions mentioned in the table.&#x20;

{% tabs %}
{% tab title="iOS" %}

| Dependency                                               | Version |
| -------------------------------------------------------- | ------- |
| [`lottie-spm`](https://github.com/airbnb/lottie-spm.git) | 4.4.1   |
| [`UIPilot`](https://github.com/canopas/UIPilot.git)      | 2.0.2   |
| {% endtab %}                                             |         |

{% tab title="Android" %}

<table><thead><tr><th>Dependency </th><th>Version</th><th data-hidden></th></tr></thead><tbody><tr><td><p></p><pre><code>androidx.media3:media3-exoplayer
</code></pre></td><td><p></p><pre><code>1.2.0
</code></pre></td><td></td></tr><tr><td><p></p><pre><code>androidx.media3:media3-ui
</code></pre></td><td><p></p><pre><code>1.3.1
</code></pre></td><td></td></tr><tr><td><p></p><pre><code>androidx.compose:compose-bom
</code></pre></td><td><pre><code>2024.04.01
</code></pre></td><td></td></tr><tr><td><p></p><pre><code>com.airbnb.android:lottie-compose
</code></pre></td><td><p></p><pre><code>6.4.0
</code></pre></td><td></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**2. Conflict Resolution:**

* In case of version conflicts with existing dependencies in your project, follow these steps:
  * Identify conflicting dependencies .
  * Check our documentation for recommended versions and update conflicting dependencies accordingly.
  * If issues persist, [reach out to our us](https://twitter.com/98sStudio) for personalized assistance.

<br>
