streamit-ott-streaming-flutter-app-addon

作者 : tideit 本文共746个字,预计阅读时间需要2分钟 发布时间: 2026-03-11 共4人阅读
# Streamit - OTT 流媒体 Flutter 应用插件

## 项目概述

**Streamit** 是一个功能强大的视频流媒体 Flutter 应用程序,专为 Streamit Laravel 视频流媒体平台设计。这是一个跨平台移动应用插件,需要配合 Streamit Laravel Web 后端使用,提供无缝和沉浸式的娱乐体验,支持电影、电视节目和视频流媒体播放。

**注意**: 这不是一个独立的应用程序。要使用 Flutter 应用,必须先购买并设置 Streamit Laravel Web。

## 主要功能

### 核心功能
- **跨平台支持** - 支持 Android、iOS、Web、Windows、macOS 和 Linux
- **动态内容** - 电影、电视节目、视频和直播电视
- **用户参与** - 评论、评分、观看列表和继续观看
- **离线观看** - 下载内容供离线访问
- **投屏功能** - Chromecast 投屏支持

### 货币化功能
- **订阅计划** - 应用内购买、Stripe、Razorpay、Paystack、Flutterwave、PayPal
- **按次付费/租赁** - 单内容付费观看
- **广告支持** - Google AdMob 广告集成

### 播放功能
- **视频播放器** - 支持画质选择、字幕和播放速度控制
- **投屏支持** - Chromecast 投屏
- **字幕支持** - 多语言字幕
- **画中画** - 支持画中画模式

### 用户功能
- **社交登录** - Google、Apple 登录
- **OTP 验证** - 手机验证码登录
- **多语言支持** - 英语、法语、德语、阿拉伯语、希腊语等
- **观看列表** - 个人观看列表管理
- **继续观看** - 断点续播功能

## 技术栈

### 开发环境
- **Flutter**: 3.38.0
- **Dart SDK**: >=3.3.3 <4.0.0
- **Android SDK**: 36.1.0-rc1
- **Build-tools**: 36.0.0
- **Java**: 17.0.15+6-LTS (Flutter 配置)
- **Android Studio**: 2025.1.3
- **Visual Studio Code**: 1.102.3

### 主要依赖包

#### 核心框架
- Flutter SDK
- Get ^4.7.3 (状态管理)
- Get Storage ^2.1.1 (本地存储)

#### 网络和图像
- Dio ^5.9.0 (HTTP 客户端)
- Cached Network Image ^3.4.1 (图片缓存)
- URL Launcher ^6.3.2
- HTTP ^1.6.0

#### Firebase 服务
- Firebase Core ^4.3.0
- Firebase Auth ^6.1.3 (认证)
- Firebase Crashlytics ^5.0.6 (崩溃分析)
- Firebase Messaging ^16.1.0 (推送通知)

#### 支付网关
- Flutter Stripe ^12.1.1
- Razorpay Flutter ^1.4.0
- Flutterwave Standard (Git)
- Flutter Paystack (Git)
- Flutter PayPal Checkout (Git)
- Purchases Flutter ^9.10.1 (应用内购买)

#### 视频播放
- Media Kit ^1.2.6 (视频播放)
- Media Kit Video ^2.0.1
- Media Kit Libs Video ^1.0.7
- Pod Player 0.2.2
- Subtitle ^0.1.4

#### 社交登录
- Google Sign In ^7.2.0
- The Apple Sign In ^1.1.1

#### 本地存储和加密
- Hive ^2.2.3 (NoSQL 数据库)
- Hive Flutter ^1.1.0
- Flutter Secure Storage ^9.2.4
- Encrypt ^5.0.3
- Crypto ^3.0.7
- Path Provider ^2.1.5

#### UI 组件
- Flutter SVG ^2.2.3
- Lottie ^3.3.2 (动画)
- Flutter Spinkit ^5.2.2 (加载动画)
- Flutter Toast ^8.2.14
- Image Picker ^1.2.1
- Country Picker ^2.0.27

