Je reçois cette erreur en testant localement les produits d'abonnement intégrés à l'application.
l'authentification est requise. vous devez vous connecter à votre compte google
J'ai pu vérifier l'inventaire du produit, mais ne devrais-je pas aussi pouvoir l'acheter?
Il y a un certain nombre d'articles sur les raisons de cette erreur qui, à mon avis, ont été résolus:
C'est le seul moyen de tester les achats réels via les canaux bêta/alpha - pas directement du studio Android. Cet article suggère que c'est possible (voir la capture d'écran)
http://developer.Android.com/google/play/billing/billing_testing.html#billing-testing-test
Essentiellement, les paiements de facturation intégrés à une application ne peuvent être testés qu'avec un apk signé par une version (celle que nous avons téléchargée sur la console Google Play).
Voici quelques étapes qui m'ont permis de joindre un apk signé avec Android Studio
:
Je suis sous Windows. Cela aide d'avoir adb.exe
dans le PATH, pour moi c'est:
C:\Utilisateurs {votre-nom-utilisateur}\AppData\Local\Android\sdk\platform-tools
AndroidManifest.xml
sous application
nodeAndroid:debuggable="true" tools:ignore="HardcodedDebugMode"
Et dans votre fichier build.gradle
sous Android > buildTypes > release
, ajoutez:
debuggable true
Générer un fichier APK signé à partir d'Android Studio
Connectez votre appareil pour le débogage USB. Supprimer l'installation actuelle:
adb uninstall {yourdomain}.{yourpackagename}
adb install app-release.apk
Run
du studio Android Studio, la dernière option est "Attacher le débogueur au processus Android" - sélectionnez votre appareil. Vous êtes en train de déboguer.NBpour la facturation in-app, le numéro de build doit correspondre à celui actuellement publié sur Play Store
Peut-être une autre approche:
Semblable dans la plupart des cas à ce qui est mentionné ici sauf que vous pointez simplement sur votre magasin de clés de version dans votre buildType de débogage.
Étapes exactes: 1) Dans votre application, le fichier Gradle de la balise Android
ajoute une configuration de signature de version:
signingConfigs {
release {
storeFile file("Path_to_your_Production_release_Keystore.jks")
storePassword 'your_keystore_password'
keyAlias 'your_key_alias'
keyPassword 'your_key_password'
}
}
et ajoutez la configuration de signature à votre buildType de débogage:
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) Assurez-vous que les sections versionCode
et versionName
dans votre section d'applications> defaultConfig
correspondent exactement à ce qui se trouve dans l'apk que vous avez chargé sur le Play Store:
defaultConfig {
applicationId "com.groovypackagename.groovyapp"
minSdkVersion 16
targetSdkVersion 24
versionCode 56
versionName "0.9.6"
multiDexEnabled true
resConfigs "en"
}
3) Assurez-vous d'ajouter l'autorisation de facturation à votre manifeste:
<uses-permission Android:name="com.Android.vending.BILLING" />
4) N'oubliez pas d'ajouter vos produits IAB (In App Billing) conformément à la documentation.
5) Définissez vos points d'arrêt et le débogage comme d'habitude.
6) Après avoir utilisé votre code avec duperie, n'oubliez pas de nettoyer au moins les modifications apportées à votre fichier de notation, telles que la suppression de la configuration de la signature afin que vos mots de passe de restauration ne flottent pas dans l'espace.
Avec un peu de chance, vous pourrez faire un débogage local pour votre code IAB.
À votre santé.
Je suppose que, lorsque vous initialisez l’aide à la facturation, vous lui fournissez une clé publique Base64 à partir de la console du développeur. Cette clé correspond à votre certificat de version.
Le message que vous obtenez suggère que vous essayez probablement d'exécuter votre application en mode débogage. Cela signifie que votre application est signée à l'aide du certificat de débogage (par défaut). Si j'ai raison, cela explique pourquoi vous n'êtes pas authentifié.
Malheureusement, le seul moyen de tester la facturation intégrée à l'application consiste à utiliser une application signée à l'aide du certificat de version sur un appareil connecté à un compte, définie comme "Comptes Gmail avec accès test" et à publier votre application sur Google Play (alpha/bêta/production).
Ce qui suit a fonctionné pour moi en lançant depuis mon IDE (Android Studio)
1) Accédez à votre https://play.google.com/apps/publish/ Sous Compte de développeur/Paramètres/Détails du compte/Test de licence.
2) Ajoutez l'adresse e-mail 'Google Play' par défaut correspondant au périphérique que vous testez.
Source: https://engineering.memrise.com/faster-in-app-billing-subscriptions-testing-8e68551b4e2f