بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشتری های برنامه من پول را پرداخت میکنند ولی برنامه ام باز پول میخواهد
سلام
همونطور که میدونید من یه برنامه جدید ساختم
توش از پرداخت درون برنامه استفاده کردم
بعضی از مشتری ها میخرن ولی برنامه میگه خریداری نشده
اینم کدش
ببینید مشکل از چیه
ممنون میشم کمک کنید
public class Main extends Activity {
static final String TAG = "Premium User Clash Of Clans Map";
// SKUs for our products: the premium upgrade (non-consumable)
static final String SKU_PREMIUM = "pucom";
// Does the user have the premium upgrade?
boolean mIsPremium = false;
// (arbitrary) request code for the purchase flow
static final int RC_REQUEST = 10001;
// The helper object
IabHelper mHelper;
public static AlertDialog.Builder bs;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maic);
mHelper.queryInventoryAsync(mGotInventoryListener);
if ( !isConnectingToInternet(this)) {
alt();
}
bs = new AlertDialog.Builder(Main.this);
String base64EncodedPublicKey = "MIHNMA0GCSqGSIb3DQEBAQUAA4G7ADCBtwKBrwDd9LKgXX1uc5iAVDt1WAobvzl0fGc3uujtZvwEMtewuW8pyqJbx1GYEJxFYYSG7qkI7FqhS2a6RhNFCVdkyw+03CSb2GHiirvpQ60oAwiuqR2NrwGGUA/+LyE06Gp/71uBuZYpQr3gwlRTZIucqOEPLH7N6kLLI+Lj9sgilYGUlNuusG+7btuVA8VWu4NDcpk/HRWr7OEwMD+JeLcl6PjhimDOHldjgTA8v8r1Qy8CAwEAAQ==";
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!
}
});
ArrayList<String> list = new ArrayList<String>();
list.add("TownHall 3");
list.add("TownHall 4");
list.add("TownHall 5");
list.add("TownHall 6");
list.add("TownHall 7");
list.add("TownHall 8");
list.add("TownHall 9");
list.add("TownHall 10");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, list);
dataAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
final Spinner sp = (Spinner) findViewById(R.id.spinner1);
sp.setAdapter(dataAdapter);
findViewById(R.id.Button01).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (mIsPremium) {
Intent i = new Intent(Main.this, ActivityStartup.class);
i.putExtra("name", sp.getSelectedItem().toString().replace("TownHall ", ""));
startActivity(i);
} else {
alertd();
}
}
});
findViewById(R.id.button2).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (mIsPremium) {
Intent i = new Intent(Main.this, ActivityStartup.class);
i.putExtra("name2", sp.getSelectedItem().toString().replace("TownHall ", ""));
startActivity(i);
} else {
alertd();
}
}
});
findViewById(R.id.button3).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent(Main.this, ActivityStartup.class);
i.putExtra("name3", sp.getSelectedItem().toString().replace("TownHall ", ""));
startActivity(i);
}
});
}
IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
@Override
public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
Log.d(TAG, "Query inventory finished.");
if (result.isFailure()) {
Log.d(TAG, "Failed to query inventory: " + result);
return;
}
else {
Log.d(TAG, "Query inventory was successful.");
// does the user have the premium upgrade?
mIsPremium = inventory.hasPurchase(SKU_PREMIUM);
Log.i("daaaaaa", "" + mIsPremium);
Log.d(TAG, "User is " + (mIsPremium ? "PREMIUM" : "NOT PREMIUM"));
}
Log.i("daaaaaaf", "" + mIsPremium);
Log.d(TAG, "Initial inventory query finished; enabling main UI.");
}
};
static IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {
@Override
public void onIabPurchaseFinished(IabResult result, Purchase purchase) {
if (result.isFailure()) {
Log.d(TAG, "Error purchasing: " + result);
return;
}
else if (purchase.getSku().equals(SKU_PREMIUM)) {
res();
}
}
};
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," + data);
// Pass on the activity result to the helper for handling
if ( !mHelper.handleActivityResult(requestCode, resultCode, data)) {
super.onActivityResult(requestCode, resultCode, data);
} else {
Log.d(TAG, "onActivityResult handled by IABUtil.");
}
}
@Override
public void onDestroy() {
super.onDestroy();
if (mHelper != null)
mHelper.dispose();
mHelper = null;
}
void s() {
mHelper.launchPurchaseFlow(this, SKU_PREMIUM, RC_REQUEST, mPurchaseFinishedListener, "payload-string");
}
public void alertd() {
AlertDialog.Builder b = new AlertDialog.Builder(Main.this);
LayoutInflater inf = getLayoutInflater();
b.setView(inf.inflate(R.layout.ad, null));
b.create().show();
}
public void onOnlineUpgradeAppButtonClicked(View arg0) {
mHelper.launchPurchaseFlow(this, SKU_PREMIUM, RC_REQUEST, mPurchaseFinishedListener, "payload-string");
}
public static boolean isConnectingToInternet(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED)
return true;
}
return false;
}
private void alt() {
AlertDialog.Builder b = new AlertDialog.Builder(Main.this);
b.setTitle("خطا");
b.setMessage("لطفا دسترسی خود را به اینترنت وصل نمایید و دوباره برنامه را باز کنید");
b.setPositiveButton("باشه", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(1);
}
});
b.create().show();
}
public static void res() {
bs.setTitle("ممنون");
bs.setMessage("ممنون بابت خرید شما , لطفا برنامه را کامل بسته و دوباره باز کنید");
bs.setPositiveButton("برنامه را ببند", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(1);
}
});
bs.create().show();
}
}
0
0
خواهش میکنم کمک کنید (12 سال پیش)
0
0
میلاد جان آموزش دورن برنامه ای من یا حامد رو مطالعه کن (12 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
حامد
12 سال پیش
0
0
این چند تا سوال را جواب بده این قضیه خیلی مهم شده:
1 - ورژن جدید برای برنامه ات تو بازار فرستادی که این مشکل به وجود آمد؟؟
2 - خودت قبل از انتشار برنامه تست نکردی؟
3 - همه این مشکل را دارند یا بعضی از کاربرا بهت پیام دادند؟
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .