2016-01-15 12 views
15

私はアンドロイドプロジェクトでIa​​bHelperクラスを実装しましたが、 'getBuyIntentToReplaceSkus'は解決できないと言います。フル方法:IabHelperクラスが機能しません。

buyIntentBundle = mService.getBuyIntentToReplaceSkus(5, 
mContext.getPackageName(),oldSkus, sku, itemType, extraData); 

私は私のプロジェクトでのアプリ内課金で実装が、メソッドの残りの部分は何の問題もありませんが、私はまだ、購入する任意の項目を作成していません。

答えて

41

Googleのサンプルプロジェクトのaidlは、追加の 'Google Play Billing' SDKに含まれるaidlファイルとは異なります。なぜ彼らはそれが良い考えだと思ったのか分かりません。プロジェクト内のaidlをサンプルプロジェクトに含まれているものと置き換えてください。これには、欠落しているメソッド参照が含まれます。下のコードをコピーして、下にあるaidlファイルに貼り付けることもできます。

/** 
* This API is currently under development. 
*/ 
int stub(int apiVersion, String packageName, String type); 

/** 
* Returns a pending intent to launch the purchase flow for upgrading or downgrading a 
* subscription. The existing owned SKU(s) should be provided along with the new SKU that 
* the user is upgrading or downgrading to. 
* @param apiVersion billing API version that the app is using, must be 5 or later 
* @param packageName package name of the calling app 
* @param oldSkus the SKU(s) that the user is upgrading or downgrading from, 
*  if null or empty this method will behave like {@link #getBuyIntent} 
* @param newSku the SKU that the user is upgrading or downgrading to 
* @param type of the item being purchased, currently must be "subs" 
* @param developerPayload optional argument to be sent back with the purchase information 
* @return Bundle containing the following key-value pairs 
*   "RESPONSE_CODE" with int value, RESULT_OK(0) if success, appropriate response codes 
*       on failures. 
*   "BUY_INTENT" - PendingIntent to start the purchase flow 
* 
* The Pending intent should be launched with startIntentSenderForResult. When purchase flow 
* has completed, the onActivityResult() will give a resultCode of OK or CANCELED. 
* If the purchase is successful, the result data will contain the following key-value pairs 
*   "RESPONSE_CODE" with int value, RESULT_OK(0) if success, appropriate response 
*       codes on failures. 
*   "INAPP_PURCHASE_DATA" - String in JSON format similar to 
*         '{"orderId":"12999763169054705758.1371079406387615", 
*         "packageName":"com.example.app", 
*         "productId":"exampleSku", 
*         "purchaseTime":1345678900000, 
*         "purchaseToken" : "122333444455555", 
*         "developerPayload":"example developer payload" }' 
*   "INAPP_DATA_SIGNATURE" - String containing the signature of the purchase data that 
*         was signed with the private key of the developer 
*         TODO: change this to app-specific keys. 
*/ 
Bundle getBuyIntentToReplaceSkus(int apiVersion, String packageName, 
    in List<String> oldSkus, String newSku, String type, String developerPayload); 
+0

ファイルを置き換えた後にプロジェクトを再構築するのを忘れないでください。それを再構築せずに、エラーは消えず、あなたは問題が解決されていないと思うかもしれません... – Barakuda

関連する問題