SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
Очевидное-невероятное
или
хитрости разработки на Unity Android
Руслан Григорьев, Инженер по тестированию ПО, Unity Technologies
о докладчике
• 10+ лет в игроиндустрии (в том числе в отечественной) в разных
компаниях: Toolsmedia, LG Electronics, Creat Studios, Reaxion и т.д.
• Множество выпущенные проектов на платформах от PC/PS2 до
iOS/Android/Brew/J2ME/Symbian.
• Почти 3 счастливых года в Unity Technologies в качестве QA по
мобильным платформам: Android/Windows Phone 8.
общий подход к разработке на android . прототипирование и быстрые итерации
• Build & Run
• Android Tools: adb, monitor, etc [demo]
• Android Remote [demo]
• Custom build pipeline. Unity API: BuildPipeline.BuildPlayer [demo]
• Profiling
• Debugging
• …and more
общий подход к разработке на android . зоопарк устройств
Ох уж это разнообразие...
• ARMv7 devices only / with NEON extention only. Почему?
• Form factor: smatrphones/tablets и нечто посередине. Автоматически поддерживаем
все разрешения и еще эмулируем в редакторе. + Unity API: Screen.currentResolution
• GPU Families: PowerVR / nVidia Tegra / Qcomm Adreno / ARM Mali (+ Vivante / VideoCore)
• OpenGL ES 2.0 / 3.0. Оба стандарта поддерживаются.
• Android OS versions: поддержка от Gingerbread (API Level 9) и выше. Только
официальные версии от Google.
• Android (US, EU, etc)/ Android Korean / Android Chinese
общий подход к разработке на android . зоопарк устройств
...и немного о сборе статистики: Статистику надо собирать =) А как?
• Разнообразные серисы: Flurry, Google Analytics, App Annie. Плагины на AssetStore
• Редактор Unity. Submit HW statistics. С чего бы это?
• Мы делимся информацией: http://stats.unity3d.com/
• А в будущем будем предоставлять сервис Unity Analytics
• Статистика от Google: https://developer.android.com/about/dashboards/index.html
Есть одно простое правило работы с зоопарком android устройств:
Невозможно прокрыть ВСЕ. Но возможно и нужно выбрать ГЛАВНОЕ.
Проэтому знай и люби свой зоопарк
Так как узнать спецификацию моего устройства?
• $ adb shell cat system/build.prop [demo]
• Unity API: SystemInfo [demo]
• Для проверки и точной иформации: http://pdadb.net
общий подход к разработке на android . publishing на google play
Ведущий Android Store Front. Поддерживается Google
Android Developer Program. Developer Console
• Подпись keystore: встроена в редактор unity
• LVL Plugin на AssetStore: Google Play Application License Verification (*made by unity)
• OBB Plugin на AssetStore: Google Play OBB Downloader (*made by unity)
• Множество других плагинов на AssetStore
• Unity Error Reporting service over Android Error Reporting (embedded)
Crashes & ANRs
<log>
java.lang.Error: FATAL EXCEPTION [UnityMain]
Unity version : 4.3.0f1
Device model : ZTE KIS PLUS
Device fingerprint: /(--removed due to privacy concerns--)
Caused by: java.lang.Error: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
Build fingerprint: '/(--removed due to privacy concerns--)'
Revision: '0'
...
</log>
unity android и java . плагины и даже больше
• AndroidJNIHelper: [demo]
• AndroidJavaClass
• AndroidJavaObject
• Java Exception propagation to Unity script [demo]
• Android Java Plugins (AJP) [demo]
• Android Native Plugins (ANP) [demo]
• Android Library Projects (ALP) [demo]
• Custom Manifest
• AndroidProxy: Java interfaces
• AndroidJavaRunable(uses AndroidProxy): RunOnUiThread
• Export as Android Project. Backward compatibility [demo]
unity android и java . плагины и даже больше
unity android и java . плагины и версии unity
Unity 3.5 Android Java Plugins
• Custom Manifest: 3 unity activities
• Manual conflicts resolving. Плагины с ссылками на ресурсы.
• Нет поддержки ALP
Unity 4.3 Android Java Plugins
• Custom manifest: unity native activity only
• Support for old (3.5) Android Plugins custom manifest
• Поддержка ALP. Лучший способ для плагинов со ссылками на ресурсы
Unity 5.0 Android Java Plugins
• Android plugin importer. Только для “простых” jar. Можно поместить где угодно.
• No Support for old (3.5) Android Plugins custom manifest
• Поддержка ALP. См. Выше
Если Вы пишете плагины, то настоятельно рекомендую ипользовать формат ALP
bug reporting и сообщество
Unity Bug Reporter / Как сообщать об ошибках
• Auto filled data
• Steps to repro
• Repro project
• Android specific
• Device info
• Logcat
Issue tracker / Голосуй за свой баг репорт!
• http://issuetracker.unity3d.com
Community / Сообщество
• Closed alpha groups. Только по рекомендации
• Beta groups. Можно попроситься
Что дальше?
• http://unity3d.com/community
спасибо за внимание
Вопросы ?
Контакт инфо:
ruslan@unity3d.com

