Files
checker/README.md
2018-05-19 23:59:21 +07:00

86 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#Приложение 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.