86 lines
6.3 KiB
Markdown
86 lines
6.3 KiB
Markdown
#Приложение Checker.
|
||
|
||
Для запуска необходимо установить [Dart](https://www.dartlang.org/install) - язык программирования и
|
||
[flutter](https://flutter.io/setup/) - фреймворк для создания кроссплатформенных мобильных приложений на этом языке.
|
||
|
||
Для сборки и запуска приложения используются команды flutter run (собирает debug apk, устанавливает его на устройство) и
|
||
flutter build (собирает release apk, не устанавливает на устройство).
|
||
|
||
Команды run и build необходимо выполнять с опцией --flavor, чтобы apk файл собирался с необходимыми ресурсами и настройками.
|
||
Название конкретной flavor передается в аргументе. Все flavors перечислены в файле android/app/build.gradle.
|
||
|
||
#Добавление брендированного приложения
|
||
|
||
Для добавления брендированного приложения с названием %name% необходимо:
|
||
|
||
1) В каталог assets/ положить изображения %name%_logo.png и %name%_splash.png
|
||
В качестве splash очень желательно использовать квадрат белого цвета 100x100.
|
||
|
||
2) В файл pubscpec.yaml в раздел assets/ добавить пути этих изображений.
|
||
|
||
3) В файл lib/resources.dart в методы ```getPrimaryColor``` и ```getButtonsColor```
|
||
добавить цвета необходимые цвета.
|
||
|
||
4) В файл android/app/build.gradle в раздел productFlavors добавить блок следующего вида:
|
||
```
|
||
%name% {
|
||
applicationId 'com.dinect.autobonus'
|
||
buildConfigField "String", "locale", "\"ru\""
|
||
buildConfigField "String", "flavor", "\"%name%\""
|
||
buildConfigField "int", "currency", "643"
|
||
buildConfigField "String", "supportPhone", "\"8-800-234-6064\""
|
||
buildConfigField "String", "supportUrl", "\"https://www.auto-club.biz\""
|
||
buildConfigField "String", "endpoint", "\"https://pos-api-int.dinect.com/20130701/\""
|
||
buildConfigField "String", "appToken", "\"9fec83cdca38c357e6b65dbb17514cdd36bf2a08\""
|
||
}
|
||
```
|
||
|
||
где все параметры необходимо заменить на соответствующие приложению значения.
|
||
|
||
6) В каталог android/app/src/ добавить каталоги %name%/res в которых воссоздать структуру ресурсов аналогичную представленной в каталоге android/app/src/pip/res/:
|
||
Каталоги mipmap должны содержать иконки, каталоги values должны содержать .xml файлы с названием приложения в следующем формате:
|
||
```
|
||
<resources>
|
||
<string name="app_name">%name%</string>
|
||
</resources>
|
||
```
|
||
|
||
Иконки проще всего нарезать тут:
|
||
https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html
|
||
|
||
В качестве Foreground выбрать иконку приложения размером 512x512, выставить необходимые параметры и скачать архив с нарезанными иконками.
|
||
|
||
После выполнения всех этих пунктов появится возможность собирать приложение
|
||
как описано выше(flutter run --flavor %name% либо flutter build apk --flavor %name%).
|
||
|
||
#Добавление локализации приложения
|
||
|
||
1) В каталог assets содержит каталоги values-XX в которых находятся файлы локализаций strings.xml
|
||
|
||
2) В каталог android/app/src/main/res добавить каталог values-%locale% с единственным файлом strings.xml.
|
||
Файл должен иметь структуру полностью аналогичную файлу android/app/src/main/res/values/strings.xml, измениться должны только значения для строк.
|
||
|
||
#IOS
|
||
0) Установите flutter https://flutter.io/setup-macos/
|
||
1) В Xcode создать target аналогично существующим (Autobonus, Develop, PIP, Dinect). Лучше делать путем дублирования существующих
|
||
2) При создании таргета автоматически создается build scheme с таким же именем и привязывается к нему
|
||
3) В настройках созданного target прописать bundleId (например com.dinect.something)
|
||
4) В файле ios/Runner/AppDelegate.m определить словарь настроек аналогично существующим
|
||
5) Для того чтобы сбилдить нужный брэнд в Xcode указать нужную схему
|
||
|
||
При добавлении таргета необходимо в каталог ios
|
||
1. дописать структуру с именем таргета в podfile
|
||
2. выполнить
|
||
pod deintegrate
|
||
rm Podfile.lock
|
||
rm - rf pods
|
||
source ~/.bash_profile
|
||
pod install
|
||
|
||
|
||
добаваление аналитики FireBase в ios/
|
||
Чтобы добавить для ios приложения GoogleServices.plist нужно через Finder создать в каталоге checker/ios подкаталог с названием проекта и туда положить новый GoogleServices.plist
|
||
|
||
Потом из этого каталога перетащить этот файл в корень проекта. Тащить мышкой в синюю иконку Runner слева над структурой проекта. Появится диалоговое окно, в котором нужно выбрать таргет,
|
||
в котором этот файл будет доступен. Нужно выбрать нужный проект. В pbproject пропишется, что этот plist относится именно к этому таргету и при сборке таргета будет цепляться нужный plist.
|