Weitere ähnliche Inhalte

Ähnlich wie Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android

{HSE Inc} Разработка под Android
{HSE Inc} Разработка под Android{HSE Inc} Разработка под Android
{HSE Inc} Разработка под Android
Pavel Krivoruchko
 
Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?
Kuban Dzhakipov
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qa
ISsoft
 
Rebrov selenium camp2013
Rebrov selenium camp2013Rebrov selenium camp2013
Rebrov selenium camp2013
Andrey Rebrov
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
solit
 
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для AndroidGradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для Android
Anton Rutkevich
 
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
solit
 
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью GradleЛюбовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
GeeksLab Odessa
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest
 

Ähnlich wie Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android (20)

{HSE Inc} Разработка под Android
{HSE Inc} Разработка под Android{HSE Inc} Разработка под Android
{HSE Inc} Разработка под Android
 
Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?Android: Как создать свое первое приложение?
Android: Как создать свое первое приложение?
 
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
 
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
 
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для AndroidGradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для Android
 
Создай свое первое Android приложение.
Создай свое первое Android приложение. Создай свое первое Android приложение.
Создай свое первое Android приложение.
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qa
 
Rebrov selenium camp2013
Rebrov selenium camp2013Rebrov selenium camp2013
Rebrov selenium camp2013
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
 
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
 
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для AndroidGradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для Android
 
Жизненный цикл мобильной игры глазами тестировщика‏
Жизненный цикл мобильной игры глазами тестировщика‏Жизненный цикл мобильной игры глазами тестировщика‏
Жизненный цикл мобильной игры глазами тестировщика‏
 
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
Solit 2014, Инструменты автоматизации тестирования мобильных приложений. Срав...
 
Автоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложенийАвтоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложений
 
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма..."Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
 
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма..."Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Ма...
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
 
Introduction to Mobile applications testing
Introduction to Mobile applications testingIntroduction to Mobile applications testing
Introduction to Mobile applications testing
 
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью GradleЛюбовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
 

Mehr von DevGAMM Conference

Mehr von DevGAMM Conference (20)

