Инструкция по выпуску приложения на платформе RuStore

Инструкция по выпуску приложения на платформе RuStore

1. Добавление приложения и его публикация

1. Регистрация: Зарегистрируйтесь как разработчик на платформе RuStore.

2. Подготовка приложения: Соберите APK/AAB файл для Android, убедитесь, что он подписан с помощью ключа подписи.

3. Добавление в RuStore:

  • - Войдите в личный кабинет разработчика.
  • - Создайте запись для приложения: загрузите файл, добавьте описание, скриншоты, иконку и т.д.

4. Публикация: После проверки модераторами RuStore приложение будет доступно для скачивания.

2. Установка приложения на телефон

1. Приложение можно найти в RuStore через приложение или веб-версию.

2. Находит ваше приложение через поиск или по прямой ссылке.

3. Нажимает на кнопку "Установить".

4. После установки пользователь может открыть приложение и начать его использование.

Инструкция по запуску проекта на эмуляторе Android

1. Установка Android Studio

  1. Скачивание Android Studio:
  • Перейдите на официальный сайт Android Studio .
  • Нажмите кнопку "Download Android Studio".
  • Примите лицензионное соглашение и начните загрузку установочного файла.
  1. Установка Android Studio:
  • Запустите скачанный файл и следуйте инструкциям мастера установки.
  • При установке оставьте все галочки по умолчанию (Android Studio, Android SDK, Virtual Device).
  • После завершения установки запустите Android Studio.
  1. Первичная настройка Android Studio:
  • При первом запуске выберите опцию "Do not import settings" (если это первая установка).
  • Далее Android Studio предложит установить необходимые компоненты SDK. Убедитесь, что выбраны все компоненты, и нажмите "Next".
  • После завершения установки нажмите "Finish".


2. Настройка эмулятора Android

  1. Создание виртуального устройства (эмулятора):
  • В Android Studio откройте "AVD Manager" (Android Virtual Device Manager). Для этого можно нажать на иконку телефона в правом верхнем углу или выбрать путь: Tools  -> Device Manager.
  • Нажмите "Create Virtual Device".

  • Выберите устройство, на котором хотите тестировать и нажмите "Next".

  • Выберите образ системы (например, Android 12.0 x86) и нажмите "Next".

  • Установите необходимые параметры (разрешение экрана, количество памяти и т.д.) и нажмите "Finish".


  1. Запуск эмулятора:
  • В "AVD Manager" нажмите на кнопку "Play" рядом с созданным эмулятором, чтобы запустить его.

  • Эмулятор загрузится и откроет стандартный экран Android.


3. Запуск APK файла на эмуляторе

  1. Установка APK на эмулятор:

  • APK автоматически установится на эмуляторе.


  1. Запуск установленного приложения:
  • После установки APK на эмуляторе, найдите и откройте в списке программ приложение с названием AdvantFood. Приложение должно успешно запуститься.

Инструкция по компиляции проекта на Windows

Эта инструкция описывает шаги по установке и запуску проекта на операционной системе Windows. Проект также можно установить на других платформах, таких как macOS и Linux, следуя аналогичным шагам.

Шаг 1: Подготовка системы

Убедитесь, что ваш компьютер работает под управлением операционной системы Windows. Рекомендуется обновить систему до последней версии для оптимальной работы инструментов.

Минимальные требования к системе:

Требование

Минимум / Рекомендуется

Процессор

x86_64 с минимум 4 ядрами (рекомендуется 8)

Оперативная память

8 ГБ (рекомендуется 16 ГБ)

Разрешение дисплея

WXGA (1366x768) (рекомендуется Full HD 1920x1080)

Flutter поддерживает 64-битную версию Microsoft Windows 10 или более позднюю. Убедитесь, что в системе установлена Windows PowerShell 5 или более поздняя версия.

Шаг 2: Установка Flutter SDK (версия 3.19.3)

1. Перейдите на официальный сайт Flutter и скачайте версию Flutter SDK 3.19.3 для Windows. https://docs.flutter.dev/release/archive

2. Выберите ZIP-архив для скачивания.

3. Разархивируйте скачанный архив в удобное место на вашем компьютере (например, в корень диска C:).

4. Установите путь C:\flutter.

5. Добавьте путь C:\flutter\bin в переменную среды PATH:

- Откройте свойства системы (Панель управления > Система > Дополнительные параметры системы).
  - В разделе "Переменные среды" найдите переменную Path и добавьте путь C:\flutter\bin.

Шаг 3: Установка Android Studio

1. Скачайте и установите Android Studio с официального сайта.