#### 其他功能
- Google Mobile Ads ^7.0.0 (AdMob)
- Flutter Chrome Cast ^1.2.7 (投屏)
- Flutter Local Notifications ^19.5.0
- Share Plus ^12.0.1 (分享)
- Screen Protector ^1.4.2+1 (屏幕保护)
- Mobile Scanner ^7.1.4 (二维码扫描)
- Speech To Text ^7.3.0 (语音输入)
- Wakelock Plus ^1.4.0 (屏幕常亮)
- Permission Handler ^12.0.1 (权限管理)
- Device Info Plus ^12.3.0
- WebView (Flutter InAppWebView) ^6.1.5

## 文件结构

```
codecanyon-56035814-streamit-ott-streaming-flutter-app-addon/
├── Mobile App/                    # Flutter 移动应用
│   ├── android/                   # Android 原生代码
│   ├── ios/                       # iOS 原生代码
│   ├── lib/                       # Dart 源代码
│   │   ├── configs.dart          # 配置文件
│   │   ├── firebase_options.dart # Firebase 配置
│   │   ├── main.dart             # 应用入口
│   │   ├── services/             # 服务层
│   │   │   └── push_notification_service.dart
│   │   └── ...
│   ├── assets/                    # 静态资源
│   │   ├── fonts/                # 字体文件
│   │   ├── icons/                # 图标
│   │   ├── images/               # 图片
│   │   ├── lottie/               # Lottie 动画
│   │   └── flags/                # 国旗图标
│   ├── archives/                  # 归档文件
│   ├── pubspec.yaml              # 依赖配置
│   ├── README.md                 # 项目说明
│   └── devtools_options.yaml
├── streamit-ott v2.1.0/          # 后端代码
├── Live Document.html            # 在线文档
├── README.txt                    # 说明文件
└── Support.html                  # 支持信息
```

## 安装说明

### 前置要求
1. 已安装 Streamit Laravel Web 后端
2. Flutter 开发环境 (3.38.0+)
3. Android Studio 或 VS Code
4. Android SDK / Xcode (iOS)

### 配置步骤

#### 1. 域名和 API 配置
- 打开 `lib/configs.dart`
- 更新 `DOMAIN_URL` 为你的后端域名 (例如: `https://your-domain.com`)
- `BASE_URL` 会自动从 `DOMAIN_URL` 派生

#### 2. 支付网关配置
- **Stripe**: 更新 `STRIPE_merchantIdentifier`, `STRIPE_MERCHANT_COUNTRY_CODE`, `STRIPE_CURRENCY_CODE`
- **Razorpay, PayStack, PayPal**: 在 `lib/configs.dart` 中配置相关密钥和货币

#### 3. Google 广告配置
- 打开 `lib/configs.dart` 更新 Android 和 iOS 的广告单元 ID
- **Android**: 更新 `android/app/src/main/AndroidManifest.xml` 中的 `com.google.android.gms.ads.APPLICATION_ID`
- **iOS**: 更新 `ios/Runner/Info.plist` 中的 `GADApplicationIdentifier`

#### 4. Firebase 配置
- 在 [Firebase Console](https://console.firebase.google.com/) 创建新项目
- **Android**: 下载 `google-services.json` 放到 `android/app/`
- **iOS**: 下载 `GoogleService-Info.plist` 放到 `ios/Runner/`
- 运行 `flutterfire configure` 或手动更新 `lib/firebase_options.dart`
- 更新 `lib/configs.dart` 中的 `FIREBASE_SERVER_CLIENT_ID`

#### 5. 推送通知配置
- 确保 Firebase Messaging 正确设置
- 推送逻辑在 `lib/services/push_notification_service.dart`
- 应用订阅主题 `streamit_laravel` 和用户特定主题
- 确保在 `android/app/src/main/res/drawable` 中放置通知图标 `ic_stat_ic_notification`

#### 6. 平台特定配置
- **Android**: 检查 `android/app/src/main/AndroidManifest.xml` 更新包名
- **iOS**: 检查 `ios/Runner/Info.plist` 更新 Bundle ID

### 构建和运行
```bash
# 获取依赖
flutter pub get

# 运行应用
flutter run

# 构建 APK
flutter build apk

# 构建 iOS
flutter build ios
```

## 亮点特色

... (content truncated)

资源在线 » streamit-ott-streaming-flutter-app-addon

常见问题FAQ

发表评论