[ad_1]
Hi @chuoihottieu, are you positive you haven’t modified the rest in your replace? From your logs it’s onerous to say what’s going on.
@bluewind00 Thanks for sharing, it’s a superb “base” for the long run enhancements. Please make it public once more
Thanks.
I make it public the repository once more.
Again, it is a pattern and isn’t assured to work.
2 Likes
hello @kds @bluewind00
i substitute sdkbox::IAP with mingos::IAP comply with the directions, it’s work perfert on machine assist native arm64-v8a, however crash on armeabi-v7a with out cause.
for instance Samsung Galaxy A13 5G: ABI assist: armeabi-v7a, armeabi.
Anyways thanks you guys atleast i upgraded to billing v4 earlier than 1.11.2022!
chuoihottieu
Just substitute
PROP_APP_ABI=arm64-v8a
with
PROP_APP_ABI=armeabi-v7a:arm64-v8a
in ‘proj.androidgradle.properties’
bluewind00, thanks very a lot rather a lot (you might be our hero); I’ve up to date your code a bit, to get amount of bought merchandise; it really works even on Android 4.4.2. (debug and launch)
…Now I’ll attempt to insert it into my mission (appears not really easy).
These are recordsdata that may be copied straight into your mission.
C++:
Classes/frequent/JsonParser.cpp
Classes/frequent/JsonParser.h
Classes/dropbox/json11/json11.cpp
Classes/dropbox/json11/json11.hpp
Classes/iap/MingosIAP.h
Classes/platform/android/Java_iap_PurchaseEventListener.cpp
Classes/platform/android/MingosIAP.cpp
Java:
proj.android/app/src/iap/Product.java
proj.android/app/src/iap/PurchaseEventListener.java
proj.android/app/src/iap/PurchaseSupervisor.java
Next is a set of recordsdata that will battle along with your mission’s code.
Please incorporate the required elements of your mission.
proj.android/app/src/org/cocos2dx/cpp/AppExercise.java
proj.android/construct.gradle
proj.android/app/construct.gradle
proj.android/app/proguard-rules.professional
2 Likes
After two days of crashes and black screens, eventually appears I used you code. It was onerous (for me), as a result of:
- I used separate object (in my c++ code):
sdkbox::IAP::setListener(m_IAP_obj); // m_IAP_obj class extends : sdkbox::IAPListener
And you employ the primary class for the listener (object) :
class SampleScene : public cocos2d::Scene, public mingos::IAPEventListener { // your code
class HelloWorld : public cocos2d::Layer // my previous code
- Also there are tiny distinction in:
proj.androidappsrcorgcocos2dxcppAppExercise.java
:
public class AppExercise extends Cocos2dxActivity { // your code
public class AppExercise extends com.sdkbox.plugin.SDKBoxActivity { // my code
…
mPurchaseSupervisor = new PurchaseSupervisor(this); // is it potential to alter this file to make use of as listener not AppExercise class (object), however one thing else?
Thank you in your nice job! Thanks to you, possibly our Cocos video games shall be alive for some extra time.
1 Like
This is a vital level, however with a purpose to create your personal buy course of, it’s essential to depart the sdkbox.
This means making use of the next code to AppExercise.
public class AppExercise extends Cocos2dxActivity {
If you apply my code as it’s beneath, you’ll not obtain the notification after the acquisition request with my code.
This is as a result of SDKBoxActivity will obtain the results of the method from the shop.
public class AppExercise extends com.sdkbox.plugin.SDKBoxActivity
In different phrases, leaving the code above shouldn’t be an possibility for us.
mPurchaseSupervisor = new PurchaseSupervisor(this); // is it potential to alter this file to make use of as listener not AppExercise class (object), however one thing else?
Are you saying you need to decrease modifications to AppExercise?
Then you are able to do that by making PurcahaseManager a singleton.
If the intent of this query is to maintain the next code as defined earlier, it is unnecessary.
public class AppExercise extends com.sdkbox.plugin.SDKBoxActivity
I’ve modified PurcahseManager to singleton in my newest code.
[ad_2]