2. Во время установки выберите место установки и установите необходимые компоненты:

   - Android SDK Platform, API 35.0.1
  - Android SDK Command-line Tools
  - Android SDK Build-Tools
  - Android SDK Platform-Tools
  - Android Emulator

Шаг 4: Установка и настройка эмулятора Android

1. Запустите Android Studio и создайте новое виртуальное Android-устройство (AVD):
  - Откройте Android Studio.
  - Перейдите в Инструменты > Диспетчер устройств или выберите его в меню "Дополнительные параметры" на экране приветствия.
  - Нажмите "Создать устройство".
  - Выберите категорию "Телефон" или "Планшет", затем устройство и версию Android.
  - Установите необходимые компоненты, если их ещё нет на компьютере.
  - Настройте производительность графики, выбрав "Оборудование — GLES 2.0".
  - Нажмите "Finish" для завершения настройки AVD.

2. Запустите эмулятор, нажав на значок "Выполнить" в Диспетчере устройств.

Шаг 5: Принятие лицензий Android

1. Откройте консоль с правами администратора.

2. Выполните команду:

   flutter doctor --android-licenses

Примите условия всех лицензий.

Шаг 6: Проверка настройки среды разработки

1. Запустите команду `flutter doctor` для проверки установки всех компонентов:
  flutter doctor

2. Если вы следовали инструкции, команда должна показать что-то подобное:
 
  Doctor summary (to see all details, run flutter doctor -v):
  [✓] Flutter (Channel stable, 3.19.3, on Microsoft Windows 11 [Version 10.0.22621.3155], locale en)
  [✓] Windows version (Installed version of Windows is version 10 or higher)
  [✓] Android toolchain - develop for Android devices (Android SDK version 35.0.1)
  [!] Chrome - develop for the web
  [!] Visual Studio - develop Windows apps
  [✓] Android Studio (version 2024.1)
  [✓] VS Code (version 1.92)
  [✓] Connected device (1 available)
  [✓] Network resources
 

3. Если flutter doctor обнаруживает ошибки, используйте флаг `-v` для получения подробной информации:
 flutter doctor -v
 

Шаг 7: Клонирование или загрузка проекта

1. Cкачайте проект по ссылке https://www.advantshop.net/files/mobile-app/advantshop_mobileapp-sources.zip  и разархивируйте его в удобное место на вашем компьютере, например, в папку C:\MyProjects\.

Шаг 8: Запуск проекта

  1. Откройте проект в вашей IDE, в Visual Studio Code используйте команду "File > Open Folder...".
  2. В терминале нужно выполнить команду для загрузки пакетов для работы приложения: “flutter pub get”.
  3. Далее необходимо запустить эмулятор. В нижней панели нажмите на поле “no device”, после чего откроется список доступных эмуляторов либо можно нажать на Create Android эмулятор для создания нового эмулятора.
  4. После запуска эмулятора нужно запустить проект. Для этого переходим в директорию "C:\MyProjects\advantshop_mobileapp\lib\main.dart"  и нажимаем кнопку Run для запуска проекта, либо прописываем в терминале команду “flutter run”.
  5. Дождитесь завершения компиляции и запуска проекта. Если всё настроено верно, вы увидите приложение на экране эмулятора или устройства.

О продукте

Мобильное приложение — продукт, позволяющий интернет-магазину выйти на рынок мобильных приложений и быть доступным для клиентов на сервисах App Store, Google Play, RuStore и App Gallery.

Технические данные

Мобильное приложение разработано на фреймворке Flutter, язык программирования Dart. Это кроссплатформенный язык программирования, позволяющий запускать приложение под многие операционные системы.

Мобильное приложение подключается к сервису посредством API. Все данные в режиме реального времени берутся по API из базы данных любого сервиса. Поэтому все изменения сразу регистрируются в мобильном приложении.

API мобильного приложения защищено от мастер-доступа. Соответственно, даже получив доступ к API, невозможно распоряжаться данными. Вся работа идет только через авторизованного покупателя и только после подтверждения номера телефона путем SMS.

Мобильное приложение не имеет своей базы данных. Все данные хранятся на стороне технического вендора. Большинство функций предоставляется посредством API. Это означает, что мобильное приложение является только клиентом.

Функциональные особенности

Типовой набор функций

В приложении заложен типовой набор функций с возможностью кастомизации и доработок. В изначальной версии мобильного приложения доступны: корзина, фильтры, каталог, поиск, личный кабинет, системы оплаты и доставка. Такой подход позволяет быстро запустить полноценное приложение с функциями, необходимыми для интернет-торговли.

Маркетинговые инструменты

Stories

