Admin Panel (Next.js): - Dashboard with stats - Users list with relationships (watches/watched_by) - User detail pages - Deployments list and detail pages - Devices, Orders, Subscriptions pages - OTP-based admin authentication Backend Optimizations: - Fixed N+1 query problem in admin APIs - Added pagination support - Added .range() and count support to Supabase wrapper - Optimized batch queries with lookup maps Database: - Added migrations for schema evolution - New tables: push_tokens, notification_settings - Updated access model iOS Build Scripts: - build-ios.sh, clear-apple-cache.sh - EAS configuration updates 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
445 lines
14 KiB
Markdown
445 lines
14 KiB
Markdown
# WellNuo - Инструкция по публикации в App Store
|
||
|
||
## Общая информация
|
||
|
||
**Приложение:** WellNuo (Bluetooth Scanner для мониторинга здоровья)
|
||
**Bundle ID:** com.wellnuo.BluetoothScanner
|
||
**Apple Developer Account:** Роберт (Team ID: UHLZD54ULZ)
|
||
**ASC App ID:** 6756594148
|
||
|
||
---
|
||
|
||
## Ссылки для App Store Connect
|
||
|
||
### Обязательные страницы (уже созданы и работают):
|
||
- **Privacy Policy:** https://wellnuo.smartlaunchhub.com/privacy.html
|
||
- **Support URL:** https://wellnuo.smartlaunchhub.com/support.html
|
||
|
||
### App Store Connect:
|
||
- **Ссылка:** https://appstoreconnect.apple.com
|
||
- **Приложение:** WellNuo (ID: 6756594148)
|
||
|
||
---
|
||
|
||
## Процесс публикации
|
||
|
||
### Шаг 1: Сборка приложения
|
||
|
||
В терминале, в папке проекта `/Users/sergei/Desktop/WellNuo`:
|
||
|
||
```bash
|
||
./build-ios.sh production
|
||
```
|
||
|
||
Это запустит сборку на серверах Expo. Процесс занимает ~15-20 минут.
|
||
После завершения появится ссылка на скачивание .ipa файла.
|
||
|
||
### Шаг 2: Отправка в TestFlight
|
||
|
||
После успешной сборки:
|
||
|
||
```bash
|
||
eas submit --platform ios --latest
|
||
```
|
||
|
||
Это автоматически отправит последнюю сборку в TestFlight.
|
||
|
||
### Шаг 3: Проверка в App Store Connect
|
||
|
||
1. Зайти в https://appstoreconnect.apple.com
|
||
2. Выбрать приложение WellNuo
|
||
3. Перейти в раздел TestFlight
|
||
4. Убедиться, что сборка появилась и обрабатывается
|
||
5. После обработки (~30 минут) сборка станет доступна для тестирования
|
||
|
||
---
|
||
|
||
## Настройка App Store (перед публикацией)
|
||
|
||
### В App Store Connect нужно заполнить:
|
||
|
||
#### 1. Информация о приложении (App Information)
|
||
- **Name:** WellNuo
|
||
- **Subtitle:** Smart Home Wellness Monitor
|
||
- **Category:** Health & Fitness
|
||
- **Content Rights:** Does not contain third-party content
|
||
|
||
#### 2. Pricing and Availability
|
||
- **Price:** Free
|
||
- **Availability:** All territories (или выбрать конкретные страны)
|
||
|
||
#### 3. App Privacy
|
||
- **Privacy Policy URL:** https://wellnuo.smartlaunchhub.com/privacy.html
|
||
- **Data Types:** Указать какие данные собираются (Device ID, Usage Data)
|
||
|
||
#### 4. Version Information (для каждой версии)
|
||
- **Screenshots:** Загрузить скриншоты для всех размеров экранов
|
||
- iPhone 6.7" (1290 x 2796 px)
|
||
- iPhone 6.5" (1284 x 2778 px)
|
||
- iPhone 5.5" (1242 x 2208 px)
|
||
- iPad Pro 12.9" (если поддерживается)
|
||
|
||
- **Description:** Описание приложения на английском
|
||
- **Keywords:** bluetooth, health, wellness, smart home, monitor
|
||
- **Support URL:** https://wellnuo.smartlaunchhub.com/support.html
|
||
- **Marketing URL:** https://wellnuo.smartlaunchhub.com (опционально)
|
||
|
||
#### 5. Build
|
||
- Выбрать сборку из TestFlight
|
||
|
||
#### 6. App Review Information
|
||
- **Contact Information:**
|
||
- First Name: [Имя]
|
||
- Last Name: [Фамилия]
|
||
- Phone: [Телефон]
|
||
- Email: support@wellnuo.com
|
||
|
||
- **Demo Account:** Если нужен логин - предоставить тестовые данные
|
||
- **Notes:** Описание как тестировать приложение
|
||
|
||
---
|
||
|
||
## Требования к скриншотам
|
||
|
||
### Размеры:
|
||
| Устройство | Размер (px) | Обязательно |
|
||
|------------|-------------|-------------|
|
||
| iPhone 6.7" | 1290 x 2796 | Да |
|
||
| iPhone 6.5" | 1284 x 2778 | Да |
|
||
| iPhone 5.5" | 1242 x 2208 | Да |
|
||
| iPad Pro 12.9" | 2048 x 2732 | Если поддерживается |
|
||
|
||
### Требования:
|
||
- Минимум 1, максимум 10 скриншотов
|
||
- Формат: PNG или JPEG
|
||
- Без альфа-канала (прозрачности)
|
||
- Показывать реальный функционал приложения
|
||
|
||
---
|
||
|
||
## Тексты для App Store (КОПИРОВАТЬ)
|
||
|
||
### App Name (30 символов)
|
||
```
|
||
WellNuo - Senior Care Monitor
|
||
```
|
||
|
||
### Subtitle (30 символов)
|
||
```
|
||
Elderly Wellness Tracking
|
||
```
|
||
|
||
### Keywords (97/100 символов)
|
||
```
|
||
senior care,elderly monitor,family safety,wellness tracker,aging parents,remote care,health alerts
|
||
```
|
||
|
||
### Promotional Text (170 символов)
|
||
```
|
||
Care for your aging parents with peace of mind. WellNuo monitors wellness patterns without cameras - privacy first approach to elderly care.
|
||
```
|
||
|
||
### Description (полное)
|
||
```
|
||
Care for your loved ones while preserving their independence. WellNuo is a smart wellness monitoring system designed for elderly family members.
|
||
|
||
WORRIED ABOUT AGING PARENTS LIVING ALONE?
|
||
WellNuo gives you peace of mind with activity pattern monitoring and instant alerts when something seems unusual.
|
||
|
||
◆ PRIVACY-FIRST APPROACH
|
||
No cameras. No microphones. No intrusion.
|
||
|
||
◆ INSTANT ALERTS
|
||
Get notified immediately when unusual inactivity is detected.
|
||
|
||
◆ DAILY WELLNESS REPORTS
|
||
Track trends with easy-to-read reports.
|
||
|
||
◆ FAMILY SHARING
|
||
Connect the whole family.
|
||
|
||
◆ AI-POWERED INSIGHTS (Premium)
|
||
Smart analysis detects subtle changes.
|
||
|
||
FREE:
|
||
• Basic monitoring
|
||
• Emergency alerts
|
||
• 1 family member
|
||
• 7-day history
|
||
|
||
PREMIUM:
|
||
• Unlimited history
|
||
• AI analysis
|
||
• Unlimited family
|
||
• Priority support
|
||
|
||
NOT a medical device.
|
||
|
||
support@wellnuo.com
|
||
wellnuo.smartlaunchhub.com
|
||
```
|
||
|
||
### What's New (v1.0)
|
||
```
|
||
Welcome to WellNuo!
|
||
|
||
• Real-time activity monitoring
|
||
• Instant alert notifications
|
||
• Daily and weekly wellness reports
|
||
• Family sharing and coordination
|
||
• Privacy-focused design
|
||
• Sign in with Apple support
|
||
|
||
Start caring smarter today.
|
||
```
|
||
|
||
---
|
||
|
||
## In-App Purchases (создать в App Store Connect)
|
||
|
||
| Product ID | Тип | Цена | Название |
|
||
|------------|-----|------|----------|
|
||
| com.wellnuo.premium.monthly | Подписка | $4.99/мес | WellNuo Premium |
|
||
| com.wellnuo.premium.yearly | Подписка | $49.99/год | WellNuo Premium (Annual) |
|
||
| com.wellnuo.lifetime | Покупка | $149.99 | WellNuo Lifetime |
|
||
|
||
**Trial:** 7 дней бесплатно
|
||
|
||
---
|
||
|
||
## App Privacy Labels (заполнить в App Store Connect)
|
||
|
||
**Data Collected:**
|
||
|
||
| Данные | Связано с пользователем | Цель |
|
||
|--------|-------------------------|------|
|
||
| Contact Info (Email) | Да | App Functionality |
|
||
| Health & Fitness | Да | App Functionality |
|
||
| Identifiers (User ID) | Да | App Functionality |
|
||
| Usage Data | Нет | Analytics |
|
||
| Diagnostics | Нет | App Functionality |
|
||
|
||
**Tracking:** Нет
|
||
|
||
---
|
||
|
||
## Info.plist Permission Descriptions
|
||
|
||
**NSLocationWhenInUseUsageDescription:**
|
||
```
|
||
WellNuo uses your location to detect when you arrive home or leave, helping monitor daily activity patterns.
|
||
```
|
||
|
||
**NSCameraUsageDescription:**
|
||
```
|
||
WellNuo uses the camera to scan QR codes when setting up devices.
|
||
```
|
||
|
||
**NSHealthShareUsageDescription:**
|
||
```
|
||
WellNuo reads health data to provide wellness monitoring.
|
||
```
|
||
|
||
---
|
||
|
||
## Age Rating (ответы на вопросник)
|
||
|
||
| Вопрос | Ответ |
|
||
|--------|-------|
|
||
| Violence | None |
|
||
| Sexual Content | None |
|
||
| Profanity | None |
|
||
| Drugs | None |
|
||
| Gambling | None |
|
||
| Horror | None |
|
||
| Medical Info | Infrequent/Mild |
|
||
| Web Access | No |
|
||
| Contests | No |
|
||
|
||
**Результат: 4+**
|
||
|
||
---
|
||
|
||
## Export Compliance
|
||
|
||
| Вопрос | Ответ |
|
||
|--------|-------|
|
||
| Uses encryption? | Yes |
|
||
| Qualifies for exemption? | Yes - Standard HTTPS/TLS only |
|
||
|
||
*Qualifies under Note 4 to Category 5, Part 2 of EAR.*
|
||
|
||
---
|
||
|
||
## Частые проблемы и решения
|
||
|
||
### Проблема: Сборка не запускается
|
||
**Решение:** Убедитесь, что находитесь в правильной папке:
|
||
```bash
|
||
cd /Users/sergei/Desktop/WellNuo
|
||
```
|
||
|
||
### Проблема: Ошибка при submit
|
||
**Решение:** Проверьте, что ASC API Key файл на месте:
|
||
```bash
|
||
ls -la AuthKey_GA9C2GRPHS.p8
|
||
```
|
||
|
||
### Проблема: Сборка отклонена Apple
|
||
**Решение:** Проверить причину отклонения в App Store Connect → Activity → App Review
|
||
|
||
---
|
||
|
||
## Контакты для поддержки
|
||
|
||
- **Email:** support@wellnuo.com
|
||
- **Технические вопросы:** обращаться к разработчику
|
||
|
||
---
|
||
|
||
## Важные файлы проекта
|
||
|
||
| Файл | Описание |
|
||
|------|----------|
|
||
| `app.json` | Конфигурация приложения |
|
||
| `eas.json` | Конфигурация сборки и публикации |
|
||
| `build-ios.sh` | Скрипт для сборки iOS |
|
||
| `AuthKey_GA9C2GRPHS.p8` | API ключ для App Store Connect |
|
||
| `web-pages/privacy.html` | Политика конфиденциальности |
|
||
| `web-pages/support.html` | Страница поддержки |
|
||
|
||
---
|
||
|
||
## Как пройти модерацию Apple (App Review)
|
||
|
||
### Основные причины отклонения и как их избежать:
|
||
|
||
#### 1. Metadata Rejection (Ошибки в метаданных)
|
||
**Проблема:** Неполное описание, неработающие ссылки, плохие скриншоты
|
||
|
||
**Как избежать:**
|
||
- Убедиться, что Privacy Policy и Support URL открываются и работают
|
||
- Скриншоты должны показывать РЕАЛЬНЫЙ функционал приложения
|
||
- Не использовать слова "beta", "test", "demo" в описании
|
||
- Не упоминать другие платформы (Android) в описании iOS версии
|
||
|
||
#### 2. Guideline 2.1 - App Completeness
|
||
**Проблема:** Приложение выглядит незавершенным
|
||
|
||
**Как избежать:**
|
||
- Все кнопки должны работать
|
||
- Нет placeholder текстов
|
||
- Нет "Coming soon" разделов
|
||
- Приложение должно быть полностью функциональным
|
||
|
||
#### 3. Guideline 4.2 - Minimum Functionality
|
||
**Проблема:** Приложение слишком простое или дублирует сайт
|
||
|
||
**Как избежать:**
|
||
- Показать уникальную ценность приложения
|
||
- В описании указать функции, которые работают только на устройстве (Bluetooth)
|
||
- Объяснить почему нужно именно приложение, а не сайт
|
||
|
||
#### 4. Guideline 5.1.1 - Data Collection and Storage
|
||
**Проблема:** Неясно какие данные собираются
|
||
|
||
**Как избежать:**
|
||
- Заполнить App Privacy в App Store Connect ЧЕСТНО
|
||
- Privacy Policy должен соответствовать тому, что указано в App Privacy
|
||
- Если собираете Device ID - указать это
|
||
|
||
### Demo Account для Apple Review
|
||
|
||
```
|
||
Email: demo@wellnuo.com
|
||
Password: WellNuoDemo2025!
|
||
```
|
||
|
||
**Требования к демо аккаунту:**
|
||
- 30 дней симулированных данных сенсоров
|
||
- Premium подписка активна
|
||
- Все функции работают
|
||
- Реальное оборудование НЕ нужно
|
||
|
||
### Contact Information для Apple Review
|
||
|
||
```
|
||
First Name: Bernhard
|
||
Last Name: Knigge
|
||
Phone: +1-408-647-7068
|
||
Email: bernhard@wellnuo.com
|
||
```
|
||
|
||
### Notes for Reviewer (скопировать в App Store Connect)
|
||
|
||
```
|
||
This app monitors elderly wellness through activity pattern analysis.
|
||
|
||
DEMO ACCOUNT:
|
||
The demo account has 30 days of simulated sensor data. No physical hardware required for testing.
|
||
|
||
FEATURES TO TEST:
|
||
1. Dashboard - activity overview
|
||
2. Alerts - notifications
|
||
3. Reports - daily/weekly stats
|
||
4. Settings - privacy controls
|
||
5. Family - add members
|
||
|
||
AI features use OpenAI API (disclosed in privacy policy).
|
||
|
||
Contact: support@wellnuo.com
|
||
```
|
||
|
||
### Важно для Bluetooth приложений:
|
||
|
||
1. **NSBluetoothAlwaysUsageDescription** - должен быть понятный текст почему нужен Bluetooth
|
||
2. Приложение должно работать даже БЕЗ подключенных устройств (показывать UI, настройки)
|
||
3. Объяснить ревьюеру как тестировать без реального устройства
|
||
|
||
---
|
||
|
||
## Чек-лист перед публикацией
|
||
|
||
### Сайт
|
||
- [ ] https://wellnuo.smartlaunchhub.com/privacy.html работает
|
||
- [ ] https://wellnuo.smartlaunchhub.com/support.html работает
|
||
|
||
### App Store Connect - App Information
|
||
- [ ] App Name: WellNuo - Senior Care Monitor
|
||
- [ ] Subtitle: Elderly Wellness Tracking
|
||
- [ ] Primary Category: Health & Fitness
|
||
- [ ] Age Rating заполнен (4+)
|
||
|
||
### App Store Connect - Version Information
|
||
- [ ] Скриншоты загружены (6.7", 6.5", 5.5")
|
||
- [ ] Promotional Text скопирован
|
||
- [ ] Description скопировано
|
||
- [ ] Keywords скопированы
|
||
- [ ] What's New скопировано
|
||
- [ ] Support URL: https://wellnuo.smartlaunchhub.com/support.html
|
||
- [ ] Сборка выбрана из TestFlight
|
||
|
||
### App Store Connect - App Review
|
||
- [ ] Demo Account заполнен (demo@wellnuo.com / WellNuoDemo2025!)
|
||
- [ ] Contact Info: Bernhard Knigge, +1-408-647-7068
|
||
- [ ] Notes for Reviewer скопировано
|
||
|
||
### App Store Connect - App Privacy
|
||
- [ ] Privacy Policy URL указан
|
||
- [ ] App Privacy Labels заполнены
|
||
- [ ] Export Compliance заполнен
|
||
|
||
### Pricing & IAP
|
||
- [ ] Price: Free
|
||
- [ ] In-App Purchases созданы (3 шт)
|
||
- [ ] Subscription Group создан
|
||
|
||
### Финал
|
||
- [ ] Демо аккаунт работает с 30 днями данных
|
||
- [ ] Нет крэшей в TestFlight за 24 часа
|
||
- [ ] **Add for Review** → **Submit**
|
||
|
||
---
|
||
|
||
*Последнее обновление: 19 декабря 2025*
|