Google Play
Connectez Google Play avec un service account qui lit vos rapports Play Console et la Play Developer API.
RevGlance lit les rapports mensuels sales et earnings dans le bucket Cloud Storage de votre Play Console, et interroge la Play Developer API sur les périodes de facturation, les remboursements et, avec les notifications en temps réel, les essais et les annulations.
Connexion
- Dans Google Cloud, créez un service account dans un projet, ajoutez-lui une clé JSON et téléchargez-la. Activez la Google Play Android Developer API pour le projet.
- Dans la Play Console, ouvrez Users and permissions, invitez l’adresse e-mail du service account et donnez-lui View financial data pour votre app.
- Copiez votre bucket de rapports depuis Download reports › Financial : la partie
pubsite_prod_rev_…de l’URI Cloud Storage. - Saisissez le bucket, le nom de package de votre app (
com.example.app) et la clé JSON en entier, puis choisissez Connecter Google Play. Une nouvelle invitation peut mettre jusqu’à un jour à donner accès aux rapports.
Ce que demande le formulaire
| Champ | Ressemble à |
|---|---|
| Bucket des rapports | pubsite_prod_rev_01234567890987654321 |
| Nom du package | com.example.app |
| JSON du compte de serviceStocké chiffré | { "type": "service_account", … } |
Le service account se connecte avec un accès en lecture seule à Cloud Storage (devstorage.read_only) et à l’Android Publisher API.
Ajouter le webhook
Sans les notifications, les essais sont invisibles et une annulation n’apparaît qu’une fois un renouvellement en retard de trois jours. Avec elles, RevGlance apprend le jeton d’achat de chaque abonnement et demande à Play son état en temps réel.
- Dans RevGlance, ouvrez Paramètres › Sources, ouvrez le menu de la source Google Play et choisissez Webhook. Enregistrez un long secret aléatoire sous Secret de signature.
- Dans Google Cloud, créez un topic Pub/Sub et autorisez Google Play à y publier, comme l’explique la page Monetization setup de la Play Console.
- Ajoutez un abonnement push au topic. Son endpoint est l’URL du webhook avec
?token=et votre secret à la fin. - Dans la Play Console, ouvrez Monetization setup, saisissez le topic et envoyez une notification de test. RevGlance accuse réception des tests et des notifications concernant d’autres apps sans y donner suite.
À quoi s’attendre
- Les rapports arrivent en retard. Google les publie trois à sept jours après la vente. Les ventes arrivent d’abord ; les revenus (earnings) les remplacent ensuite par ce que Google vous a versé.
- Clients anonymes. Play ne nomme aucun acheteur. Les commandes d’un même abonnement partagent une racine d’ID (
GPA.1234…), qui devient un client anonyme. Les achats ponctuels n’ont pas de client. - Les remboursements via l’API remontent à 30 jours. Les remboursements plus anciens arrivent avec le rapport earnings.
Comment Google Play est calculé
- Google publie les rapports avec trois à sept jours de retard. Les ventes arrivent d’abord ; les revenus les remplacent ensuite par ce que Google vous a versé, après sa commission. Les paiements comptent hors taxes.
- Chaque ligne de remboursement est conservée, y compris les partielles. Deux remboursements partiels d’une même commande répartis sur deux rapports mensuels peuvent entrer en conflit, et l’un peut être manqué. Google n’indique pas si les remboursements sont négatifs dans ses rapports : ils sont donc lus comme des montants remboursés.
- Les remboursements via la Play API ne remontent que sur 30 jours. Les plus anciens arrivent avec le rapport des revenus.
- Sans notifications en temps réel, une annulation n’apparaît que comme un renouvellement en retard de trois jours, comptée une fois que les rapports couvrent ce jour.
- Les achats de test sont exclus. Un abonnement en attente continue de compter ; un abonnement suspendu compte dans l’attrition jusqu’à sa reprise.
- Le MRR correspond à la dernière commande, hors taxes. Une offre de lancement compte à son prix d’offre, et le prix normal apparaît ensuite comme une expansion.
- Les paiements échoués ne sont pas signalés : ce chiffre reste donc à zéro.

RevGlance