صفحه 2 از 2 اولاول 12
نمایش نتایج 41 تا 52 از 52

نام تاپیک: آموزش api بازار

  1. #41

    نقل قول: آموزش api بازار

    سلام دوست عزیز ممنون بابت راهنمایی
    همونطوری که گفتید بنده انجام دادم تست با موفقیت انجام گرفت

    فقط یه سوال می مونه ؟؟؟!!


    زمانی که tokenid خرید رو در سورس جاوای خودم قرار میدم پیغام موفقیت آمیز میاد ولی وقتی متغیر order رو قرار میدم میگه خرید ناموفق بوده

    هرچی هست تو این متغیر order = p.getOrderId(); هستش ای نمی تونه tokenid رو بدست بیاره در کل کار این متغیر چیه این چی رو داره بدست میاره من تابع
    verify رو اینجوری بازنویسی کردم درسته یا کار من اشتباست (البته با توضیحات بالایی دوست عزیزمون پیش رفتم)

    متغیر order رو چک کردم Null بر میگردونه :(

        boolean verifyDeveloperPayload(Purchase p) {
    //String payload =p.getDeveloperPayload();
    order=p.getOrderId();
    return true;
    }


    **********************************************

    یه چیز دیگه هم که هست من متغیر order رو زمانی در شی ای که از کلاس IabHelper.OnIabPurchaseFinishedListener با نام
    mPurchaseFinishedListener تعریف کردم و مقدار دهی می کنم خیلی خوب جواب میده ولی دوستان فرمودن باید تو تابع
    verifyDeveloperPayload مقدار دهی کنید حالا این دو چه تفاوتی با هم دارن؟؟؟
    منظورم مقادیری هست که به متغیرها میدهیم( هر دو تابع بالا متغیر purchase رو به عنوان آرگومان دارند)


    بازم ممنون
    آخرین ویرایش به وسیله Ebrahimkh : چهارشنبه 31 تیر 1394 در 11:19 صبح

  2. #42
    کاربر دائمی آواتار c0mmander
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    خونمون D:
    پست
    563

    نقل قول: آموزش api بازار

    نقل قول نوشته شده توسط Ebrahimkh مشاهده تاپیک
    سلام دوست عزیز ممنون بابت راهنمایی
    همونطوری که گفتید بنده انجام دادم تست با موفقیت انجام گرفت

    فقط یه سوال می مونه ؟؟؟!!


    زمانی که tokenid خرید رو در سورس جاوای خودم قرار میدم پیغام موفقیت آمیز میاد ولی وقتی متغیر order رو قرار میدم میگه خرید ناموفق بوده

    هرچی هست تو این متغیر order = p.getOrderId(); هستش ای نمی تونه tokenid رو بدست بیاره در کل کار این متغیر چیه این چی رو داره بدست میاره من تابع
    verify رو اینجوری بازنویسی کردم درسته یا کار من اشتباست (البته با توضیحات بالایی دوست عزیزمون پیش رفتم)

    متغیر order رو چک کردم Null بر میگردونه :(

        boolean verifyDeveloperPayload(Purchase p) {
    //String payload =p.getDeveloperPayload();
    order=p.getOrderId();
    return true;
    }


    **********************************************

    یه چیز دیگه هم که هست من متغیر order رو زمانی در شی ای که از کلاس IabHelper.OnIabPurchaseFinishedListener با نام
    mPurchaseFinishedListener تعریف کردم و مقدار دهی می کنم خیلی خوب جواب میده ولی دوستان فرمودن باید تو تابع
    verifyDeveloperPayload مقدار دهی کنید حالا این دو چه تفاوتی با هم دارن؟؟؟
    منظورم مقادیری هست که به متغیرها میدهیم( هر دو تابع بالا متغیر purchase رو به عنوان آرگومان دارند)


    بازم ممنون
    کد همون کدی هست که دوستمون قرار دادن
    بستگی به کد خودتون داره اگر verifyDeveloperPayload فراخوانی نمیشه پس جای دیگه ازش استفاده کنید مهم این هست که شی purchase معتبر باشه.

  3. #43

    نقل قول: آموزش api بازار

    یعنی این قسمت از حرف بنده می تونه در باب کارکرد توکن درست باشه توکن خودکار آپدیت میشه




    یه چیز دیگه هم که هست من متغیر order رو زمانی در شی ای که از کلاس IabHelper.OnIabPurchaseFinishedListener با نام
    mPurchaseFinishedListener تعریف کردم و مقدار دهی می کنم خیلی خوب جواب میده ولی دوستان فرمودن باید تو تابع
    verifyDeveloperPayload مقدار دهی کنید حالا این دو چه تفاوتی با هم دارن؟؟؟
    منظورم مقادیری هست که به متغیرها میدهیم( هر دو تابع بالا متغیر purchase رو به عنوان آرگومان دارند)


    راستی یه چیزدیگه سورسهای دیگه نیازی به دستکاری ندارن یعنی تو همون حالت اولیه باشن درسته؟؟!؟!(منظور سورس پرداخت درون برنامه ای هستش)



    ممنون...

  4. #44

    نقل قول: آموزش api بازار

    اینم سورس پرداخت
    بنظورتون مشکلش چیه؟؟!!





    public class Pool 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";

    // Debug tag, for logging
    static final String TAG = "savedPremium";

    // SKUs for our products: the premium upgrade (non-consumable)
    static final String SKU_PREMIUM = "how";

    // 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.activity_pool);

    button = (Button) findViewById(R.id.btnpool);

    typeface = Typeface.createFromAsset(getAssets(), "fonts/titr.ttf");

    button.setTypeface(typeface);
    button.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
    // TODO Auto-generated method stub
    onSavedUpgradeAppButtonClicked(arg0);
    // verifytoken();
    }
    });

    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 = "MIHNMA0GCSqGSCpgXp3J1b4KKwYgzNx3EyqOpRccZXk4pJtwO nXVavJxiooZHNRul5v0eT2NvCPmPoNeqgRIX1MilemLyqfksJt m8hxFTQYfcFriFXl8+Sq2RPtL2z+RIG1wECAwEAAQ==";
    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) {
    Log.d(TAG, "Purchase finished: " + result + ", purchase: "
    + purchase);
    Inventory inv = null;
    try {
    inv = mHelper.queryInventory(true, null);
    if (inv.hasPurchase(SKU_PREMIUM)) {

    // alert("تبريک شما به کاربر ويژه ارتقا يافتيد");
    if (purchase.getSku().equals(SKU_PREMIUM)) {
    // Log.d(TAG,
    // "Purchase is premium upgrade. Congratulating user.");
    // // alert("تبريک شما به کاربر ويژه ارتقا يافتيد");
    // editor.putInt("mon", 1);
    // editor.apply();
    //
    // mIsPremium1 = true;
    // updateUi();
    // setWaitScreen(false);
    order=purchase.getOrderId();
    verifytoken();

    }

    // حالا برنامه را فعال کنيد
    } else {
    if (result.isFailure()) {
    Log.d(TAG, "Error purchasing: " + result);
    // setWaitScreen(false);
    return;
    }
    if (!verifyDeveloperPayload(purchase)) {
    complain("Error purchasing. Authenticity verification failed.");
    // setWaitScreen(false);
    return;
    }
    Log.d(TAG, "خريد نادرست است");
    }
    } catch (IabException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }
    };

    // Update button with updateUi
    public void updateUi() {

    if (mIsPremium1) {

    AlertDialog.Builder builder=new AlertDialog.Builder(Pool.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();

    }

    /************************************************** ************************************************** *******/

    @Override
    public void onDestroy() {
    super.onDestroy();

    Log.d(TAG, "Destroying helper.");
    if (mHelper != null)
    mHelper.dispose();
    mHelper = null;
    }

    public void verifytoken() {
    progressDialog=new ProgressDialog(Pool.this);

    progressDialog = ProgressDialog.show(this, "خريد", "لطفا چند لحظه صبر کنيد تا بررسي خريد صورت بگيرد...");
    new RequestTask().execute("http://www.BBccountry.ir/token/token.php?package=com.dev.howold&product=howold&to kenid="+order);

    }

    class RequestTask extends AsyncTask<String, String, String>{

    @Override
    protected String doInBackground(String... uri) {
    HttpClient httpclient = new DefaultHttpClient();
    HttpResponse response;
    String responseString = null;
    try {
    response = httpclient.execute(new HttpGet(uri[0]));
    StatusLine statusLine = response.getStatusLine();
    if(statusLine.getStatusCode() == HttpStatus.SC_OK){
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    response.getEntity().writeTo(out);
    responseString = out.toString();
    out.close();
    } else{
    //Closes the connection.
    response.getEntity().getContent().close();
    throw new IOException(statusLine.getReasonPhrase());
    }
    } catch (ClientProtocolException e) {
    //TODO Handle problems..
    } catch (IOException e) {
    //TODO Handle problems..
    }
    return responseString;
    }


    @Override
    protected void onPostExecute(String result) {
    super.onPostExecute(result);

    progressDialog.dismiss();

    if (result.length() > 5){


    Log.d(TAG, "Purchase is premium upgrade. Congratulating user." + result + result.length());
    Toast.makeText(getApplicationContext(), "پرداخت انجام شد", Toast.LENGTH_SHORT).show();
    mIsPremium1 = true;
    updateUi();
    // setWaitScreen(false);
    } else {
    Log.d(TAG, "natigeh" + result);
    // setWaitScreen(false);
    Toast.makeText(getApplicationContext(), "پرداخت انجام نشد", Toast.LENGTH_SHORT).show();

    }
    }
    }
    }



  5. #45

    نقل قول: آموزش api بازار

    دوستان کسی هست بگه مشکل
    کد بالا چیه که قیمت برنامه رو نشون نمیده در کل هر قیمتی میزارم میگه قیمت برنامه شما صفر تومن هستش



    خواهشن راهنمایی کنید

  6. #46

    نقل قول: آموزش api بازار

    کسی نیست راهنمایی کنه

  7. #47

    نقل قول: آموزش api بازار

    خداروشکر پیداش کردم

    فقط اینجا باید h رو بزرگ می نوشتم


    static final String SKU_PREMIUM = "how";


    دوستان اگه خواستند می تونن از سورس جاوایی که قرار دادم به عنوان یه نمونه از پرداخت درون برنامه ای تحت سرور استفاده کنند.

  8. #48

    نقل قول: آموزش api بازار

    آیا این api میتواند اطلاعات خرید نرم افزار را برگرداند؟ منظورم خریدهای مستقل است؟ نه پرداختهای درون برنامه!
    آیا برای خریدهای مستقل نرم افزار توکن آیدی میدهد و یا order میدهد؟
    من هنوز بازار را درست نمیشناسم

  9. #49

    نقل قول: آموزش api بازار

    نقل قول نوشته شده توسط pbm_soy مشاهده تاپیک
    آیا این api میتواند اطلاعات خرید نرم افزار را برگرداند؟ منظورم خریدهای مستقل است؟ نه پرداختهای درون برنامه!
    آیا برای خریدهای مستقل نرم افزار توکن آیدی میدهد و یا order میدهد؟
    من هنوز بازار را درست نمیشناسم
    متاسفانه نخیر، بازار برای خرید های مستقیم تا اونجایی که من در میدونم هیچ توکنی رو برای برنامه نویس ارائه نمیده

    اتفاقا منم مشکل شما رو دارم ( لینک ) ، به این نتیجه رسیدم که برای برنامه های پولی که خرید میشن اگ یوزر (بازار) کاربری که خرید برنامه رو انجام میده رو توی برنامه ذخیره کنم و فقط برای اون کاربر نمایش بدم برنامه رو اما متاسفانه بازار بهیچ عنوان زیر بار نرفت


    لطفا اگه به نتیجه ای رسیدین توی همون تایپیک ارائه بفرمائید

    با تشکر

  10. #50

    نقل قول: آموزش api بازار

    سلام دوستان گرامی
    من در پیاده سازی api بازار مشکل دارم. هاست دارم و اون کدهای پی اچ پی رو عینن کپی کردم و داخل سی پنل اپلود کردم
    ولی وقتی ادرس مربوط به پی اچ پی رو میزنم میگه error نمیدونم چیکار کنم . با همین ادرس کلاینت میسازه ولی وقتی تویه لینک زیر جاگذاری میکنم بازار خطا میده....
    چیکار کنم به نظر شما؟

  11. #51

    نقل قول: آموزش api بازار

    سلام
    کسی از دوستان می دونه چطور باید از این کد پرداخت در سورس بازی در یونیتی استفاده کرد؟
    ممنون

  12. #52

    نقل قول: آموزش api بازار

    با سلام دوستان من از api پرداخت درون برنامه نسخه دو استفاده کردم به درستی کار میکرد ولی الان ازکار افتاده موقع بررسی خرید خطا می ده که به سرور وصل نمیشه مشکا از کجاست این
    CLIENT بعد از یه مدتی منقضی میشه؟ چرا یهو از کار افتاده در حالی که سرور من دردست رس هست و مشکلی نداره. کاربرام گذارش میدن خرید انجام میشه ولی نسخه کامل نمیشه درحالی که قبلا این مشکل نبود.

صفحه 2 از 2 اولاول 12

تاپیک های مشابه

  1. سوال: درخواست منبع برای آموزش API
    نوشته شده توسط nunegandom در بخش C#‎‎
    پاسخ: 6
    آخرین پست: شنبه 18 شهریور 1391, 02:59 صبح
  2. PDf آموزش API در وی بی
    نوشته شده توسط noorsoft در بخش برنامه نویسی در 6 VB
    پاسخ: 8
    آخرین پست: سه شنبه 14 اسفند 1386, 11:16 صبح
  3. آموزش: توابع API مدیریت پنجره ( قسمت اول)
    نوشته شده توسط Hamedm در بخش برنامه نویسی در 6 VB
    پاسخ: 16
    آخرین پست: پنج شنبه 23 آذر 1385, 14:45 عصر
  4. آموزش توابع API مدیریت پرینتر
    نوشته شده توسط Hamedm در بخش برنامه نویسی در 6 VB
    پاسخ: 4
    آخرین پست: یک شنبه 21 فروردین 1384, 08:49 صبح
  5. آموزش توابع API مدیریت پنجره (قسمت دوم)
    نوشته شده توسط Hamedm در بخش برنامه نویسی در 6 VB
    پاسخ: 7
    آخرین پست: شنبه 20 فروردین 1384, 08:17 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •