I have been getting some amounts between $0.2 to $0.7 debited from my final payment from AdMob ads under the title "invalid activity" in my payment details.
Yes the amounts are small but i am still worried as i have been extra careful while testing i used the test keys and i have not told any of my friends to click on my ads or have clicked on them myself.
I did have the same issue for my web-site but that was due to some bots which i black-listed in the server access files so i am no longer getting such "invalid activity" on my blog earnings
I have built my apps in Ionic Framework.
So my question is how can i detect where the invalid activity is coming from in my app and how can i prevent it.
How can i detect where the invalid activity is coming from in my app
You can check a country wise view of requests on Google Adsense at this link. You can analyze and check where major traffic is from, where clicks are from, etc.
Fore more detailed reporting use Google Analytics for Android
How can i prevent it.
There is no fixed way of how you deal with that. You will need to take steps and write algorithms in your app based on your analysis. But, I dont think that is really required. If it is an invalid activity from a third party (NOT You) Google will take corrective actions. But, if it is by You, you are in trouble and may get the app suspended or account blocked.
google doesn't provide actual invalid activity because of security reason according to google terms& conditions
Related
The application worked fine for half a year, I tried to upload an update, everything was as usual, but the console received "We have determined your app contains code to facilitate Ad Fraud", although I almost did not change anything. The only change that had at least some relation to the advertisement, after the splash, an advertisement appears, after it is closed, it shows the main screen of the application, it was decided to extend the display time of the splash screen, so a slight delay was added so that the advertisement had a little more time to load. After that, the update failed.
We wrote in support, after almost 2 weeks, they replied:
"I’ve reviewed your appeal request and found that your app still violates Google Play Policy. I’ve included details below about the specific issue with your app and what you can do to get your app back on Google Play.
Step 1: Fix the policy violation with your app
During review, we found that your app violates the Ad fraud policy:
Your app is not compliant with the Ad Fraud policy. Ad fraud is strictly prohibited. Ad interactions generated for the purpose of tricking an ad network into believing traffic is from authentic user interest is ad fraud, which is a form of invalid traffic.
Ads should not be shown in a way that results in inadvertent clicks. Forcing a user to click an ad or submit personal information for advertising purposes before they can fully use an app is prohibited.
Ads should not appear after the user has exited the app, or after the user has pressed the back button to exit the app.
Ads associated with your app must not interfere with other apps, ads, or the operation of the device, including system or device buttons and ports.
This includes overlays, companion functionality, and widgetized ad units. Ads must only be displayed within the app serving them. You can refer the attached screenshot for additional information.
You can read through the Ad Fraud policy page for more details and examples of common violations.
Please update your app to fix this issue. You may also want to double check that your app complies with all other Developer Program Policies, as additional enforcement could occur if there are further policy violations.
Step 2: Submit an update to your app
To submit an updated app bundle or APK:
Prepare your updates.
Create a new release using the compliant app bundle or APK. Be sure to create the new release on the same track(s) as the non-compliant app bundle or APK, increment the version number, and set the release to 100% rollout.
Follow the on-screen instructions to add APKs or app bundles, then review and roll out your release.
Please let me know if you have any other questions. Thanks for working with us to fix the policy issue and for your continued support of Google Play."
It seems like the application does not break anything, but I came across this answer Uncaught exception thrown by finalizer: All WebView methods must be called on the same thread. (Expected Looper ) th / 57308639 # 57308639 it is possible if the application is minimized and the advertisement is loaded and is shown not in the application. Or, due to problems with the connection, it does not show ads immediately after the splash, but passes it to the main screen and then it already shows that it also seems to be wrong, but then problems with the update appeared earlier. Could any of this be a problem? What else could be the problem? Maybe someone did something similar, please tell me what are the solutions?
Update Admob library to 19.7.0 or later and follow the migration guide to update Rewarded and Interstitial Ads in the app.
I have created an Android app after months of hard work and when it came to publishing, Google straight away rejected it.
Google says i am using a sensitive permission PROCESS_OUTGOING_CALLS. To use this permission either my app shall be a default call handler or my core feature shall fall under the exceptions they have provided. If my core feature doesn't fall under those exceptions which it actually doesn't, then i must report a new use case. I reported new use case properly and waited for two weeks NO RESPONSE. I tried publishing my app again as exception "device automation". It got rejected again saying my app doesn't fall under this exception.
Basically what my app does is, base on phone number to which call is being made, it shows some personalize data on an overlay screen over dialer. ( Cannot tell you the complete details, i am really sorry for that). No it is not a caller id or spam detection either.
I went through Google document over and over to see if i missed something.
https://support.google.com/googleplay/android-developer/answer/9214102?hl=en
I couldn't find any.
My time and money has been invested in this and i can't start showing it to people.
If someone came across same issue and able to resolve it please help.
And if more details required please comment i will provide.
I've encountered the similar problem with Google a while ago but with this sensitive permission.
From my experience - the chances that the use case you submitted will be approved is near zero.
There are two things you can do in this case:
either extend your app to fall under one the exception cases.
or go the path I went - change your app main purpose to be the default dialer and your current main feature would be just a minor perk. (make it extendable to add more minor features in future)
This is the easiest way to publish your app. Well frankly I see it as the only solution possible - Google is known for its strict "You are banned and I'm not gonna change my decision" policy. Youtube and Play Store have tens of thousands ban stories non of which is ended in a user beneficial way.
Hope it helps.
I was searching for crash reports sent by users via Android device.
If the user enters any specific details in description section and clicks Send, where this report is sent? Is it sent to Google or to the developer's email address?
You can deduct that the feedback is sent only to Google from two points:
Below the checkmark for "Include system logs" you'll see them saying that your system info will be sent to Google and a lot of legal policies for data manipulation since the feedback will contain sensitive information.
Normal crash reports contain information about the stack trace and some device information. If you will check the system info, you'll see a lot of sensitive information, information that Google keeps only for them in order to solve the problem themselves, since sending private information about your user to any developer would not be good idea.
When this kind of crashes take place, it's not your fault(usually) as a developer. If your app crashes constantly, then maybe you should try to open an issue and see what Google has to say about it. For example, the Facebook app crashes on a daily basis for me with the same behaviour, but I didn't find any reason for this.
We run a web application with a Java Script- and an Android front end. We use Google IDs with OAuth for authentication. Everything worked find until today authenticaiton suddenly stopped working. There was no new software version deployed or any operational changes. Now, when a user tries to log on via the browser application, Google issues
401. That’s an error.
Error: disabled_client
The OAuth client was disabled.
Request Details
scope=openid profile email
response_type=code
redirect_uri=https://***.net/signin-google
state=***
client_id=******.apps.googleusercontent.com
That’s all we know.
When logging in via Android App, authentication fails too, GoogleAuthUtil.getToken raises an unspecific exception.
I couldn't find much information when googling for this error message. Some say, one should try to change the application name in the consent screen. This didn't help in my case.
In developer console I noticed, that I cannot create a new Client ID for this project. I always get a technical error ("Server Error Whoops! Our Bad.") with a tracking number. Seems to be related.
I have a total of 7 Client IDs registered for this project and 3 public API access keys.
Is it possible, that Google explicitly disabled our project? That's how it actually feels. For what reason? I didn't get any notification. Our product is an application for access control, nothing special or illegal here.
Any ideas? This is a production environment, so for us the problem is absolutely severe.
Thanks for any help!
In the meantime we found out, that our Android App was removed from the Play Store and we got following notification:
This is a notification that your application, <...>, with package ID <...>, has been removed from the Google Play Store.
REASON FOR REMOVAL: Violation of the Personal and Confidential Information provision of the Content Policy.Please refer to the policy help article for more information.
We don't allow unauthorized publishing or disclosure of people's private and confidential information, such as credit card numbers, government identification numbers, driver's and other license numbers, non-public contacts, or any other information that is not publicly accessible.
We are very careful about the data inside our application and we take privacy and security extremely seriously as the hole app is about security and our customer's trust is absolutely essential. However, we recently introduced a feature that periodically sends the LogCat output to our servers for debugging reasons. Our app is in an early preview state which we make clear in the app description. It's used by a very limited number of people as it can only be used with a special piece of hardware we provide. The LogCat output only contains data from the app itself, no confident data of any kind. We published a couple of related apps and not all have the feature even included but all were suspended. However, we guess that this feature is the reason for removing.
Edit
In the meantime we wrote an appeal via the form provided on Google Play. The ban was removed from Google Play and the related Google OAuth Client shortly after.
We were informed, that our App collects names of running tasks and sends them to our servers, which is not the case. However, we used the crittercism library and the crittercism docs suggest to require the "GET_TASKS" permission, what we did. I don't think, that Crittercism is considered as dangerous as it's used by lots of applications. But maybe the combination of a Logging Service on the one hand and the GET_TASKS permission on the other hand, although not dangerous in our case, triggered some automatic rules at Google.
To fix this we simply removed Crittercism and all related permission requirements as it wasn't very useful for us anyways.
I'm looking for an .jar or library project that will allow users of my application to easily send feedback from inside the application about their experience.
As asked in this question, I am looking for something similar to the crash reporting tool used in Google Plus, that allows the user to get in contact with me, besides leaving bad reviews.
Some not-quite there solutions that came up in answers to other questions:
ACRA : Application Crash Report for Android (functions as a crash reporting tool)
Hockey Kit: Helps distribute betas, nothing related to send feedback to developer.
Does a library like this exist? Is there an easy way to gather user feedback from within the application?
For a full-featured user support service, you can have a look to Capptain: http://www.capptain.com/
But with ACRA you can also trigger a report programmatically. You could call the method handleException(new UserRequestedException()) when the user selects an option in your preferences screen, for example.
You would then filter your ACRA reports spreadsheet for all stacktraces containing UserRequestedException.
UserRequestedException would be a custom Exception that you would implement.
The NOTIFICATION mode can be configured to display a form containing an e-mail field and comments field. The e-mail given by the user the first time is saved in the apps preferences.
A bit late to answer your question, but you might want check out this: http://www.android-feedback.com/ . Its an in app feedback / support system. Its not live yet, but the beta stage is going to start in a few weeks. (and beta testers get bumped to the premium/paid plan once live)
Edit: Disclaimer: its my project
i think you need to use a tool like instabug it provides you a way for collecting bug reports and feedbacks about user experience and also you can talk back to them
As of this date (27th April 2018), HockeyApp can handle this issue. It enables users to send In-app Feedback to developers, which then developers can access through a Dashboard.
Check out: www.hockeyapp.net
The problem I've had with implementing HockeyApp, is that, the feedback form requires the user to add unnecessary details like name, email, etc. I can't seem to find a way to add these detail programmatically.