Помимо строго функциональных интеграций и настроек, существуют опции, которые украшают внешний вид приложения и позволят продвигать товары и услуги. К примеру, с помощью специального модуля доступен формат «Истории» (Stories) для размещения.

Push-уведомления

Приложение позволяет владельцу присылать push-уведомления в зависимости от действий клиента. Это эффективный инструмент для взаимодействия и возврата клиентов к покупкам. С помощью уведомлений можно сообщать покупателям об акциях, новых поставках и напоминать о специальных предложениях по программе лояльности.

Программа лояльности

Также в приложении запустить собственную бонусную программу, чтобы еще активнее привлекать клиентов к покупкам. На платформе можно настроить бонусные баллы, процент скидки и прочие детали. А также отслеживать эффективность программы лояльности в отдельном отчете.

Синхронизация

Приложение работает синхронно с остальными ресурсами интернет-магазина, например, с сайтом. Обмен данными может происходить как через интеграции с Битрикс, так и через учетными программами 1С, Мой Склад, iiko, r_keeper, TillyPad.

Пользовательский интерфейс

Пользователь может скачать приложение с разных площадок: App Store, Google Play, RuStore, App Gallery.

Авторизация

Необходимость авторизации выставляет владелец интернет-магазина. В приложении он может настроить разные способы авторизации: SMS-уведомлением, входящим звонком или 4 последними цифрами входящего номера.

Поиск, фильтры и категории

Пользователь может найти необходимый товар как через поиск по названию или фильтрам, так и с помощью перехода по категориям в каталоге. Создавать категории фильтра и характеристик для товара можно с помощью справочников свойств товаров и группы свойств.

Карточка товара

В карточке товара пользователю могут быть видны фотографии, описание товара, стоимость, наличие на складе, способы оплаты и методы доставки с расчетом стоимости по весу.

Личный кабинет

Если владельцем в приложении предусмотрена авторизация, пользователю доступен личный кабинет с функциями по умолчанию: история заказов, корзина, данные о бонусной программе.

Корзина и оформление заказа

В корзине содержится вся информация перед оформлением заказа: стоимость каждого продукта, общая стоимость, количество товаров. При оформлении необходимо выбрать способ оплаты, а также способ доставки. Кроме того, владелец может отключить выбор способа доставки, если продукт является услугой или цифровым объектом.

Инструкция по эксплуатации мобильного приложения

Инструкция по эксплуатации мобильного приложения

Общие сведения о приложении

   Описание

   Установка
 Обновление

   Удаление

Работа с приложением

    Запуск приложения

    Главная страница приложения

     Каталог

     Товары

     Корзина

     Профиль

Общие сведения о приложении

Описание

На AdvantShop можно создавать мобильное приложение интернет-магазина или заведения общественного питания для  iOS и Android. Оно разработано на технологии Flutter, что обеспечивает быстрый вывод информации на экран смартфона, небольшой объем для скачивания и прохождение модерации на App Store, Google Play и RuStore.

Управление мобильным приложением идет в панели AdvantShop. Можно использовать все возможности платформы:

  • создание карточки товаров;
  • формируется структуру каталога;
  • добавляется фильтры;
  • осуществляется импорт/экспорт ассортимента;
  • обмен  данными с учетными системами 1С, МойСклад, iiko, R-Keeper;
  • подключаются сервисы оплаты и доставки;
  • настраиваются зоны доставки;  
  • используются CRM;
  • анализируются продажи при помощи отчетов;
  • настраивается программа лояльности.

А также возможности только для мобильного приложения:

  • отправляются push-уведомления;
  • публикуются stories;
  • подключается AppMetrika.

Установка

Установка на примере модуля “Интеграция с Мобильным приложением” (рис.1) Устанавливаем модуль, таким образом будет установлено демо вашего мобильного приложения. Производим настройки внешнего вида приложения, оформление главной страницы, меню, поиска, каталога и т.д.


Рисунок 1. Настройка приложения через модуль

После завершения настроек, необходимо зарегистрировать приложение на разных платформах такие как App Store, Google Play и RuStore.

