アプリの課金で有効にしようとしています。 Google Playコンソールでアプリ内製品を作成し、ライセンスキーを取得しました。製品を購入しようとすると。この画像エラーが表示されます。
BillingProcessorの作成に使用するコードは次のとおりです。
bp = new BillingProcessor(this, LICENSE_KEY, MERCHANT_ID, new BillingProcessor.IBillingHandler() {
@Override
public void onProductPurchased(@NonNull String productId, @Nullable TransactionDetails details) {
showToast("onProductPurchased: " + productId);
updateTextViews();
}
@Override
public void onBillingError(int errorCode, @Nullable Throwable error) {
showToast("onBillingError: " + Integer.toString(errorCode));
}
@Override
public void onBillingInitialized() {
showToast("onBillingInitialized");
readyToPurchase = true;
updateTextViews();
}
@Override
public void onPurchaseHistoryRestored() {
showToast("onPurchaseHistoryRestored");
for(String sku : bp.listOwnedProducts())
Log.d(LOG_TAG, "Owned Managed Product: " + sku);
for(String sku : bp.listOwnedSubscriptions())
Log.d(LOG_TAG, "Owned Subscription: " + sku);
updateTextViews();
}
});
LICENSE_KEYはGoogle Playコンソールのライセンスキーであり、MERCHANT_IDはnullです。
これは私がアイテムを購入する方法です。
bp.purchase(this,PRODUCT_ID);
PRODUCT_IDがGoogle Playコンソールで使用するproduct1である場合、アプリ内製品の例を次に示します。
これを修正する方法はありますか? DF-AA-20の問題には、答えのないstackoverflowの質問が1つしかありません。そして、それに関する情報はインターネット上にありません。私はエミュレータと私のAndroid電話を使用しようとしました。
DF-AA-20は、アプリがPlayストアで公開されないことを意味します。これは通常、次のいずれかの理由です。
ああ、私のSKUが異なる製品で購入をテストしたときにこの例外がありました。
SKUを確認してください。
SkuはCAPSであってはなりません! [a-z] [0-9]のみ!
ちょっと待ってください。 25分待ってから、製品がGoogle Playに登録されました
Google Playコンソールで製品をまだアクティブにしていない場合でも、この正確なエラーコードメッセージを取得できることを指摘しておくと便利です。 (デバッグでも、アクティブにする必要があります。)
Playstoreにアプリを公開する必要があります(アルファ版またはベータ版の公開でも役に立ちません)。