Google Play Store reviews identifier that can be fetched within app - google-play

I need an unique identifier to link the app usage data collected from my app with the reviews posted by the same user on the Play Store. As of now, Google does not expose any unique identifier in the reviews which can be obtained within the app so that user's app usage data and their reviews can be linked. Is there anything available to accomplish this?

This is a gross invasion of the Reviewer's privacy. You should not be doing this.
If you go down this route, especially if you don't tell the user, then it is likely you will break the Google Play User Data policies and get your app or your account suspended.

Related

How to process RTDN from Google Play?

My server receives a real-time developer notifications (RTDN) from Google Play. Now what?
How to check whether RTDN by Google Play comes from Google, not from a hacker? Suppose I use purchases.products.get API to check it. Then a hacker could send me repeated RTDN, what would lead my server into thinking that purchase happened two times (when it was really one time).
I want my server to top the user account on every purchase from my app. I want the amount of purchase to be arbitrary (specified by the user). Should I include the amount in dollars into product productId/SKU like: credit-$0.78?
Also, it is unclear how to determine the installation ID of the app (a UUID I store in app data on installation) for which the purchase was done. Should I include the UUID in productId/SKU?
Quoting https://developer.android.com/google/play/billing/security
A special case of sensitive data and logic that should be handled in the backend is purchase verification. After a user has made a purchase, you should do the following:
Send the corresponding purchaseToken to your backend. This means that you should maintain a record of all purchaseToken values for all purchases.
Verify that the purchaseToken value for the current purchase does not match any previous purchaseToken values. purchaseToken is globally unique, so you can safely use this value as a primary key in your database.
Use the Purchases.products:get or Purchases.subscriptionsv2:get endpoints in the Google Play Developer API to verify with Google that the purchase is legitimate.
If the purchase is legitimate and has not been used in the past, you can then safely grant entitlement to the in-app item or subscription.
[skipping about verification of subscriptions]
Real-time developer notifications (RTDN) is a mechanism to receive notifications from Google whenever there is a change in a user's entitlement within your app. RTDN leverages the use of Google Cloud Pub/Sub which is encoded and secure, each publish made to a Cloud Pub/Sub topic contains a single base64-encoded data field.
Note: You must call the Google Play Developer API after receiving Real-time developer notifications to get the complete status and update your own backend state. These notifications tell you only that the purchase state changed. They do not give you complete information about the purchase.
The Google Play Developer API is a server-to-server API that complements the Google Play Billing Library on Android. This API provides functionality not available in the Google Play Billing Library, such as securely verifying purchases and issuing refunds to your users.

My app got rejected because of mature mopub Ad, What type of IAB category is an ad like this?

The most recent update to my app on Google Play was rejected because the app "contains ad content that is not appropriate for children".
App update rejected
More specifically it was rejected because the app is rated 3+ but it showed an ad for Bigo Live, a social app rated 12+.
Bigo Live ad in the app
I know the solution is to block ads of this kind using MoPub Content Blocking. But the question is, what IAB category does it fall under?
Use Content Blocking in mopub and block this app:
Content blocking at the account level is the one-stop place to apply advertising filters across your account. Here, you can block advertiser URLs, install ads for specific apps, and general ad categories across all the apps in your account. You can always override these account-wide settings at the app level if you want to set unique content filters for individual apps.
Also, if you app is not targeted toward kids you can got to Google Play Console > App Content > Target audience and content > and chose higher target age

Google Play Product Id

[Edited as suggested by #Nick. Also made clearer the problem I am having. Also done a further edit to explain further.]
In my app on the Google Play Dashboard I have created an in app purchase called test1. So what is the product id I put in the following?
String productString = "test1";
bp.purchase(this, /* "YOUR PRODUCT ID FROM GOOGLE PLAY CONSOLE HERE" */ productString);
The purchase function is from Android In-App Billing v3 Library as noted by #Nick .
The error I am getting when I just have productString = "test1"; is it is saying:
Error
The item you requested is not available for purchase
When I do: bp.purchase(this, "com.mywebsite.jon.myappname.test1"); to make it look as much as possible like the test purchase example
I get the error from Google Play:
Error
Error while retreiving information fro server. [DF-AA-20]
​
I am not sure if this is important:
I am at the very early stage of testing in Internal Testing (not
Alpha or Beta testing).
My developer account and my purchaser accounts are different
I have the purchaser account email in my testers group
A product ID is described in the documentation here. It is:
"Product ID - A unique, human readable ID for your product. Product IDs are also called SKUs in the Google Play Billing Library."
If you called your in app purchase "test1" then it is "test1".
-------- Edit
One problem (or good thing) with using 3rd party libraries (which is what the one is you link to is) rather than the Google Libraries is you don't get the official documentation. Google has produced some ok documentation on testing in app billing.
I'd go through all the steps on that page, and if it still doesn't work say the step where you failed. I suspect what is going wrong is you haven't yet published your app to the Play store. Before a real in-app product is purchased (as opposed to the test product names like 'android.test.purchased') The app must be published.
Don't worry if you don't want to publish your app to the world yet. You can use an Internal Testing Track. An Internal test track publish won't be visible to anyone except the test accounts you add to it. And it won't affect your position in things like top charts for newly released apps. It is specifically there to test things like purchases or Google Play license verification.

Get the list of users who download an apps from google play store and app store

Is there anyway to get a list of users who download certain app on google play store or app store whether the app is belong to me (I am the owner) or not?
Please advise
For the Apple App Store you don't get any sales-related information that could identify your customers (i.e. Apple ID). You can only verify that someone purchased your app.
Source:
https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Introduction.html

Content rating removed- Your app content rating was removed. Please submit a new content rating questionnaire before publishing updates to your app

i have got this message in google play developer account for my app
Content rating removed
Your app content rating was removed. Please submit a new content rating questionnaire before publishing updates to your app.
Some information about your app is incomplete.
and now I am not able to update app.
Below is the mail content that I got from google play team :
This is a notification that the content rating of your application, , with package ID xxx.xxxx, has been changed to UNRATED. Unrated apps may not be visible to users who use content filtering on the Play Store.
REASON FOR CONTENT RATING CHANGE: Violation of the Google Play content rating policy.
These guidelines apply to all content in your app, including user generated content, in-app products, and advertisements.
After a regular review, we’ve determined that your app has an inaccurate content rating. Please retake the content rating questionnaire for your app and submit an update.
If you feel we have made this determination in error, you can submit an appeal on the Google Play Help Center.
We appreciate your help with ensuring an accurate content rating experience for Google Play users.
The Google Play Team
I had something simmilar(got rejected 4-5 times with same message https://stackoverflow.com/questions/30653430/google-play-rejection-with-violation-of-the-google-play-content-rating-policy) in the end I think that they think the pegi rate you got is to low to your app.. so try to answer questions even if it wrongs just to get higher pegi rate.. but still be careful what you choose..

Resources