Для регистрации приложения в  данных сервисах необходимо загрузить файл определенного формата. Данный файл формирует и предоставляет наша техническая поддержка (https://www.advantshop.net/support).

После предоставления файла, приложение размещается и регистрируется на платформах App Store, Google Play и RuStore  с прохождением всех проверок.

После проверки приложение будет доступно для установки всем пользователям вашего магазина

Установка мобильного приложения выполняется из магазина приложений Google Play, PlayMarket, App Store, RuStore. 

Для установки приложения на мобильное устройство с операционной системой Android выполните следующие действия:

1. Зайдите в магазин приложений Google Play

2. Воспользуйтесь поисковой строкой и найдите приложение Advantshop
3. Нажмите на кнопку “Установить” для автоматической загрузки приложения (рис.2).


Рисунок 2. Установка приложения в GooglePlay

4. После успешной загрузки приложения на экране устройства отображается ярлык запуска.

Также пользователи могут перейти к скачиванию приложения по кнопкам установки мобильного приложения, указанным на сайте (рис.3).


Рисунок 3. Кнопки установки приложения

Обновление
Если доступно обновление мобильного приложения, то при входе в приложение появится уведомление, на которое можно нажать, чтобы скачать новую версию из магазина приложений.

Удаление

Для удаления мобильного приложения необходимо на мобильном устройстве запустить приложение Google Play ( PlayMarket, App Store, RuStore ) и в нем удалить мобильное приложение (рис.4).

Рисунок 4. Удаление приложения


Работа с приложением

Запуск приложения

Для запуска приложения нажмите на соответствующую иконку, которая расположена в меню мобильного устройства (рис.5).


Рисунок 5. Запуск мобильного приложения

Главная страница приложения

После скачивания и запуска приложения, как правило открывается главная страница приложения.

Так может выглядеть главная страница мобильного приложения (рис. 6,7,8).


Рисунок 6.

В зависимости от выбранных настроек на главной можно выводить категории, товары, строку поиска, виджет доставки, информационные слайды.
Настройки производятся в панели магазина приложения. В качестве примера приводим настройку мобильного приложения через модуль “Интеграция с мобильным приложением”  (https://www.advantshop.net/help/pages/oformlenie-glavnoi-stranitsy).

Каталог

Каталог доступен с главной страницы или по пункту меню “Каталог”. При открытии каталога в зависимости от настроек будут доступны категории или товары. Товары могу выводится в виде плитки, списка или в режиме подробно, с добавлением фильтра и сортировки по параметрам и брендам.

Так может выглядеть каталог (рис.7).

Рисунок 7. Каталог мобильного приложения в режиме “плитка”


Рисунок 8. Каталог мобильного приложения в режиме “список”

Рисунок 9. Каталог мобильного приложения в режиме “подробно”

Товары и карточка товара

Товары могут быть доступны как с главной страницы , так и непосредственно с каталога товаров.

Карточка товара сформирована таким образом, чтобы пользователь максимально мог оценить товар и приобрести его без затруднения без дополнительных действий.

Для товара можно добавить описание, характеристики несколько модификаций, отзывы о товарах, видео.

Так может выглядеть карточка товара мобильного приложения (рис.10)

Рисунок 10. Карточка товара

Корзина

Корзина доступна в меню. При переходе в корзину открывается страница с добавленными товарами. Здесь можно оформить заказа, отредактировать количество товаров, применить купон к покупке.
Так может выглядеть корзина мобильного приложения (рис.11).

Рисунок 11. Корзина мобильного приложения

Профиль

Чтобы пользователи мобильного приложения магазина могли совершать покупки, получать бонусы и отслеживать историю своих покупок, необходимо авторизация (рис.12).


Рисунок 12. Авторизация в мобильном приложении

После авторизации пользователям будет доступен личный кабинет по вкладке “Профиль”, где буду отображены такие данные как адрес, история заказов, бонусная карта (рис.13).


Рисунок 13. Профиль пользователя мобильного приложения

Контакты

На странице контактов указывается адрес с возможностью добавления карты местоположения. Контакты доступны с пункта главного меню

Так может выглядеть страница контактов  в мобильном приложении на вкладке “Контакты” (рис.14).


Рисунок 14 Страница “Контакты” мобильного приложения

Если приложение создано для ресторана или кафе, может быть указан список ресторанов с адресом и местоположением на карте

Внутренние настройки мобильного приложения на примере модуля “Интеграция с мобильным приложением” Адвантшоп можно посмотреть в статьях  https://www.advantshop.net/help/pages/mobile-application

Техническая архитектура ПО

Описание архитектуры

Мобильное приложение AdvantShop разработано на кроссплатформенном фреймворке Flutter. Представляет собой монолитное клиентское приложение адаптированное под устройства iOS и Android.

Приложение реализовано реализует паттерн MVC.

Приложение содержит 38 экранов.

В качестве локального хранилища данных используется пакет SharedPreferences, в котором приложение хранит пользовательские данные на устройстве пользователя.

Для получения внешних данных используется адаптер в виде API Json, внутреннего стандартизированного Json контракта - AdvantShop ApiDataContract.

AdvantShop ApiDataContract может быть реализован любым внешний сервисов обладателем нужных данных.

Описание методов AdvantShop ApiDataContact

GET /api/init Инициализация

Покупатель

POST /api/users/signin  Авторизация по эл. почте

POST /api/users/signinbyphone  Авторизация (или регистрация) по sms-коду. Отсылка sms-кода по номеру телефона.

POST /api/users/signinbyphoneconfirmcode  Авторизация (или регистрация) по sms-коду. Проверка введенного кода и авторизация.

GET /api/users/me  Получить текущего покупателя

POST /api/users/me  Изменить текущего покупателя

POST /api/users/me/smsphoneconfirmation  Послать смс-код по номеру телефона

POST /api/users/me/smsphoneconfirmationcode  Проверка смс-кода

GET /api/users/me/bonuses  Бонусная карта покупателя

GET /api/users/me/customer-fields  Получить доп. поля покупателя

POST /api/users/me/remove-account  Удалить аккаунт пользователя

POST /api/users/me/fcmtoken Обновить Firebase Cloud Messaging token

Контакты покупателя

GET /api/users/me/contacts  Получить список контактов пользователя

POST /api/users/me/contacts/add  Добавить новый контакт для пользователя

POST /api/users/me/contacts/{contactId}/update  Обновить контакт для пользователя

POST /api/users/me/contacts/{contactId}/delete  Удалить контакт для пользователя

GET /api/users/me/statistics  Статистика по пользователю

Заказ

GET /api/orders/me  Список заказов покупателя

GET /api/orders/me/{id}  Получить заказ покупателя

POST /api/orders/me/{id}/review Оценить заказ

POST /api/orders/me/{id}/cancel  Отменить заказ

Каталог

POST /api/catalog  Получить каталог

POST /api/catalog/all  Получить одностраничный каталог

POST /api/catalog/filter  Получить фильтр каталога

POST /api/catalog/filtercount  Получить кол-во товаров по фильтру

Поиск

POST /api/search  Поиск по товарам и категориям

POST /api/search/filter  Получить фильтр для поиска

POST /api/search/filtercount  Получить кол-во товаров по фильтру

POST /api/search/autocomplete  Поиск автозаполнение по товарам и категориям

Товар

GET /api/products/{id}  Получить товар

POST /api/products/{id}/price  Расчитать цену товара

GET /api/products/{id}/properties  Получить характеристики товара

GET /api/products/{id}/reviews  Получить отзывы товара

POST /api/products/{id}/reviews/add  Добавить отзыв

GET /api/products/{id}/related-products  Получить cross-sell, up-sell товары

GET /api/products/{id}/gifts  Получить подарки для товара

GET /api/products/{id}/stocks  Получить список складов с наличием

GET /api/products/{id}/price-rule-amount-list  Получить список тип цен в зависимости от кол-ва

Корзина

POST /api/cart  Получить корзину на основе переданных товарах

GET /api/cart  Получить текущую корзину

Купон

POST /api/coupons/me/add  Применить купон

POST /api/coupons/me/remove Удалить купон

Оформление заказа

POST /api/checkout  Передать данные для оформления заказа

Под заказ

GET /api/preorder/settings  Получить настройки для раздела "под заказ"

POST /api/preorder  Оформить под заказ

Способы доставки

GET /api/deliveries/types  Получить типы доставок

POST /api/deliveries/check-delivery-zone  Проверить адрес на возможность доставки доставками с типом "Доставки по зонам"

POST /api/deliveries/calculate  Расчет доставки

GET /api/deliveries/point-deliveries  Получить пункты выдачи

Страны, регионы, города

GET /api/locations/maincities  Список основных стран и городов

GET /api/locations/city  Получить город по названию или индексу

POST /api/locations/countries Список стран

Бонусная система

POST /api/bonus-cards/me/add  Создание бонусной карты для покупателя

Избранное

GET /api/wishlist  Получить товары из избранного

POST /api/wishlist/add  Добавить товар в избранное

POST /api/wishlist/remove  Удалить товар из избранного

Настройки

GET /api/settings/dadata Настройки Dadata

Статические блоки

GET /api/staticblocks  Получить статические блоки

Статические страницы

GET /api/staticpages  Получить статические страницы

GET /api/staticpages/{id}  Получить статическую страницу

Модули

GET /api/modules/{id}/block  Получить блок срендеренный модулем

v2

Инициализация

GET /api/v2/init Инициализация

Лиды

POST /api/v2/leads/add Создание лида

Способы доставки

POST /api/v2/deliveries  Получить доставки

Мы используем cookies. Подробнее...