PDA

View Full Version : پرداخت ردون برنامه ای بازار مشکل پیدا کرده؟



reza_azizi2010
یک شنبه 01 تیر 1393, 18:22 عصر
با سلام
برنامه من تا دیروز دست کار میکرد اما امروز بخش پرداختش کرش میکنه، چندتا برنامه دیگه رو هم تست کردم همشون موقع وصل شدن به بازار کرش میکردن.
کسی با این مشکل مواجه نشده؟
این خطا رو میده :

06-22 18:55:12.581: E/AndroidRuntime(1770):
java.lang.IllegalStateException: Can't start async operation (launchPurchaseFlow)
because another async operation(refresh inventory) is in progress.

reza_azizi2010
یک شنبه 01 تیر 1393, 18:25 عصر
البته بگیر نگیر داره، گاهی وصل میشه گاهی کرش میکنه. ممنون میشم دوستان هم تست کنن و بگن مشکل از کجاست

hamedjj
یک شنبه 01 تیر 1393, 18:46 عصر
کلا جدیدا همین طور شده
خیلی از بچه ها که از پرداخت درون برنامه ای استفاده کردند از کاربران ایمیل دریافت کردند که صفحه پرداخت من باز نمیشه و یا پول پرداخت میکنم اما برنامه همچنان بسته است.
تعدادشون کمه مثلا از هر 100 نفر 2-3 نفر این طور میشوند
دقیقا بعد از نسخه جدید بازار این مشکل به وجود آمد
به بازار خبر دادیم میگن هر موقع در سیستم پرداخت گوگل مشکل به وجود آمد برای ما هم مشکل به وجود میاد ... خیلی بی سوادن:لبخند:

reza_azizi2010
یک شنبه 01 تیر 1393, 19:10 عصر
نه این مشکل فرق میکنه، البته من با یک try-catch مشکل رو رفع کردم، درواقع صورت مسئله رو حذف کردم! به بازارم ایمیل دادم. کلا اینجور که بوش میاد توی تمامی خطوط پرداخت باید try-catch استفاده کنیم!

badname
یک شنبه 01 تیر 1393, 19:54 عصر
یعنی چجوری شد کد نهایی تون با try cash ?

reza_azizi2010
یک شنبه 01 تیر 1393, 20:23 عصر
یعنی چجوری شد کد نهایی تون با try cash ?

آره، خیلی ناپایدار شده، و مجبور شدم 2-3 تا try-catch تو جاهای مختلف استفاده کنم.

poorman
یک شنبه 01 تیر 1393, 20:33 عصر
بعضی وقتا ارتباط با سرور بازار مشکل پیدا میکنه

من یک تماس داشتم که طرف پرداخت کرده بود اما برنامه براش باز نشده بود، چک هم کردم، واقعا طرف پرداخت کرده بود

یک تماس دیگه هم داشتم که طرف میگفت من آخرین ورژن بازار رو نصب دارم، اما وقتی میرم توی صفحه خرید بهم خطا میده ( من try catch گذاشتم که اگر مشکلی بود خطا بده )

badname
یک شنبه 01 تیر 1393, 21:14 عصر
من چند وقت پیش این مشکل رو داشتم دیدم داره نظر منفی ها بالا میره ، از دسترس خارج کردم برنامه رو
میتونید بگید دقیقا کجا ها باید try cash استفاده کرد که این مشکل کاملا رفع شه ، اگه نمونه کدتون رو بزارید ممنون میشم:لبخندساده:

reza_azizi2010
دوشنبه 02 تیر 1393, 00:36 صبح
البته به منطق برنامه تون بستگی داره. ولی این مشکلات عمومیه: اول اینکه اگه بازار روی گوشی نصب نباشه برنامه کرش میکنه، پس باید هندلش کنید. میتونید با try-catch خطا رو هندل کنید و یا اصولی ترش اینه با این کد از نصب بودن یا نبودن بازار مطمئن شید و بر اساس اون اقدام کنید :

public static boolean isPackageInstalled(String packagename, Context context) {
PackageManager pm = context.getPackageManager();
try {
pm.getPackageInfo(packagename, PackageManager.GET_ACTIVITIES);
return true;
}
catch (NameNotFoundException e) {
return false;
}
}


یدونه هم واسه فراخوانی باید بذاری که خیلی مهمه، یعنی همون خطی که خرید رو آغاز میکنه

try {
mHelper.launchPurchaseFlow(Pardakht.this, SKU_PREMIUM, RC_REQUEST, purchaseFinishedListener);
}
catch (Exception e) {
Toast.makeText(G.context, "Error", Toast.LENGTH_LONG).show();
}

spiderman200700
دوشنبه 02 تیر 1393, 00:43 صبح
در ضمن اگر کاربر وارد حساب کاربریش در بازار نشده باشه هم برنامه کرش میکنه، که با کد دوم جناب reza_azizi2010 (http://barnamenevis.org/member.php?11249-reza_azizi2010) میشه هندلش کرد.

reza_azizi2010
دوشنبه 02 تیر 1393, 01:10 صبح
در ضمن اگر کاربر وارد حساب کاربریش در بازار نشده باشه هم برنامه کرش میکنه، که با کد دوم جناب reza_azizi2010 (http://barnamenevis.org/member.php?11249-reza_azizi2010) میشه هندلش کرد.

این مورد رو چطوری میشه هندل کرد؟! یعنی کجا مشخص میشه که کاربر وارد نشده؟ البته من چک کردم وقتی وارد نشده باشه ، صفحه ورود میاد و تا اینجا کرش نداره، ولی اگه کاربر اون صفحه رو بک بزنه کرش میکنه.