Hi!

Qt Purchasing is a convenience API for handling in-app purchases on different 
platforms. Qt 6 will go through lots of changes that affect many modules. It is 
therefore a good time to reconsider the future of Qt Purchasing API.


One potential pitfall of the API is that apps developed with it could suffer 
from weakened copy protection due to Qt open source nature. For example, 
platforms like Android recommend doing code obfuscation for the app's source 
code [1]. It might be possible to replace the app's package with a custom-built 
Qt Purchasing library and use instead, thus breaking copy protection.


Another challenge we have been facing is with the community contributions. By 
nature, contributions should be cross platform, and if not then at least not 
break the functionality of another target platform. Following this has proven 
to be very difficult thus leading to rejection of many submissions to improve 
Qt Purchasing API. This in turn makes for unhappy contributors, and Qt missing 
the needed feature.


I propose to exclude Qt Purchasing from Qt 6, and instead move the underlying 
use cases forward as examples, which has the following advantages:

· The examples would be easily copy-pasted, improved, obfuscated, and more 
secure.

· They can demonstrate how to use purchasing capabilities for different 
platforms with their native purchasing APIs (e.g. Android, iOS, WinRT).

· They can act as good examples of how Qt users can interact with more advanced 
platform-specific and native APIs that the core Qt doesn't cover.

· Modifications and contributions would be much easier added to an example than 
to a module which has more restriction such as feature-freezes.

· OS-specific features could be added and demonstrated if one feature is 
available in one OS and not the others. Updates related to this are tracked 
under the ticket QTBUG-82847.


References:

[1] 
https://developer.android.com/google/play/billing/billing_library_overview#Verify-purchase-device


Eskil Abrahamsen Blomfeldt
Senior Manager, Graphics

The Qt Company
Sandakerveien 116
0484 Oslo, Norway
eskil.abrahamsen-blomfe...@qt.io
http://qt.io
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to