آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در پرداخت درون برنامه ای

kamal_hajatmand  10 سال پیش  10 سال پیش
0 0

من تو برنامه ام یه لیست ویو قرار دادم که با کلیک روی هر ایتمی برنامه ارتقا داده بشه ، برای اینکار تمامی کدهای پرداخت درون برنامه ای هم قرار  داده شده و به درستی هم کار میکنه ولی وقتی که برنامه بازار رو گوشی نصب نباشه برنامه کرش میکنه ؟

من لاگ برنامه رو چک کردم و به نظرم مشکل تو کد زیره :

توی لاگ گت این کد تا مرحله Starting setup. میره و بعدش کرش میشه ؟برای حل مشکل لطفا راهنمایی کنید.

         mHelper = new IabHelper(this, base64EncodedPublicKey);
            Log.d(TAG, "Starting setup.");
           
            mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
               
                public void onIabSetupFinished(IabResult result) {
                    Log.d(TAG, "Setup finished.");

                    if ( !result.isSuccess()) {
                        // Oh noes, there was a problem.
                        Log.d(TAG, "Problem setting up In-app Billing: " + result);
                    }
                    // Hooray, IAB is fully set up!
                    mHelper.queryInventoryAsync(mGotInventoryListener);

                }
            });

0 0
? (10 سال پیش)
0 0
? (10 سال پیش)
0 0
قبل از چک برای پرداخت وضعیت نصب بازار را بررسی کنید ، اگر بازار نصب نبود کدهای پرداخت را اجرا نکنید ، و یا می توانید برای اینکه برنامه carsh نکند از try catch استفاده کنید (10 سال پیش)
0 0
شرط نصب بودن بازار رو هم گذاشتم ولی وقتی اون رو میذارم در اکتیویتی میره رو حالت لودینگ، خودم هم نمیدونم دلیلش چی بود؟ (10 سال پیش)
0 0
آیا کل این کد رو تو شرط بذارم ؟ (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
hamcalas  10 سال پیش
+1 0

در onClick آیتمی که قرار هست با کلیک فعال شود :

این کدی هست که در یکی از برنامه استفاده کردم

         btnPay.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {
if (isPackageInstalled("com.farsitel.bazaar")) {
// Bazar is installed
try {
G.mHelper.launchPurchaseFlow(Payment.this,
G.SKU_PREMIUM, 0, mPurchaseFinishedListener);
}
catch (Exception e) {
e.printStackTrace();
Toast.makeText(G.context, G.context.getResources().getString(R.string.Payment_P2),
Toast.LENGTH_SHORT).show();
}
}
else {
// Bazar is not installed
//open Bazzar Home Page To Download It !
Toast.makeText(G.context,
G.context.getResources().getString(R.string.Payment_P3),
Toast.LENGTH_SHORT).show();
}

}
});

}

////////////////////////////////

0 0
ببخشید شاید من منظورمو بد بیان کردم ، برنامه من قبل از کلیک روی آیتم های لیست ویو کرش میکنه ، یعنی وقتی که کاربر اکتیویتی که لیست ویو توشه رو باز میکنه بازار شروع میکنه به چک کردن دسترسی کاربر ، و قبل از کلیک روی لیست ویو برنامه کرش میکنه (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .