it-roy-ru.com

Можно ли локально отлаживать биллинг в Google Play в Android Studio?

Я получаю эту ошибку при тестировании продуктов подписки в приложении локально. 

требуется авторизация. вам нужно войти в свою учетную запись Google

Я был в состоянии проверить инвентарь для продукта, но я не могу также быть в состоянии купить это?

Есть несколько сообщений о том, почему эта ошибка может возникнуть, которые, как я думал, были устранены:

  • продукт выпущен на бета-канале с включенным биллингом в приложении
  • я вошел в Play Store с лицензированной учетной записью тестового пользователя на устройстве.

Это единственный способ проверить фактические покупки через бета/альфа-каналы, а не прямо из студии Android. Этот пост предполагает, что это возможно (см. Скриншот)

http://developer.Android.com/google/play/billing/billing_testing.html#billing-testing-test

15
jenson-button-event

По сути, платежные платежи в приложении могут быть проверены только с подписанным релизом apk (тот, который мы загружаем в консоль Google Play).

Вот несколько шагов, которые привели меня к подписанному apk с Android Studio:

Я на винде. Это помогает иметь adb.exe в ПУТИ, для меня это:

C:\Users {ваш-имя пользователя}\AppData\Local\Android\SDK\платформенные инструменты

  1. В консоли Google Play убедитесь, что приложение опубликовано (<является однократным ручным шагом после первоначальной обработки) в альфа- или бета-канале, и у вас есть лицензированная тестовая учетная запись Gmail (из раздела «Настройки учетной записи»), которая также в списке альфа/бета-тестеров и не является владельцем учетной записи приложения. Эта учетная запись является единственной учетной записью на устройстве. Выпустите apk и убедитесь, что все работает с установленной версии из Play Store.
  2. Имеются следующие настройки: В AndroidManifest.xml под узлом application
Android:debuggable="true"
tools:ignore="HardcodedDebugMode"

И в вашем build.gradle файле под Android > buildTypes > release добавьте:

debuggable true

  1. Создать подписанный APK из Android Studio

  2. Подключите ваше устройство для отладки по USB. Удалить текущую установку:

adb uninstall {yourdomain}.{yourpackagename}

  1. Установите его (из пути выпуска)

adb install app-release.apk

  1. Откройте приложение на устройстве. В меню Run в Android Studio последний параметр - «Подключить отладчик к процессу Android» - выберите свое устройство. Вы сейчас отлаживаете.

NBдля биллинга в приложении номер сборки должен соответствовать номеру, опубликованному в настоящее время в Play Store

42
jenson-button-event

Возможно, другой подход:

В большинстве случаев аналогичен тому, что упомянуто здесь, за исключением того, что вы просто указываете на свое хранилище ключей релиза в своем отладочном buildType.

Точные шаги: 1) В файле Gradle вашего приложения в теге Android добавьте конфигурацию подписи релиза:

signingConfigs {
        release {
            storeFile file("Path_to_your_Production_release_Keystore.jks")
            storePassword 'your_keystore_password'
            keyAlias 'your_key_alias'
            keyPassword 'your_key_password'
        }
    }

и добавьте конфигурацию подписи в ваш отладочный buildType:

buildTypes {
    release {
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-project.txt', 'proguard-google-api-client.txt'
    }
    debug {
        signingConfig signingConfigs.release
        debuggable true
    }
}

2) Убедитесь, что versionCode и versionName в разделе вашего приложения> defaultConfig точно соответствуют тому, что находится в apk, который вы загрузили в Play Store:

defaultConfig {
    applicationId "com.groovypackagename.groovyapp"
    minSdkVersion 16
    targetSdkVersion 24
    versionCode 56
    versionName "0.9.6"
    multiDexEnabled true
    resConfigs "en"
}

3) Обязательно добавьте разрешение на выставление счета в манифест:

<uses-permission Android:name="com.Android.vending.BILLING" />

4) Не забудьте добавить свои IAB (In App Billing) продукты в соответствии с документами

5) Установите точки останова и отлаживайте в обычном режиме.

6) После того, как вы успешно обманули свой код, не забудьте очистить, по крайней мере, изменения в вашем файле Gradle, такие как удаление конфигурации подписи, чтобы ваши пароли Kestore не перемещались в пространстве.

Если вам повезет, вы сможете выполнить локальную отладку для своего кода IAB.

Приветствия.

3
SN Bliss

Я предполагаю, что когда вы инициализируете «помощника по оплате», вы предоставляете ему открытый ключ Base64 из консоли разработчика. Этот ключ соответствует вашему выпуску сертификата.

Полученное сообщение говорит о том, что вы, вероятно, пытаетесь запустить свое приложение в режиме отладки. Это означает, что ваше приложение подписано с использованием отладочного сертификата (по умолчанию). Если я прав, это объясняет, почему вы не проходите аутентификацию.

К сожалению, единственный способ проверить биллинг в приложении - это приложение, подписанное с использованием сертификата выпуска, на устройстве, вошедшем в учетную запись, которая определяется как «учетные записи Gmail с доступом для тестирования», и ваше приложение должно быть опубликовано. в Google Play (альфа/бета/производство).

2
dev.bmax

Следующее сработало при запуске из моей IDE (Android Studio) 

1) Перейдите на страницу https://play.google.com/apps/publish/ В разделе «Учетная запись разработчика»/«Настройки»/«Сведения об учетной записи»/«Проверка лицензии»).

2) Добавьте адрес электронной почты Google Play по умолчанию, соответствующий устройству, которое вы тестируете.

Источник: https://engineering.memrise.com/faster-in-app-billing-subscription-testing-8e68551b4e2f

0
Mitch Thornton