2016-03-28 18 views
2

Satın alma modunu test etmek için herhangi bir şey satın alın. İşte kod. DialogFragmentimde YES'i tıkladığımda hiçbir şey değişmez. Ancak, sürüm APK'sında satın almaya çalışırsam tamam. Sorun ne çocuklar? i Dialog'da değil satın alırsanızGoogle InApp Biling test satın alımı

public void StupidLogic(){ 
    ITEM_SKU = "android.test.purchased"; 
    mHelper.launchPurchaseFlow(getActivity(), ITEM_SKU, 10001, mPurchaseFinishedListener, "mytoken"); 
} 



IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener 
     = new IabHelper.OnIabPurchaseFinishedListener() { 
    public void onIabPurchaseFinished(IabResult result, 
             Purchase purchase) 
    { 
     if (result.isFailure()) { 
      // Handle error 
      return; 
     } 
     else if (purchase.getSku().equals(ITEM_SKU)) { 
      consumeItem(); 
     } 

    } 
}; 

public void consumeItem() { 
    mHelper.queryInventoryAsync(mReceivedInventoryListener); 
} 

IabHelper.QueryInventoryFinishedListener mReceivedInventoryListener 
     = new IabHelper.QueryInventoryFinishedListener() { 
    public void onQueryInventoryFinished(IabResult result, 
             Inventory inventory) { 


     if (result.isFailure()) { 
      Log.d("Billing"," Such Failure! WOW!"); 
     } else { 
      mHelper.consumeAsync(inventory.getPurchase(ITEM_SKU), 
        mConsumeFinishedListener); 
     } 
    } 
}; 

IabHelper.OnConsumeFinishedListener mConsumeFinishedListener = 
     new IabHelper.OnConsumeFinishedListener() { 
      public void onConsumeFinished(Purchase purchase, 
              IabResult result) { 

       if (result.isSuccess()) { 
        //Приходящий ответ!!!!!-------------------------------------------------------------------------------------------- 
        //String URL = "http://cybergenesis.ru/egor/add_service?ontime=" + ontimeString + "&offtime=" + offtimeString + "&user_id=" + info_id + "&service=" + Integer.toString(position + 1) + "&balance=" + String.valueOf(balance); 
        Retrofit retrofit = new Retrofit.Builder() 
          .baseUrl("http://cybergenesis.ru/egor/") 
          .addConverterFactory(GsonConverterFactory.create()) 
          .build(); 

        APIService service = retrofit.create(APIService.class); 
        Call<Post> call = service.addService(ontimeString, offtimeString, info_id, positionStr, Balance); 
        call.enqueue(new Callback<Post>() { 
         @Override 
         public void onResponse(Call<Post> call, retrofit2.Response<Post> response) { 

         } 

         @Override 
         public void onFailure(Call<Post> call, Throwable t) { 

         } 
        }); 

       } else { 
        // handle error 
       } 
      } 
     }; 
@Override 
public void onDestroy() { 
    super.onDestroy(); 
    if (mHelper != null) mHelper.dispose(); 
    mHelper = null; 
} 

}

Tüm Tamam.

cevap

0

IAB apk'de imzalı yayımlanan sürümünde çalışıyor ancak hata ayıklama içinde, bu sorun olabilir Değilse:

Sen ayıklama modu aktive olması için Security.java dosyasını değiştirmeniz gerekir. Bu, yöntemin imzasız işlerde çalışmasına izin verir. Bu sadece hata ayıklama içindir, yayınlamadan önce geri almayı unutmayın. Eğer imzalı apk almak ve oyun konsolu alfa testi yükleyin zorunda kalacak, böylece

public static boolean verifyPurchase(String base64PublicKey, 
     String signedData, String signature) { 
    if (TextUtils.isEmpty(signedData) || 
      TextUtils.isEmpty(base64PublicKey) || 
      TextUtils.isEmpty(signature)) { 
     Log.e(TAG, "Purchase verification failed: missing data."); 
     if (BuildConfig.DEBUG) { 
      return true; 
     } 
     return false; 
    } 

    PublicKey key = Security.generatePublicKey(base64PublicKey); 
    return Security.verify(key, signedData, signature); 
} 

Take a look at this

+0

i açıklamadan önce Security.java değiştirmek gerek? Ya da gerçek alımlarla çalışmak zorunda mı? Bazen test modunda satın alabilirim ama çok nadiren yapabilirim. –

+0

Test modunun, bildiğim kadarıyla, sürüm sürümünde değiştirilmemiş imzasız aplikasyonlarla sahteciliği önlemek için gerekli olan güvenlik kontrollerini yok sayması. Hata günlüğünüz neye benziyor? – brunoschalch

+0

hiçbir şey! düğmesine tıklayın - hiçbir şey! ITEM SKU'yu değiştirmek için gerçek ve tıklayın - IAb başladı –

İlgili konular