Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!

Подружить GODOT экспорт в Android и OK.RU, написав плугин на C++

истекло время актуальности


Подружить GODOT экспорт в Android(https://github.com/godotengine/godot/tree/3.1) и API Одноклассники https://apiok.ru/dev/sdk/android

Как пишутся плугины для GODOT:
https://www.youtube.com/watch?v=LFtNGsjM8Js
https://www.youtube.com/watch?v=2hK7vOigbLQ

Выдаю проект-болванку(прикреплен сюда). Эти все функции должны работать в Android в живую:

image

При нажатии на кнопку LOGIN должно появляться такое окно:

image

Затем такое:

image
Кнопки Invite и Suggest(отличия минимальны по сути) должны вызывать такое окно с переданными в них параметрами(текст в данном случае, и остальное)

image


Кнопка Publish to Feed вызывает такое окно(только без картинки в посте, только текст, запрос будет в проекте-болванке):


image


В случае если на смартфоне установлено приложение соц сети ОК, то должны появляться окна из него, по сути такие же самые только желтые. Это в принципе делает сам SDK, смотрит есть ли в Андройде приложение ОК и использует его.
Но на всякий случай этот момент опишу. Вот так они выглядят:

image
Результаты действий должны приходить обратно в GODOT и вызываться соответствующие callback.
Rest функцию сделать универсальной rest(<метод апи>, <параметры>, callback, callback_error)
Соответственно на callback приходят ответы от API в виде строки содержащей сырой ответ в JSON от API.


Для сборки Android export template исходники брать тут: https://github.com/godotengine/godot ВНИМАНИЕ ветку 3.1(работаем только с ней)

Есть правило: версия редактора и export templates должна быть собрана на базе одной версии(и с плугином, который вы напишите)


Для примера как запаковываются готовые export templates: https://downloads.tuxfamily.org/godotengine/3.1.1/Godot_v3.1.1-stable_export_templates.tpz


Android SDK для сборки брать минимальной версии согласно рекомендациям по сборке с сайта GODOT.


Собирать Android экспорт такой строкой(*обсуждаемо):

scons p=android target=release android_arch=armv7 optimize=speed tools=no use_lto=no deprecated=no gdscript=yes minizip=no xaudio2=no verbose=yes progress=yes warnings=all werror=no dev=no vsproj=no macports_clang=no disable_3d=yes disable_advanced_gui=yes no_editor_splash=yes builtin_bullet=no builtin_certs=yes builtin_enet=no builtin_freetype=yes builtin_libogg=yes builtin_libpng=yes builtin_libtheora=no builtin_libvorbis=yes builtin_libvpx=no builtin_libwebp=yes builtin_libwebsockets=yes builtin_mbedtls=no builtin_miniupnpc=no builtin_opus=no builtin_pcre2=yes builtin_recast=no builtin_squish=no builtin_thekla_atlas=no builtin_xatlas=no builtin_zlib=yes builtin_zstd=yes javascript_eval=yes use_llvm=no use_static_cpp=yes debug_symbols=no module_bmp_enabled=yes module_bullet_enabled=no module_csg_enabled=no module_cvtt_enabled=no module_dds_enabled=no module_enet_enabled=no module_etc_enabled=yes module_freetype_enabled=yes module_gdnative_enabled=no module_gdscript_enabled=yes module_gridmap_enabled=no module_hdr_enabled=no module_jpg_enabled=yes module_mbedtls_enabled=no module_mobile_vr_enabled=no module_mono_enabled=no module_ogg_enabled=yes module_opensimplex_enabled=no module_opus_enabled=no module_pvr_enabled=no module_recast_enabled=no module_regex_enabled=no module_squish_enabled=no module_stb_vorbis_enabled=yes module_svg_enabled=yes module_tga_enabled=no module_thekla_unwrap_enabled=no module_theora_enabled=no module_tinyexr_enabled=no module_upnp_enabled=no module_visual_script_enabled=no module_vorbis_enabled=no module_webm_enabled=no module_webp_enabled=yes module_websocket_enabled=yes module_xatlas_unwrap_enabled=no


* например может быть target=release_debug на этапе разработки плугина.

  А на выходе target=release и две сборки под архитектуры arch=armv7 и arm64v8


А редактор под windows как описано тут: https://docs.godotengine.org/en/3.1/development/compiling/compiling_for_windows.html

Архитектура: x64


После компиляции, собранный экспорт лучше(скриптом) запаковать в ZIP(с нужной структурой, там все очень просто, подсмотреть в готовых exports templates) и чтобы каждый раз руками не инсталлировать, закинуть в "C:\Documents and Settings\%USER%\AppData\Roaming\Godot\templates"\

Далее делаете Project -> Export, настраиваете(один раз)

Отладку думаю лучше делать на живом аппарате Android, подключить шнурком к USB, adb отладка что была включена, драйвера/сам adb и в GODOT при подключении смарфона он вверху справа(в строке с GLES2) добавит маленький значок Android нажав по нему, он все сам соберет, сам запустит на девайсе. Это ускорит процесс.


Мелочи:

Думаю это не нужно, в проекте GODOT флаг и так всегда включен <uses-permission android:name="android.permission.INTERNET"/>


Проект-болванка GODOT прикреплена ниже.


На выходе от вас:
1. Плугин и его исходники и собранный на его базе экспорт для Android и двух архитектур(armv7 и arm64v8).
2. Скомпилированный редактор Godot под Windows x64, с требуемым плугином.

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



Обновление #1 от 19 мая в 04:56
Пример плугина для Facebook: https://github.com/DrMoriarty/godot-facebook
Нужно тоже самое для Одноклассников

Приложения 1

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


  1. 1 день100 ₴
    Oleh Kuzmyak
     236   3  0

    Напишите мне в личку обсудим цену и сроки выполнения. Как я понял нужно написать скрипт на с++ чтоб свзящать уже готовый интерфейс с GODOT.

    Украина Львов | 18 мая в 16:56 |