
[ad_1]
Hi there,
Yes, I do know that SDKBOX is useless. However, is there any likelihood that you will replace it to help Google Billing Library v4?
Ps. Google is forcing to make use of it ranging from 1.11.2022.
Best,
kds
I too have seen this significant issue.
As everyone knows, SDKBOX is useless.
Probably no replace is predicted.
Reminder: Starting on August 2, 2022, all new apps should use Billing Library model 4 or newer.
By November 1, 2022, all updates to present apps should use Billing Library model 4 or newer.
And the issue will not be simple.
There are vital API adjustments between model 4 and model 5, and the strategies accessible in model 4 have been deprecated.
So, in apply, model 5 help is a should.
Unfortunately, there isn’t a open supply library accessible presently that I can hope to search out.
- Able to manage each iOS and Android with a typical interface.
- Support each cocos2d-x 3.x and 4.x
- Compatible with Billing Library model 5
From the place did you discover this? You have completely unsuitable data.
I do have my very own framework written, beforehand it was on model 4 and not too long ago i upgraded to version-5 and that i dont should do any apis adjustments in any respect.
Previously i used to be additionally utilizing sdkbox, however attempt to create your personal wrapper class as soon as and also you dont should face such points any extra.
I can not share my code, o/w i’d aid you.
In conclusion, I feel the one method to do that is to create my very own implementation of in-app billing for Android.
I’ve some expertise with native integration for Android, so I’ve began engaged on it.
If it really works, I wish to share the code.
As for iOS, I’ve no expertise with Objective-C, so it’s an unknown.
1 Like
Thanks on your replies. Yeah, that is the best time to spend few days on the wrapper. It will likely be additionally time to combine different shops (Amazon, Huawei, Samsung and so forth.).
@bluewind00 iOS integration must be simpler since you don’t have to make use of any “ndk”. I’ll share the code once I handle to do it (I hate Obj-C too :P). The precedence is Android, sdkbox nonetheless works on iOS.
Hello, I’m going through the identical drawback google billing 4 with use sdkbox. Please share supply code to interchange sdkbox for android
I’m nonetheless a piece in progress.
I’ll share it when it’s completed, however I can’t promise a deadline.
If you might be in a rush you may work on it your self and share it.
Also, I can not make it totally suitable with sdkbox::IAP.
I’ll solely implement the options that I exploit.
Thanks on your share.
did you check in googleplay? and its work?
Of course, I really made a check buy on Google Play.
It works tremendous.
1 Like
Hello, it ‘s works for android. Please replace for IOS. i would love substitute sdkbox is it not handy now
I’m not acquainted with iOS.
Can somebody please share the code for the iOS buy course of.
I used sdkbox for ios, and used your venture for Android.
Works nicely.
1 Like
Hello, i examined profitable on check gadget. But after launch to manufacturing on google play retailer. Game crash
v4dUdD0okk04lr2Qt0FyTw==/split_config.arm64_v8a.apk!libMyGame.so (_JNIEnv::CallStaticObjectMethod(_jclass*, _jmethodID*, …)+108)
v4dUdD0okk04lr2Qt0FyTw==/split_config.arm64_v8a.apk!libMyGame.so (mingos::IAP::setListener(mingos::IAPEventListener*)+76)
Please verify proj.android/app/proguard-rules.professional.
The following description is required.
-keep class iap.** { *; }
-dontwarn iap.**
If an error happens within the launch construct even when these are described, I can not consider the trigger.
Hello, It’s fastened bug thank on your help.
Hi @bluewind00
After i improve observe your instance then i get crash price very excessive!
Any one get this drawback?
pid: 0, tid: 0 >>> com.myapp.android <<<
backtrace:
Unknown
#01 laptop 0x000000000070dab9 /information/app/~~koGRJuiDmh7LiS3Lzk2FzA==/com.myapp.android-TILglnNWY2pMK75YXUy_0A==/split_config.armeabi_v7a.apk!libMyAppGame.so (cocos2d::Scheduler::replace(float)+592)
#02 laptop 0x00000000006fd297 /information/app/~~koGRJuiDmh7LiS3Lzk2FzA==/com.myapp.android-TILglnNWY2pMK75YXUy_0A==/split_config.armeabi_v7a.apk!libMyAppGame.so (cocos2d::Director::drawScene()+178)
#03 laptop 0x00000000006fede1 /information/app/~~koGRJuiDmh7LiS3Lzk2FzA==/com.myapp.android-TILglnNWY2pMK75YXUy_0A==/split_config.armeabi_v7a.apk!libMyAppGame.so (cocos2d::Director::mainLoop()+76)
#04 laptop 0x00000000000357bf /information/app/~~koGRJuiDmh7LiS3Lzk2FzA==/com.myapp.android-TILglnNWY2pMK75YXUy_0A==/oat/arm/base.odex (art_jni_trampoline+94)
#05 laptop 0x00000000000d39d5 /apex/com.android.artwork/lib/libart.so (art_quick_invoke_stub_internal+68)
#06 laptop 0x00000000004ead9d /apex/com.android.artwork/lib/libart.so (art_quick_invoke_static_stub+276)
#07 laptop 0x000000000012bd3f /apex/com.android.artwork/lib/libart.so (artwork::ArtMethod::Invoke(artwork::Thread*, unsigned int*, unsigned int, artwork::JValue*, char const*)+166)
#08 laptop 0x000000000023f1ef /apex/com.android.artwork/lib/libart.so (artwork::interpreter::ArtworkInterpreterToCompiledCodeBridge(artwork::Thread*, artwork::ArtMethod*, artwork::ShadowFrame*, unsigned quick, artwork::JValue*)+254)
#09 laptop 0x0000000000236eaf /apex/com.android.artwork/lib/libart.so (bool artwork::interpreter::DoCall<false, false>(artwork::ArtMethod*, artwork::Thread*, artwork::ShadowFrame&, artwork::Instruction const*, unsigned quick, artwork::JValue*)+738)
#10 laptop 0x00000000004dec2f /apex/com.android.artwork/lib/libart.so (MterpInvokeStatic+490)
#11 laptop 0x00000000000ce594 /apex/com.android.artwork/lib/libart.so (mterp_op_invoke_static+20)
#12 laptop 0x0000000000488f58 /information/app/~~koGRJuiDmh7LiS3Lzk2FzA==/com.myapp.android-TILglnNWY2pMK75YXUy_0A==/oat/arm/base.vdex (org.cocos2dx.lib.Cocos2dxRenderer.onDrawFrame+20)
#13 laptop 0x000000000022fea9 /apex/com.android.artwork/lib/libart.so (artwork::interpreter::Execute(artwork::Thread*, artwork::CodeItemDataAccessor const&, artwork::ShadowFrame&, artwork::JValue, bool, bool) (.llvm.18134065572441359314)+248)
#14 laptop 0x0000000000236619 /apex/com.android.artwork/lib/libart.so (artwork::interpreter::EnterInterpreterFromEntryPoint(artwork::Thread*, artwork::CodeItemDataAccessor const&, artwork::ShadowFrame*)+120)
#15 laptop 0x00000000004cdc63 /apex/com.android.artwork/lib/libart.so (artQuickToInterpreterBridge+698)
#16 laptop 0x00000000000d8561 /apex/com.android.artwork/lib/libart.so (art_quick_to_interpreter_bridge+32)
#17 laptop 0x0000000000544cb1 /system/framework/arm/boot-framework.oat (android.opengl.GLSurfaceView$GLThread.guardedRun+3472)
#18 laptop 0x00000000005453a9 /system/framework/arm/boot-framework.oat (android.opengl.GLSurfaceView$GLThread.run+184)
#19 laptop 0x00000000000d39d5 /apex/com.android.artwork/lib/libart.so (art_quick_invoke_stub_internal+68)
#20 laptop 0x00000000004eac6b /apex/com.android.artwork/lib/libart.so (art_quick_invoke_stub+282)
#21 laptop 0x000000000012bd2d /apex/com.android.artwork/lib/libart.so (artwork::ArtMethod::Invoke(artwork::Thread*, unsigned int*, unsigned int, artwork::JValue*, char const*)+148)
#22 laptop 0x00000000003f84e7 /apex/com.android.artwork/lib/libart.so (artwork::JValue artwork::InvokeVirtualOrInterfaceWithJValuesartwork::ArtMethod*(artwork::ScopedObjectAccessAlreadyRunnable const&, _jobject*, artwork::ArtMethod*, jvalue const*)+374)
#23 laptop 0x00000000003f85f7 /apex/com.android.artwork/lib/libart.so (artwork::JValue artwork::InvokeVirtualOrInterfaceWithJValues<_jmethodID*>(artwork::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue const*)+42)
#24 laptop 0x00000000004396f5 /apex/com.android.artwork/lib/libart.so (artwork::CreateCallback(void*)+1056)
#25 laptop 0x0000000000080b13 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+40)
#26 laptop 0x0000000000039d23 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30)
My code is barely a pattern and isn’t assured to work completely.
I’ve made this repository personal.
No one is blaming you. Can you please share the code so others can contribute additionally?
[ad_2]