Tôi đang cố gắng tạo bản trình diễn inappbilling. Tôi đã theo dõi điều này tutorial để nghiên cứu điều này.InappBilling Lỗi xác thực là bắt buộc. bạn cần phải đăng nhập vào tài khoản google của mình
Lemme biết các bước tôi đi theo để thực hiện nhiệm vụ này
tôi đã sử dụng mã dưới đây đề cập
package com.ohn.inappbilling; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.util.Log; import android.view.View; import android.widget.Button; import com.hello.inappbilling.util.IabHelper; import com.hello.inappbilling.util.IabResult; import com.hello.inappbilling.util.Inventory; import com.hello.inappbilling.util.Purchase; import com.ohn.inappbilling.R; public class MainActivity extends ActionBarActivity { private static final String TAG = "com.hello.inappbilling"; static final String ITEM_SKU = "com.buttonclick"; IabHelper mHelper; private Button clickButton; private Button buyButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); buyButton = (Button) findViewById(R.id.buyButton); clickButton = (Button) findViewById(R.id.clickButton); clickButton.setEnabled(false); String base64EncodedPublicKey = "******"; mHelper = new IabHelper(this, base64EncodedPublicKey); mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() { public void onIabSetupFinished(IabResult result) { if (!result.isSuccess()) { Log.d(TAG, "In-app Billing setup failed: " + result); } else { Log.d(TAG, "In-app Billing is set up OK"); } } }); //throw new RuntimeException(); } public void buttonClicked(View view) { clickButton.setEnabled(false); buyButton.setEnabled(true); } public void buyClick(View view) { mHelper.launchPurchaseFlow(this, ITEM_SKU, 10001, mPurchaseFinishedListener, "mypurchasetoken"); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (!mHelper.handleActivityResult(requestCode, resultCode, data)) { super.onActivityResult(requestCode, resultCode, data); } } 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(); buyButton.setEnabled(false); } } }; public void consumeItem() { mHelper.queryInventoryAsync(mReceivedInventoryListener); } IabHelper.QueryInventoryFinishedListener mReceivedInventoryListener = new IabHelper.QueryInventoryFinishedListener() { public void onQueryInventoryFinished(IabResult result, Inventory inventory) { if (result.isFailure()) { // Handle failure } else { mHelper.consumeAsync(inventory.getPurchase(ITEM_SKU), mConsumeFinishedListener); } } }; IabHelper.OnConsumeFinishedListener mConsumeFinishedListener = new IabHelper.OnConsumeFinishedListener() { public void onConsumeFinished(Purchase purchase, IabResult result) { if (result.isSuccess()) { clickButton.setEnabled(true); } else { // handle error } } }; @Override public void onDestroy() { super.onDestroy(); if (mHelper != null) mHelper.dispose(); mHelper = null; } }
Tôi tạo ra apk sử dụng File-Export-AndroidProject và tải lên này trong alphatesting.
tôi thêm người sử dụng (Google nhóm) trong Quản lý danh sách kiểm tra trong thử nghiệm alpha.
tôi đã thêm sản phẩm vào trong ứng dụng sản phẩm và cung cấp cho id để nó com.buttonclick
Trong các thiết lập trong chiếm với thử nghiệm truy cập tôi đã thêm Gmail id ở đây cũng Gmail. Không có id nào là id nhà phát triển.
Bất kỳ ai cũng có thể nói giải pháp cho vấn đề này. Tôi đã thử tất cả các giải pháp có sẵn trên StackoverFlow
.
Không biết nếu nó có liên quan nhưng tôi chưa bao giờ thử nghiệm IAB mà không có tài khoản chính/đầu tiên được đặt làm người thử nghiệm, tôi phải đặt lại thiết bị và đặt tài khoản người kiểm tra làm tài khoản chính của thiết bị. – Hacketo
có nghĩa là bạn muốn nói, tôi xóa tất cả tài khoản khỏi điện thoại, sau đó thêm một tài khoản để thử nghiệm, đúng không? –