alex_lip
alex_lipMarch 29, 2018, 1:33 a.m.

V-Play - имеет ли смысл изучить?

Вот здесь https://v-play.net/pricing/  пишут что вроде бы бесплатно для компаний с оборотом меньше 50к за прошлый год. То есть можно смело баловаться и размещать на андроид маркете?
Насколько удобный фреймворк? С учетом того, что QT/QML быстро развиваются успевают ли разработчики этого фреймворка переписывать свою библиотеку под новые версии?

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

26
Evgenii Legotckoi
  • March 29, 2018, 3:33 a.m.
  • The answer was marked as a solution.

Имеет смысл его попробовать. Я подписан на рассылку этого V-PLAY. И они развиваются судя по новостям также довольно быстро.
По условиям - действительно бесплатно. Но раньше он был платный, вернее подавляющее число функционала было платным. Например, встраиваемые рекламные блоки admob были только в платной версии. Но с год назад они перенесли этот функционал в бесплатную версию, что говорит о том, что они имеют неплохие финансовые возможности в своём проекте, а значит должны успевать развиваться.
Также они являются партнёрами Qt, а значит у них должна быть расширенная поддержка от компании Qt. Так что должны успевать хотя бы в плане основного функционала по моему мнению.

Под капотом для игр они используют движок cocos2d.
Так что попробуйте. Но учтите, что при установке этот V-play модифицирует Qt Creator и у них собственный комплект библиотек Qt.
    alex_lip
    • March 29, 2018, 3:49 a.m.
    Но учтите, что при установке этот V-play модифицирует Qt Creator и у них собственный комплект библиотек Qt.

    Да вот и опасаюсь. Но я думаю если установить в разные папки можно чистый QT и QT c V-play отдельно юзать. У них неплохая документация с примерами. Тот же самый rest расписан на слое QML (я его разбираю на слое QT). На самом деле если проводить аналогию с JS - то для JS я использовал фреймворк JQuery - в принципе для моих нужд хватало.
    Если вы его пробовали - как быстродействие и размер выходного файла по сравнению с чистым QML?

      Evgenii Legotckoi
      • March 29, 2018, 3:56 a.m.

      За сам комплект Qt, который вы уже имеете можете не опасаться, можно будет также все комплекты настроить и всё будет работать, а V-PLAY просто поставите в отдельную папку.

      То, что касается модификации Qt Creator, то он добавляет в него авторизацию на серверах V-PLAY, поскольку там имеется привязка к аккаунту, и добавляет свои примеры. В принципе ничего критичного.
      Что касается быстродействия, то не скажу, я хочу его попробовать в будущем, если всё-таки решу писать приложение для сайта, но глобально не пробовал его, поэтому ничего не скажу. Попробуйте. Будут вопросы, задавайте, посмотрим, чем помогу.
        alex_lip
        • March 29, 2018, 4:18 a.m.

        Спасибо.

          alex_lip
          • March 30, 2018, 3:39 a.m.

          Поставил V-Play - пытаюсь скомпилить пример. Под десктоп норм-  а под андроид пишет

          FAILURE: Build failed with an exception.


          * What went wrong:

          A problem occurred configuring root project 'android-build'.

          > Could not resolve all dependencies for configuration ':_debugApkCopy'.

          > Could not find com.google.android.gms:play-services-ads:11.8.0.

          Searched in the following locations:

          file:/C:/android/sdk/extras/google/m2repository/com/google/android/gms/play-services-ads/11.8.0/play-services-ads-11.8.0.pom

          file:/C:/android/sdk/extras/google/m2repository/com/google/android/gms/play-services-ads/11.8.0/play-services-ads-11.8.0.jar

          file:/C:/V-PlaySDK/Examples/V-Play/demos/build-Squaby-Android_armeabi_v7a_GCC_4_9_Qt_Qt_5_10_1_Android_armv7_V_Play-Release/android-build/sdk-manager/com/google/android/gms/play-services-ads/11.8.0/play-services-ads-11.8.0.jar

          file:/C:/android/sdk/extras/android/m2repository/com/google/android/gms/play-services-ads/11.8.0/play-services-ads-11.8.0.pom

          file:/C:/android/sdk/extras/android/m2repository/com/google/android/gms/play-services-ads/11.8.0/play-services-ads-11.8.0.jar

          file:/C:/V-PlaySDK/Examples/V-Play/demos/build-Squaby-Android_armeabi_v7a_GCC_4_9_Qt_Qt_5_10_1_Android_armv7_V_Play-Release/android-build/sdk-manager/com/google/android/gms/play-services-ads/11.8.0/play-services-ads-11.8.0.jar

          Required by:

          project : > net.vplay.plugins:plugin-admob:2.15.1-1

          project : > net.vplay.plugins:plugin-chartboost:2.15.1-1


          Похоже какие-то используемые плагины требуют старый SDK ?





            alex_lip
            • March 30, 2018, 3:44 a.m.

            Пытался в андроид манифест поменять целевую платформу - безрезультатно.

              alex_lip
              • March 30, 2018, 4:43 a.m.

              Это плагины для монетизации admob и charboost - для их  использования нужна лицензия - но вроде код лицензии генерируется бесплатно. Непонятно нафига в примеры их сувать. И как теперь от них избавиться. В конфиге убрал, но видимо этого недостаточно.

                Evgenii Legotckoi
                • March 30, 2018, 7:24 a.m.

                На сайте V-Play можно сгенерировать лицензионные ключи для вашего приложения. Вкладка Devs -> License Key.

                Соответственно требуется авторизация. Как понимаю, нужно сгенерировать ключ под вашу версию приложения и добавить его в приложение, там есть пример кода для добавления ключа.
                import VPlazApps 1.0
                import VPlazPlugins 1.0
                
                App {
                    licenseKey: "YOURKEY"
                
                    AdMobInterstitial {
                        id: admob
                        adUnitId: "ca-app-pub-xxx"
                    }
                    AppButton {
                        onClicked: admob.showInterstitialIfLoaded()
                    }
                }
                  alex_lip
                  • March 30, 2018, 8:31 a.m.
                  • (edited)

                  Насколько я понял - Компилятор ругается на отсутствие необходимых библиотек для плугинов

                  то есть что-то надо докачать

                    alex_lip
                    • March 30, 2018, 8:34 a.m.

                    а где зависимости можно посмотреть?
                    Could not resolve all dependencies for configuration ':_debugApkCopy'.

                    > Could not find com.google.android.gms:play-services-ads:11.8.0.

                      Evgenii Legotckoi
                      • March 30, 2018, 8:39 a.m.

                      Как я понимаю, здесь не хватает пакетов из SDK Android.

                        alex_lip
                        • March 30, 2018, 9:25 a.m.

                        У меня установлена версия google play до  11.04 - а требуется 11.8 - откуда обновить?

                          alex_lip
                          • March 30, 2018, 9:33 a.m.

                          https://www.apkmirror.com/uploads/?q=google-play-services   - 11.8 - нет??? Есть 11.7 и 11.9 ??

                            Evgenii Legotckoi
                            • March 30, 2018, 9:36 a.m.

                            Погодите.. Вам скорее всего нужен SDK комплект, который устанавливается с Android Studio, зачем Вы смотрите APK гуглосервисов?

                            Вы же вроде устанавливали все SDK и NDK на свой ПК для Андроида? или нет?
                            У вас проект не собирается, значит поддержка гуглосервисов должна быть в комплекте SDK.
                            По идее у вас должна быть также установлена Android Studio, у неё в настройках нужно установить последнюю версию Goggle Services.
                              alex_lip
                              • March 30, 2018, 5:09 p.m.

                              У меня все установлено(иначе как бы я с чистого QT ставил на андроид приложения). Все как у Вас на картинке. Только я не пойму где выбрать версию Goggle Services. - у меня там просто галочка стоит.

                                Evgenii Legotckoi
                                • March 31, 2018, 8:02 a.m.

                                да... действительно, там нет возможности выбрать конкретную версию. Но по идее же версия должна быть как минимум не ниже. У меня на рабочем ПК там последняя версия 48 в SDK Managar`e.

                                  alex_lip
                                  • April 2, 2018, 7:49 a.m.

                                  У меня компилятор ищет
                                  C:/android/sdk/extras/google/m2repository/com/google/android/gms/play-services-ads/11.8.0/play-services-ads-11.8.0.pom

                                  но у меня есть только
                                  c:\android\sdk\extras\google\m2repository\com\google\android\gms\play-services-ads\11.0.4\play-services-ads-11.0.4.pom

                                  Видимо где-то в gradle прописаны более свежие сервисы. Не пойму где искать. В SDK менеджере версия google play services - 48. Пока тупик ((

                                    Evgenii Legotckoi
                                    • April 2, 2018, 8:02 a.m.

                                    Посмотрите в файле build.gradle

                                    там должен быть раздел dependencies, там прописаны должны быть версии гуглосервисов.
                                      alex_lip
                                      • April 2, 2018, 8:34 a.m.

                                      Вот все что там есть


                                      buildscript {
                                          repositories {
                                              jcenter()
                                          }
                                      
                                          dependencies {
                                              classpath 'com.android.tools.build:gradle:2.3.3'
                                      		
                                          }
                                      }
                                      
                                      allprojects {
                                          repositories {
                                              jcenter()
                                              maven { url 'https://sdk.v-play.net/maven/' }
                                          }
                                      }
                                      
                                      apply plugin: 'com.android.application'
                                      
                                      dependencies {
                                          compile fileTree(dir: 'libs', include: ['*.jar'])
                                          // V-Play Plugins
                                      	compile 'net.vplay.plugins:plugin-admob:2.+'
                                          compile 'net.vplay.plugins:plugin-chartboost:2.+'
                                          compile 'net.vplay.plugins:plugin-facebook:2.+'
                                          compile 'net.vplay.plugins:plugin-flurry:2.+'
                                          compile 'net.vplay.plugins:plugin-soomla:2.+'
                                      
                                      /*    compile 'net.vplay.plugins:plugin-admob:2.+'
                                      *    compile 'net.vplay.plugins:plugin-chartboost:2.+'
                                      *    compile 'net.vplay.plugins:plugin-facebook:2.+'
                                      *    compile 'net.vplay.plugins:plugin-flurry:2.+'
                                      *    compile 'net.vplay.plugins:plugin-soomla:2.+' */
                                      }
                                      
                                      android {
                                          /*******************************************************
                                           * The following variables:
                                           * - androidBuildToolsVersion,
                                           * - androidCompileSdkVersion
                                           * - qt5AndroidDir - holds the path to qt android files
                                           *                   needed to build any Qt application
                                           *                   on Android.
                                           *
                                           * are defined in gradle.properties file. This file is
                                           * updated by QtCreator and androiddeployqt tools.
                                           * Changing them manually might break the compilation!
                                           *******************************************************/
                                      
                                          compileSdkVersion androidCompileSdkVersion.toInteger()
                                      
                                          buildToolsVersion androidBuildToolsVersion
                                      
                                          sourceSets {
                                              main {
                                                  manifest.srcFile 'AndroidManifest.xml'
                                                  java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java']
                                                  aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl']
                                                  res.srcDirs = [qt5AndroidDir + '/res', 'res']
                                                  resources.srcDirs = ['src']
                                                  renderscript.srcDirs = ['src']
                                                  assets.srcDirs = ['assets']
                                                  jniLibs.srcDirs = ['libs']
                                             }
                                          }
                                      
                                          lintOptions {
                                              abortOnError false
                                          }
                                      }
                                      



                                      Если закомментировать плагины - все компиляется, но не запускается. Если добавить dependencies
                                      classpath 'com.google.gms:google-services:11.0.4'
                                      то
                                      Could not resolve all dependencies for configuration ':classpath'.

                                      > Could not find com.google.gms:google-services:11.0.4.

                                      Searched in the following locations:

                                      https://jcenter.bintray.com/com/google/gms/google-services/11.0.4/google-services-11.0.4.pom

                                      https://jcenter.bintray.com/com/google/gms/google-services/11.0.4/google-services-11.0.4.jar

                                      то есть лезет в интернет за файлами - может абсолютный путь здесь можно прописать?


                                        Evgenii Legotckoi
                                        • April 3, 2018, 4:41 a.m.

                                        Я поискал информацию, и ещё советуют добавить файл google-services.json

                                        Вот здесь в документации есть пункт с указанием, где взять этот файл. Полагаю, что это дополнительные требуемые настройки, такая же ерунда будет и для Android Studio.
                                          alex_lip
                                          • April 3, 2018, 8:24 a.m.

                                          не понимаю зачем мне firebase.
                                          В общем скачал по прямым ссылкам
                                          типа
                                          https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads/11.8.0/play-services-ads-11.8.0.aar
                                          https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads/11.8.0/play-services-ads-11.8.0.aar.md5
                                          https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads/11.8.0/play-services-ads-11.8.0.pom
                                          https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads/11.8.0/play-services-ads-11.8.0.pom.md5
                                          и т.д.
                                          то что требуется - на ряд вещей перестал ругаться- типа нашел - теперь ругается на недостаток следующих библиотек
                                          Could not find com.google.android.gms:play-services-ads-lite:11.8.0.
                                          file:/C:/android/sdk/extras/google/m2repository/com/google/android/gms/play-services-ads-lite/11.8.0/play-services-ads-lite-11.8.0.pom

                                          Очень странно.  В интернете на официальном сайте гугла есть свежие версии, а у меня локально, несмотря на самый свежий андроид SDK - нет !!!!
                                          Еще раз. У меня на диске в репозитории есть только
                                          c:\android\sdk\extras\google\m2repository\com\google\android\gms\play-services-ads\11.0.4\
                                          версия 11.0.4
                                          А с гугла я могу скачать
                                          https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-ads/11.8.0/

                                          А плагины V-Play требуют последние версии от 11.8.0!! В общем не зря я подозревал недоброе!

                                            Evgenii Legotckoi
                                            • April 4, 2018, 5:33 a.m.

                                            Да уж.. та ещё засада. Вот и думай после этого, или самому всё написать, или колупаться с зависимостями...

                                              m
                                              • June 12, 2018, 5:29 a.m.

                                              И какой же ответ: "имеет ли смысл изучать" ?

                                                Evgenii Legotckoi
                                                • June 12, 2018, 5:51 a.m.

                                                Вы хотите услышать "Да" или "Нет"?

                                                Такой ответ вы вряд ли получите.


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

                                                Это сходно с тем, стоит ли изучать Unreal Engine 4 для разработки игр или взять тот же самый SFML, всё зависит от того, чего вы хотите.
                                                Да и с UE4 тоже есть свои проблемы, первая из них в том, что нужно хорошее железо, иначе смысла нет браться.

                                                На чистом QML придётся многое самому писать, что уже реализовано в V-Play, причём на бесплатной основе.

                                                Вам могут назвать только плюсы и минусы, а дальше сами решайте.
                                                  m
                                                  • June 12, 2018, 7:23 a.m.
                                                  Смущает малая активность на их форуме.
                                                  Да и игр/приложений, написаных на V-Play, не особо много.
                                                    Evgenii Legotckoi
                                                    • June 12, 2018, 7:35 a.m.

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


                                                    В принципе, они имеют свою нишу и развиваются, также повешали значок, что являются партнёрами Qt Company, думаю чего-то это стоит.

                                                    А по поводу активности на форуме, опять же местечковость. На StackOverflow очень много вопросов задано по V-Play. Это скорее психология пользователей, даже по моим статьям почему-то задают вопросы на StackOverflow, хотя казалось бы, обратиться в первую очередь к первоисточнику было бы логичнее. Здесь играет роль то, что пользователи не хотят регистрироваться везде подряд.

                                                    Я бы попробовал использовать V-Play, если потребуется функционал, который по моему мнению сам лично я буду реализовывать очень долго. Также попробовал бы его из любопытства. Рассматривайте это как очередную библиотеку, которую стоит попробовать, и если понравится/подойдёт для задач, то использовать в дальнейшем.

                                                      Comments

                                                      Only authorized users can post comments.
                                                      Please, Log in or Sign up
                                                      AD

                                                      C ++ - Test 004. Pointers, Arrays and Loops

                                                      • Result:50points,
                                                      • Rating points-4
                                                      m

                                                      C ++ - Test 004. Pointers, Arrays and Loops

                                                      • Result:80points,
                                                      • Rating points4
                                                      m

                                                      C ++ - Test 004. Pointers, Arrays and Loops

                                                      • Result:20points,
                                                      • Rating points-10
                                                      Last comments
                                                      ИМ
                                                      Игорь МаксимовNov. 22, 2024, 11:51 a.m.
                                                      Django - Tutorial 017. Customize the login page to Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                                                      Evgenii Legotckoi
                                                      Evgenii LegotckoiOct. 31, 2024, 2:37 p.m.
                                                      Django - Lesson 064. How to write a Python Markdown extension Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                                                      A
                                                      ALO1ZEOct. 19, 2024, 8:19 a.m.
                                                      Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                                                      ИМ
                                                      Игорь МаксимовOct. 5, 2024, 7:51 a.m.
                                                      Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                                                      d
                                                      dblas5July 5, 2024, 11:02 a.m.
                                                      QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                                                      Now discuss on the forum
                                                      Evgenii Legotckoi
                                                      Evgenii LegotckoiJune 24, 2024, 3:11 p.m.
                                                      добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
                                                      t
                                                      tonypeachey1Nov. 15, 2024, 6:04 a.m.
                                                      google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
                                                      NSProject
                                                      NSProjectJune 4, 2022, 3:49 a.m.
                                                      Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
                                                      9
                                                      9AnonimOct. 25, 2024, 9:10 a.m.
                                                      Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

                                                      Follow us in social networks