بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
اموزش پرداخت درون برنامه
مدیریت گفتگو
آخرین تغییر: 10 سال پیش
شما با کپی کد های زیر به راحتی میتونید پرداخت درون برنامه غیر قابل هک رو پیاده کنید
import android.app.*;
import android.content.*;
import android.graphics.*;
import android.os.*;
import android.util.*;
import android.view.*;
import android.view.View.*;
import android.widget.*;
import com.util.*;
import java.io.*;
import org.apache.http.*;
import org.apache.http.client.*;
import org.apache.http.client.methods.*;
import org.apache.http.impl.client.*;
import com.mycompany.myapp32333.*;
import android.preference.*;
import android.content.pm.*;
public class m extends Activity {
private ProgressDialog progressDialog;
public static String order;
private Dialog dialog;
public static int g = 0;
SharedPreferences preferences = null;
private String PACKAGENAME = "";
final String KEY = "PERIMIUM";
private String payload; // رشته ی منحصر به فردی که ما اون رو تولید میکنیم و به هنگام خرید به بازار ارسال میکنیم
// Debug tag, for logging
static final String TAG = "savedPremium";
// SKUs for our products: the premium upgrade (non-consumable)
static final String SKU_PREMIUM = "test";
// Does the user have the premium upgrade?
boolean mIsPremium1 = false;
// (arbitrary) request code for the purchase flow
static final int RC_REQUEST = 10001;
// The helper object
IabHelper mHelper;
private SharedPreferences shared;
private SharedPreferences.Editor editor;
private Typeface typeface;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.d);
//////چک قبلا فعال شدن برنامه
SharedPreferences shared = getSharedPreferences("Prefs", MODE_PRIVATE);
SharedPreferences.Editor editor = shared.edit();
boolean premium=shared.getBoolean("eror", false);
if(premium){
button.setEnabled(false);
AlertDialog.Builder alertDialog = new AlertDialog.Builder(
m.this);
alertDialog.setMessage("برنامه قبلا فعال شده است نیاز به فعال سازی مجدد نیست í ½í¸Ší ½í¸Š");
alertDialog.setPositiveButton("ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
alertDialog.show();
}else {
button.setEnabled(true);
}
//////////
button = (Button) findViewById(R.id.d);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
onSavedUpgradeAppButtonClicked(arg0);
}
});
shared = getSharedPreferences("Pref", MODE_PRIVATE);
editor = shared.edit();
g = shared.getInt("mon", 0);
/************************************************** ************************************************** *******/
preferences = getSharedPreferences(PACKAGENAME, Context.MODE_PRIVATE);
PACKAGENAME = getClass().getName();
Log.e("TAG", PACKAGENAME);
mIsPremium1 = preferences.getBoolean(KEY, false);
if (mIsPremium1 == true) {
updateUi();
return;
}
String base64EncodedPublicKey = "MIHNMA0GCSqGSIb3DQEBAQUAA4G7ADCBtwKBrwDDgKpylwaoSd94tnNN/XDsaIJLoyig/3lNxKa4EcVojNqFBSseXTldmFuAxS/qWxG9qigcmTlwUGLS70nGSvWBfDJdMt/ryRzgDbR+kde7rne97ke8FQoWH7RNwxTDF6ee1YBj1fxrH21/AQAGHEhWXZHxwcx3FNSFA6HAzU/EAgBOQMAFwJa/q0W07kJEhjSgwTwoUOGmGvSJJqs/eIXv74wmG9d1ByYWSGKgZqsCAwEAAQ==";
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);
}
}
});
/************************************************** ************************************************** *******/
}
/************************************************** ************************************************** *******/
@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.");
}
}
public void onSavedUpgradeAppButtonClicked(View arg0) {
Log.d(TAG,
"Upgrade button clicked; launching purchase flow for upgrade.");
// setWaitScreen(true);
String payload = "gdhassdflsldaslfkahsjahsjakaasa";
mHelper.launchPurchaseFlow(this, SKU_PREMIUM, RC_REQUEST,
mPurchaseFinishedListener, payload);
}
boolean verifyDeveloperPayload(Purchase p) {
//String payload =p.getDeveloperPayload();
order=p.getOrderId();
return true;
}
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {
public void onIabPurchaseFinished(IabResult result, Purchase purchase) {
if (!result.isFailure()) {
if (purchase.getOrderId().equals(purchase.getToken())) {
if (purchase.getSku().equals(SKU_PREMIUM)
&& purchase.getDeveloperPayload().equals(payload)) {
//Purchase successfull.
{
}
} else {
//Purchase is not valid!
AlertDialog.Builder alertDialog = new AlertDialog.Builder(
m.this);
alertDialog.setMessage("عملیات پرداخت با موفقیت به اتمام رسید í ½í¸�");
alertDialog.setPositiveButton("ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
alertDialog.show();
SharedPreferences shared = getSharedPreferences("Prefs", MODE_PRIVATE);
SharedPreferences.Editor editor = shared.edit();
editor.putBoolean("eror", true);
editor.apply();
}
}else{
AlertDialog.Builder alertDialog = new AlertDialog.Builder(
m.this);
alertDialog.setMessage("دوست عزیز لطفا حق ثاحب اثر را محفوظ نگه داشته و از هک ان بپرهیزید í ½í¸‚í ½í¸‚");
alertDialog.setPositiveButton("ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
alertDialog.show();
}
}else{
AlertDialog.Builder alertDialog = new AlertDialog.Builder(
m.this);
alertDialog.setMessage("عملیات پرداخت کنسل شد í ½í¸‚í ½í¸‚");
alertDialog.setPositiveButton("ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
alertDialog.show();
}
if (mHelper != null)
mHelper.flagEndAsync();
}
};
// Update button with updateUi
public void updateUi() {
if (mIsPremium1) {
AlertDialog.Builder builder=new AlertDialog.Builder(m.this);
builder.setTitle("کاربر ويژه");
builder.setMessage("تبريک ميگم"+"\n"+"دوست عزيز شما به کاربر ويژه ارتقا يافتيد");
builder.setPositiveButton("خب", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
// startActivity(new Intent(Pool.this,StartActivity.class));
}
});
builder.show();
SharedPreferences.Editor newtask = preferences.edit();
newtask.putBoolean(KEY, true);
newtask.commit();
}
}
void complain(String message) {
Log.e(TAG, "**** testbilling Error: " + message);
alert("Error: " + message);
}
void alert(String message) {
AlertDialog.Builder bld = new AlertDialog.Builder(this);
bld.setMessage(message);
bld.setNeutralButton("OK", null);
Log.d(TAG, "Showing alert dialog: " + message);
bld.create().show();
}
/************************************************** ************************************************** *******/
public boolean isPackageInstalled(String PackageName) {
PackageManager manager = getPackageManager();
boolean isAppInstalled = false;
try {
manager.getPackageInfo(PackageName, PackageManager.GET_ACTIVITIES);
isAppInstalled = true;
}
catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
Log.i("LOG", "بازار نصب نیست");
}
return isAppInstalled;
}
@Override
public void onDestroy() {
super.onDestroy();
Log.d(TAG, "Destroying helper.");
if (mHelper != null)
mHelper.dispose();
mHelper = null;
}}
پاسخها 2
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات