Как получить идентификатор электронной почты или идентификатор заказа в базе данных, когда пользователь покупает мое приложение из магазина воспроизведения

Я хочу получить идентификатор заказа или адрес электронной почты пользователя, когда он покупает мое приложение из магазина воспроизведения.

Я хочу, чтобы когда пользователь покупал мое приложение, идентификатор заказа хранится в моей базе данных sql. Затем, когда пользователь регистрируется в моем приложении и вводит идентификатор заказа, этот идентификатор заказа может быть проверен с сохраненным идентификатором заказа.

Или, если я могу получить идентификатор электронной почты, используемый для этой покупки, я могу сохранить эту покупку с этим идентификатором электронной почты.

Спасибо

Ответ 1

Когда приложение открывается, то в вашем первом действии вы можете использовать этот метод для проверки покупки или нет?

Это базовый код, чтобы понять, как получить детали inapp. Возможно, вам понадобится добавить в него безопасность, используя собственный или шифрование.

public class HomeActivity extends Activity{
private IabHelper mIabHelper;
    private void checkPurchase(){
        String base64EncodedPublickey = "Your BASE 64 key";
        if (mIabHelper == null) {
            mIabHelper = new IabHelper(getActivity(), base64EncodedPublickey);
            mIabHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
                @Override
                public void onIabSetupFinished(IabResult result) {
                    try {
                        if (result.isSuccess()) {
                            mIabHelper.queryInventoryAsync(mQueryFinishedListener);
                        }
                    } catch (IabHelper.IabAsyncInProgressException e) {
                    }
                }
            });
        }
    }

    IabHelper.QueryInventoryFinishedListener
                mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() {
            public void onQueryInventoryFinished(final IabResult result, final Inventory inventory) {
                Gson gson = new Gson();
                try {
                    if (result.isFailure()) {
                        return;
                    }
                    if (inventory.hasPurchase("Package name")) {
                        Purchase purchase = inventory.getPurchase("Inapp Package name");
                        if (purchase != null) {
                            String puchaseDetails = gson.toJson(purchase);
                              Log.e(TAG, "Purchase Data : "+puchaseDetails);
                        }
                    }
                } catch (Exception e) {
                    localData = null;
                }
            }
        };
}

Ответ 2

Это невозможно сделать.

Вы не можете получить идентификаторы заказов клиентов.