محمدرضا شاهپیری 5,581 ارسال شده در 17 مهر، ۱۴۰۱ اشتراک گذاری ارسال شده در 17 مهر، ۱۴۰۱ MyketInapp کتابخانه درون پرداخت مایکت مشاهده فایل با سلام. مایکت هم درون پرداختشو به روز کرده و طبق معمول برای b4a به روزرسانی نکرده که تصمیم گرفتیم برای دوستان آماده کنیم.امیدوارم مورد استفاده قرار بگیره. نحوه استفاده. اول کد زیر رو به منیفست اضافه کنید. CreateResourceFromFile(Macro, MyketBilling.Manifest) متدها هم که به شکل زیر هست. Private myketBilling As MyketBilling myketBilling.initialize("myket",publicKey) اینیشیالایز کردن ==================================================================== result.isSuccessful بعد از اینیشیالایز این متد اجرا میشه چک کنید که موفق باشه با دستور Private Sub myket_onIabSetupFinished(result As IabResult) Log(result.isSuccessful) Log(result.ErrorMsg) End Sub ========================================================================== myketBilling.queryInventoryAsync گرفتن لیست محصولات یا خریدها این متد اجرا میشه Private Sub myket_onQueryInventoryFinished(result As IabResult,inventory As Inventory) Log(inventory.AllProducts.As(List).Size ) End Sub ======================================================================== myketBilling.launchPurchaseFlow(sku,payload) خرید درون برنامه myketBilling.launchSubscriptionPurchaseFlow(sku,payload) اشتراک نتیجه خرید Private Sub myket_onIabPurchaseFinished(result As IabResult,purchase As Purchase) Log(result.isSuccessful) Log(result.ErrorMsg) End Sub ============================================================================= myketBilling.consumeAsync(purchase) مصرف کردن خرید نتیجه Private Sub myket_onConsumeFinished(result As IabResult,purchase As Purchase) End Sub دانلود سورس source.zip ارسال کننده محمدرضا شاهپیری ارسال ۰۱/۰۷/۱۸ دسته کتابخانه ها 3 4 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mz elecom 0 ارسال شده در 25 مهر، ۱۴۰۱ اشتراک گذاری ارسال شده در 25 مهر، ۱۴۰۱ سلام. ممنون از شما . فقط روی حال دیباگ مشکلی نداره ولی روی release این خطا رو میده. اندروید 12 shop_myket_oniabpurchasefinished (java line: 938) java.lang.NullPointerException: Attempt to read from field 'anywheresoftware.b4a.BA com.t.shop.activityBA' on a null object reference at com.t.shop._myket_oniabpurchasefinished(shop.java:938) at java.lang.reflect.Method.invoke(Native Method) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197) at com.myketbilling.core.MyketBilling$3.onIabPurchaseFinished(MyketBilling.java:67) at ir.myket.billingclient.util.IAB$1.onReceiveResult(IAB.java:115) at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) ** Activity (shop) Resume ** نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,581 ارسال شده در 28 مهر، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ در ۱۴۰۱/۷/۲۵ در 06:18، mz elecom گفته است: سلام. ممنون از شما . فقط روی حال دیباگ مشکلی نداره ولی روی release این خطا رو میده. اندروید 12 سلام. نسخه جدید رو به همراه سورس پیوست شده تست کنید 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sadegh77 0 ارسال شده در 28 مهر، ۱۴۰۱ اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ سلام و تشکر از آقای شاهپیری عزیز نسخه جدید تست شد ولی متاسفانه در اندروید 11 و شیائومی نوت 8 با ارور زیر برخورد میکنیم java.lang.NullPointerException: Attempt To read from field 'anywheresoftware.b4a.BA test.tt.com.main.activityBA' on a null object reference at test.tt.com.main._myket_oniabpurchasefinished(main.java:54021) at java.lang.reflect.Method.invoke(Native Method) at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:732) at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:348) at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255) at java.lang.reflect.Method.invoke(Native Method) at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:146) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197) at com.myketbilling.core.MyketBilling$3.onIabPurchaseFinished(MyketBilling.java:67) at ir.myket.billingclient.util.IAB$1.onReceiveResult(IAB.java:115) at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.Loop(Looper.java:236) at android.app.ActivityThread.main(ActivityThread.java:8057) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656) تشکر از زحمات شما نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,581 ارسال شده در 28 مهر، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ 2 ساعت قبل، sadegh77 گفته است: سلام و تشکر از آقای شاهپیری عزیز نسخه جدید تست شد ولی متاسفانه در اندروید 11 و شیائومی نوت 8 با ارور زیر برخورد میکنیم تشکر از زحمات شما من روی گوشی Redmi note 9s با اندروید 11 تست کردم موردی نبود.سورسی که پیوست شده رو تست کنید. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sinam443 108 ارسال شده در 28 مهر، ۱۴۰۱ اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ 14 ساعت قبل، محمدرضا شاهپیری گفته است: سلام. نسخه جدید رو به همراه سورس پیوست شده تست کنید سلام ، مهندس موقعی که میخوای لیست برنامه ها و خرید هارو بگیری تو حالت ریلیز همون ارور بالایی رو میده اجرا نمیشه نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sinam443 108 ارسال شده در 28 مهر، ۱۴۰۱ اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ این کد های منه تنها مشکلی که دار اینه که موقعی که میخوام لیست خرید هارو بگیرم تا ببینم قبلا خریده یا نه ارور بالایی رو میده .همون attemp to read ... Private Sub mypay_onIabSetupFinished(result As IabResult) If result.isSuccessful = True Then Try InAppBilling.launchPurchaseFlow("sku",DeveloperPayload) Catch Log(LastException) End Try Else Log(result.ErrorMsg) End If End Sub Private Sub mypay_onIabPurchaseFinished (result As IabResult , purchase As Purchase) If result.isSuccessful = True And purchase.DeveloperPayload = DeveloperPayload Then ToastMessageShow("خرید شما با موفقیت انجام شد",True) Else InAppBilling.queryInventoryAsync End If End Sub Private Sub mypay_onQueryInventoryFinished (result As IabResult,inventory As Inventory) If result.isSuccessful = True And purchase.hasPurchase("sku") = True Then ToastMessageShow("نسخه کامل قبلا خریداری شده است",True) Else ToastMessageShow("پرداخت ناموفق بود",True) End If End Sub نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,581 ارسال شده در 28 مهر، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ 12 دقیقه قبل، sinam443 گفته است: سلام ، مهندس موقعی که میخوای لیست برنامه ها و خرید هارو بگیری تو حالت ریلیز همون ارور بالایی رو میده اجرا نمیشه ۱:فقط برای لیست خریدها این خطا هست؟ ۲: خطا رو پیوست کنید نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sinam443 108 ارسال شده در 28 مهر، ۱۴۰۱ اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ 10 دقیقه قبل، محمدرضا شاهپیری گفته است: ۱:فقط برای لیست خریدها این خطا هست؟ ۲: خطا رو پیوست کنید بله خود خرید بالا میاد منتهی وقتی که کنسل میشه از طرف کاربر یا به هر علت دیگه ای و میخوام لیست خرید هاشو بگیرم ببینم قبلا خریده یا نه ارور پایینی رو میده main_mypay_oniabpurchasefinished (java line: 847) java.lang.NullPointerException: Attempt to read from field 'com.myketbilling.core.MyketBilling com.َnameFree.SAM.main._inappbilling' on a null object reference at com.nameFree.SAM.main._mypay_oniabpurchasefinished(main.java:847) at java.lang.reflect.Method.invoke(Native Method) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197) at com.myketbilling.core.MyketBilling$3.onIabPurchaseFinished(MyketBilling.java:67) at ir.myket.billingclient.util.IAB$1.onReceiveResult(IAB.java:130) at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6730) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:860) تو حالت دیباگ هم ارور رو از این خط میگیره InAppBilling.queryInventoryAsync نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,581 ارسال شده در 28 مهر، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ 25 دقیقه قبل، sinam443 گفته است: بله خود خرید بالا میاد منتهی وقتی که کنسل میشه از طرف کاربر یا به هر علت دیگه ای و میخوام لیست خرید هاشو بگیرم ببینم قبلا خریده یا نه ارور پایینی رو میده main_mypay_oniabpurchasefinished (java line: 847) java.lang.NullPointerException: Attempt to read from field 'com.myketbilling.core.MyketBilling com.َnameFree.SAM.main._inappbilling' on a null object reference at com.nameFree.SAM.main._mypay_oniabpurchasefinished(main.java:847) at java.lang.reflect.Method.invoke(Native Method) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197) at com.myketbilling.core.MyketBilling$3.onIabPurchaseFinished(MyketBilling.java:67) at ir.myket.billingclient.util.IAB$1.onReceiveResult(IAB.java:130) at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6730) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:860) تو حالت دیباگ هم ارور رو از این خط میگیره InAppBilling.queryInventoryAsync سورسی که پیوست کردم رو تست کردین؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sinam443 108 ارسال شده در 28 مهر، ۱۴۰۱ اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ 9 دقیقه قبل، محمدرضا شاهپیری گفته است: سورسی که پیوست کردم رو تست کردین؟ بله توی سورس شما هم وقتی که myketbilling.queryInventoryAsync رو میخوایم بگیریم همون ارور بالایی رو میده ، غیر فعالش کنیم کامل کار میکنه منتهی دیگه نمیشه اونایی که قبلا خرید کردن رو شناسایی کرد باید دوباره بخرن نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sadegh77 0 ارسال شده در 28 مهر، ۱۴۰۱ اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ 4 ساعت قبل، sadegh77 گفته است: سلام و تشکر از آقای شاهپیری عزیز نسخه جدید تست شد ولی متاسفانه در اندروید 11 و شیائومی نوت 8 با ارور زیر برخورد میکنیم java.lang.NullPointerException: Attempt To read from field 'anywheresoftware.b4a.BA test.tt.com.main.activityBA' on a null object reference at test.tt.com.main._myket_oniabpurchasefinished(main.java:54021) at java.lang.reflect.Method.invoke(Native Method) at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:732) at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:348) at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255) at java.lang.reflect.Method.invoke(Native Method) at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:146) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197) at com.myketbilling.core.MyketBilling$3.onIabPurchaseFinished(MyketBilling.java:67) at ir.myket.billingclient.util.IAB$1.onReceiveResult(IAB.java:115) at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.Loop(Looper.java:236) at android.app.ActivityThread.main(ActivityThread.java:8057) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656) تشکر از زحمات شما 2 ساعت قبل، محمدرضا شاهپیری گفته است: من روی گوشی Redmi note 9s با اندروید 11 تست کردم موردی نبود.سورسی که پیوست شده رو تست کنید. دقیقا از کدای شما استفاده کردم ولی متاسفانه بعد از خرید خطا میده یا حتی وقتی کاربر کنسل میکنه باز خطا میاد،ممکنه یبار درست انجام بشه ولی دوباره که بخواب همون محصول بخری کلا اون ساب برگشت خطا میده نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,581 ارسال شده در 28 مهر، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ 59 دقیقه قبل، sadegh77 گفته است: دقیقا از کدای شما استفاده کردم ولی متاسفانه بعد از خرید خطا میده یا حتی وقتی کاربر کنسل میکنه باز خطا میاد،ممکنه یبار درست انجام بشه ولی دوباره که بخواب همون محصول بخری کلا اون ساب برگشت خطا میده کدهای منیفست رو گذاشتین؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sadegh77 0 ارسال شده در 28 مهر، ۱۴۰۱ اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ ۱ ساعت قبل، محمدرضا شاهپیری گفته است: کدهای منیفست رو گذاشتین؟ بله،کلا همونارو کپی کردم و اجرا گرفتم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sadegh77 0 ارسال شده در 28 مهر، ۱۴۰۱ اشتراک گذاری ارسال شده در 28 مهر، ۱۴۰۱ آقای شاهپیری مشکلو فهمیدم به کد myketBilling.consumeAsync(purchase) ارور میده یعنی زمانی که خرید میزنه کاربر و این کد باید بیاد اون خریدو رفرش کنه ارور میده نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,581 ارسال شده در 1 آبان، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 1 آبان، ۱۴۰۱ در ۱۴۰۱/۷/۲۸ در 18:32، sadegh77 گفته است: آقای شاهپیری مشکلو فهمیدم به کد myketBilling.consumeAsync(purchase) ارور میده یعنی زمانی که خرید میزنه کاربر و این کد باید بیاد اون خریدو رفرش کنه ارور میده متد consumeAsync رو توی یه تابع جداگونه بنویسید و دستور CallSubDelayed اونو صدا بزنید. تو متد onIabPurchaseFinished مستقیم از myketBilling استفاده نکنید. تست کنید و نتیجه رو اعلام کنید 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mz elecom 0 ارسال شده در 1 آبان، ۱۴۰۱ اشتراک گذاری ارسال شده در 1 آبان، ۱۴۰۱ در ۱۴۰۱/۷/۲۸ در 00:08، محمدرضا شاهپیری گفته است: سلام. نسخه جدید رو به همراه سورس پیوست شده تست کنید سلام. باز هم همون خطا رو میده فرقی نکرد گوشی هم سامسونگ هست نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امیرحسین قاسمی 610 ارسال شده در 3 آذر، ۱۴۰۱ اشتراک گذاری ارسال شده در 3 آذر، ۱۴۰۱ این کتابخونه یه مشکلی داره! روی بعضی از اندرویدها مثل اندروید 7 تا وقتی که خود مایکت باز نباشه (یعنی بازش کنیم و بعد دکمه Home رو بزنیم و بعد برنامه خودمونو باز کنیم) ریکوئست ارسال نمیشه! Try myket.launchPurchaseFlow(product.Trim,idstring(1)) Catch module_lib.ShowCustomToast("درخواست با خطا مواجه شد",False) End Try الان اگه برنامه مایکت خودش بسته باشه و از برنامه کدهای بالارو اجرا کنیم میره توی Catch و میگه درخواست با خطا مواجه شد! برنامه های دیگه رو تست کردم چنین مشکلی نداشتند پس مشکل از خود مایکت نیست. اگه از Try Catch استفاده نکنیم فورس کلوز رخ میده: main_buy_click (java line: 370) java.lang.IllegalStateException: IAB helper is not set up. Can't perform operation: launchPurchaseFlow at ir.myket.billingclient.IabHelper.checkSetupDone(IabHelper.java:534) at ir.myket.billingclient.IabHelper.launchPurchaseFlow(IabHelper.java:381) at ir.myket.billingclient.IabHelper.launchPurchaseFlow(IabHelper.java:352) at com.myketbilling.core.MyketBilling.launchPurchaseFlow(MyketBilling.java:60) at com.b4a.inapp.main._buy_click(main.java:370) at java.lang.reflect.Method.invoke(Native Method) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213) at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197) at anywheresoftware.b4a.BA.raiseEvent(BA.java:193) at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:80) at android.view.View.performClick(View.java:5675) at android.view.View$PerformClick.run(View.java:22641) at android.os.Handler.handleCallback(Handler.java:836) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:203) at android.app.ActivityThread.main(ActivityThread.java:6251) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924) --------- beginning of crash یه چنین خطایی رو اینجا هم مطرح کردن: https://stackoverflow.com/questions/31035222/iab-helper-is-not-set-up-cant-perform-operation-queryinventory لطفا درستش کنین، من یه خورده عجله دارم برنامم همینجوری مونده و به خاطر این انتشارش ندارم! ممنونم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امیرحسین قاسمی 610 ارسال شده در 3 آذر، ۱۴۰۱ اشتراک گذاری ارسال شده در 3 آذر، ۱۴۰۱ آقای شاهپیری اینو درست نکردین؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امیرحسین قاسمی 610 ارسال شده در 3 آذر، ۱۴۰۱ اشتراک گذاری ارسال شده در 3 آذر، ۱۴۰۱ ویرایش: احتمالا مشکل از خود مایکت بوده، امروز باز تست کردم درست کار کرد و مشکلی نداشت. اون یکی برنامه هاهم که میگفتم تست کردم دیروز درست کار میکردن احتمالا از نسخه قدیمی کتابخونه مایکت استفاده میکنن. بنابراین دوستان باخیال راحت استفاده کنن. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: strong> مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.