Подтвердить что ты не робот

Можно ли отлаживать локальную загрузку приложений Google Play в Android Studio?

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

Требуется аутентификация

. вам нужно войти в свою учетную запись google

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

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

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

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

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

4b9b3361

Ответ 1

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

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

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

C:\Users{your-username}\AppData\Local\Android\sdk\platform-tools

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

Примечание: Вероятно, вам нужно добавить свойство: xmlns:tools="http://schemas.android.com/tools" в ваш тег манифеста. Это может выглядеть так:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="your.package"
 xmlns:tools="http://schemas.android.com/tools">

И в своем файле build.gradle в разделе android > buildTypes > release добавьте:

debuggable true

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

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

adb uninstall {yourdomain}.{yourpackagename}

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

adb install app-release.apk

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

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

Ответ 2

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

Аналогично в большинстве случаев, что упоминается здесь, кроме как вы просто указываете на свое хранилище ключей в своем отладочном файле 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'
        }
    }

и добавьте конфигурацию подписи в свой debug 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 в вашем приложении Gradle > defaultConfig раздел точно соответствуют тому, что вы загрузили в загружаемом магазине apk:

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 (в приложении) для документов

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

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

При любой удаче вы сможете выполнить локальную отладку для своего кода IAB.

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

Ответ 3

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

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

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

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

Ответ 4

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

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

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