Solved Qt Purchasing on iOS for auto-renewable subscriptions
-
Hi
I need to implement monthly and yearly subscriptions for an iOS application written with Qt/QML. The closest in-app purchase seems to be auto-renewable subscription, however the Qt Purchasing API currently only supports Consumable and Non-Consumable types. Is there a way to still use Qt Purchasing on iOS with auto-renewable subscriptions ?
thanks
Bogdan -
I have found that auto-renewable subscriptions can be registered using as type either Consumable or Non-consumable (Unlockable) types. So type argument in registerProduct method seems to be ignored.
-
Hey Bogdan,
there is a Qt plugin for subscriptions available with Felgo that you can check out: https://felgo.com/updates/release-3-2-0-qt-5-12-3-subscriptions -
The Felgo plugin is working only if used Felgo from begin, but if you using something Qt native or original there might be a troubles because Felgo require in main function a lot of specialised and developed by Felgo team:
QApplication app(argc, argv); FelgoApplication felgo; // Use platform-specific fonts instead of Felgo's default font felgo.setPreservePlatformFonts(true); QQmlApplicationEngine engine; felgo.initialize(&engine); // Set an optional license key from project file // This does not work if using Felgo Live, only for Felgo Cloud Builds and local builds felgo.setLicenseKey(PRODUCT_LICENSE_KEY); // use this during development // for PUBLISHING, use the entry point below felgo.setMainQmlFileName(QStringLiteral("qml/Main.qml")); // use this instead of the above call to avoid deployment of the qml files and compile them into the binary with qt's resource system qrc // this is the preferred deployment option for publishing games to the app stores, because then your qml files and js files are protected // to avoid deployment of your qml files and images, also comment the DEPLOYMENTFOLDERS command in the .pro file // also see the .pro file for more details // felgo.setMainQmlFileName(QStringLiteral("qrc:/qml/Main.qml")); engine.load(QUrl(felgo.mainQmlFileName())); // to start your project as Live Client, comment (remove) the lines "felgo.setMainQmlFileName ..." & "engine.load ...", // and uncomment the line below //FelgoLiveClient client (&engine); return app.exec();
If you using already written on pure QT there are huge chance to get conflict.
Beside all of it another point Felgo reassigning the Qml Application main component on their own that is beside by version of pure Qt. Just tried to implement theirs plugin for subscription and got failed because of conflict to my own components and application architecture.
Another 5 cents ... After opening in Felgo version of Qt Creator original *.pro.user file rewritten and do not working on original Qt Creator. Need to reconfigure project from scratch.