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

# Platform-Specific Setup

> Platform-Specific Setup — Zixflow Flutter SDK integration guide.

### iOS Setup

#### 1. Add GoogleService-Info.plist

1. Download `GoogleService-Info.plist` from Firebase Console
2. Add to `ios/Runner/` directory in Xcode
3. Ensure it's added to target

#### 2. Update Info.plist

Add required permissions to `ios/Runner/Info.plist`:

```xml theme={null}
<key>NSLocationWhenInUseUsageDescription</key>
<string>We use your location to send relevant notifications</string>

<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>We use your location to send relevant notifications</string>

<key>UIBackgroundModes</key>
<array>
    <string>fetch</string>
    <string>remote-notification</string>
</array>
```

#### 3. CocoaPods (Default)

Run pod install:

```bash theme={null}
cd ios
pod install
```

#### 4. Swift Package Manager (Optional)

To use SPM instead of CocoaPods, update `pubspec.yaml`:

```yaml theme={null}
dependencies:
  zixflow:
    version: ^1.0.0
    native_sdk:
      ios:
        enable-swift-package-manager: true
```

Then run:

```bash theme={null}
cd ios
pod install
```

***

### Android Setup

#### 1. Add google-services.json

1. Download `google-services.json` from Firebase Console
2. Place in `android/app/` directory

#### 2. Add Google Services Plugin

Update `android/build.gradle`:

```groovy theme={null}
buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.4.0'
    }
}
```

Update `android/app/build.gradle`:

```groovy theme={null}
plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'com.google.gms.google-services'  // Add this
}

android {
    compileSdkVersion 34

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 34
    }
}
```

#### 3. Permissions

Add permissions to `android/app/src/main/AndroidManifest.xml`:

```xml theme={null}
<manifest>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>
```

#### 4. Enable Location (Optional)

To enable location tracking, add to `android/gradle.properties`:

```properties theme={null}
zixflow_location_enabled=true
```

***