The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
 

Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android

  • 1. Очевидное-невероятное или хитрости разработки на Unity Android Руслан Григорьев, Инженер по тестированию ПО, Unity Technologies
  • 2. о докладчике • 10+ лет в игроиндустрии (в том числе в отечественной) в разных компаниях: Toolsmedia, LG Electronics, Creat Studios, Reaxion и т.д. • Множество выпущенные проектов на платформах от PC/PS2 до iOS/Android/Brew/J2ME/Symbian. • Почти 3 счастливых года в Unity Technologies в качестве QA по мобильным платформам: Android/Windows Phone 8.
  • 3. общий подход к разработке на android . прототипирование и быстрые итерации • Build & Run • Android Tools: adb, monitor, etc [demo] • Android Remote [demo] • Custom build pipeline. Unity API: BuildPipeline.BuildPlayer [demo] • Profiling • Debugging • …and more
  • 4. общий подход к разработке на android . зоопарк устройств Ох уж это разнообразие... • ARMv7 devices only / with NEON extention only. Почему? • Form factor: smatrphones/tablets и нечто посередине. Автоматически поддерживаем все разрешения и еще эмулируем в редакторе. + Unity API: Screen.currentResolution • GPU Families: PowerVR / nVidia Tegra / Qcomm Adreno / ARM Mali (+ Vivante / VideoCore) • OpenGL ES 2.0 / 3.0. Оба стандарта поддерживаются. • Android OS versions: поддержка от Gingerbread (API Level 9) и выше. Только официальные версии от Google. • Android (US, EU, etc)/ Android Korean / Android Chinese
  • 5. общий подход к разработке на android . зоопарк устройств ...и немного о сборе статистики: Статистику надо собирать =) А как? • Разнообразные серисы: Flurry, Google Analytics, App Annie. Плагины на AssetStore • Редактор Unity. Submit HW statistics. С чего бы это? • Мы делимся информацией: http://stats.unity3d.com/ • А в будущем будем предоставлять сервис Unity Analytics • Статистика от Google: https://developer.android.com/about/dashboards/index.html Есть одно простое правило работы с зоопарком android устройств: Невозможно прокрыть ВСЕ. Но возможно и нужно выбрать ГЛАВНОЕ. Проэтому знай и люби свой зоопарк Так как узнать спецификацию моего устройства? • $ adb shell cat system/build.prop [demo] • Unity API: SystemInfo [demo] • Для проверки и точной иформации: http://pdadb.net
  • 6. общий подход к разработке на android . publishing на google play Ведущий Android Store Front. Поддерживается Google Android Developer Program. Developer Console • Подпись keystore: встроена в редактор unity • LVL Plugin на AssetStore: Google Play Application License Verification (*made by unity) • OBB Plugin на AssetStore: Google Play OBB Downloader (*made by unity) • Множество других плагинов на AssetStore • Unity Error Reporting service over Android Error Reporting (embedded) Crashes & ANRs <log> java.lang.Error: FATAL EXCEPTION [UnityMain] Unity version : 4.3.0f1 Device model : ZTE KIS PLUS Device fingerprint: /(--removed due to privacy concerns--) Caused by: java.lang.Error: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000 Build fingerprint: '/(--removed due to privacy concerns--)' Revision: '0' ... </log>
  • 7. unity android и java . плагины и даже больше • AndroidJNIHelper: [demo] • AndroidJavaClass • AndroidJavaObject • Java Exception propagation to Unity script [demo] • Android Java Plugins (AJP) [demo] • Android Native Plugins (ANP) [demo] • Android Library Projects (ALP) [demo] • Custom Manifest • AndroidProxy: Java interfaces • AndroidJavaRunable(uses AndroidProxy): RunOnUiThread • Export as Android Project. Backward compatibility [demo]
  • 8. unity android и java . плагины и даже больше
  • 9. unity android и java . плагины и версии unity Unity 3.5 Android Java Plugins • Custom Manifest: 3 unity activities • Manual conflicts resolving. Плагины с ссылками на ресурсы. • Нет поддержки ALP Unity 4.3 Android Java Plugins • Custom manifest: unity native activity only • Support for old (3.5) Android Plugins custom manifest • Поддержка ALP. Лучший способ для плагинов со ссылками на ресурсы Unity 5.0 Android Java Plugins • Android plugin importer. Только для “простых” jar. Можно поместить где угодно. • No Support for old (3.5) Android Plugins custom manifest • Поддержка ALP. См. Выше Если Вы пишете плагины, то настоятельно рекомендую ипользовать формат ALP
  • 10. bug reporting и сообщество Unity Bug Reporter / Как сообщать об ошибках • Auto filled data • Steps to repro • Repro project • Android specific • Device info • Logcat Issue tracker / Голосуй за свой баг репорт! • http://issuetracker.unity3d.com Community / Сообщество • Closed alpha groups. Только по рекомендации • Beta groups. Можно попроситься Что дальше? • http://unity3d.com/community
  • 11. спасибо за внимание Вопросы ? Контакт инфо: ruslan@unity3d.com