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.
Related
So this is my first Android app. I made a mistake and set up my Admob account as an individual when my App operates under my company. So, after doing the research it appears that once I establish an Admob account I can't change the type (from individual to entity).
So I have to close it and create a new account. But I was wondering if I need to remove all the Admob code from my app before I close the account? Or can I just leave it be and once the account is closed the Admob SDK will just ignore the request to serve an ad since the account would be null.
I don't want to close the account and the activity of Admob searching for an invalid account causing the app to crash. However, I don't want to roll out a whole new app version if I don't have to. I'll have to roll out a new version anyway once I square away a new Admob account.
My gut tells me Admob would just ignore it and not crash the app, but I don't want to assume since my level of expertise it not that high in this area. Any insight would be appreciated.
to my knowledge, if you have caught events in your code like not internet, or failed ads loading, then deleting your Admob account doesn't affect anything, it's just like you wrote the wrong id, your app still works normally
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
We found 1 error. Insufficient Installation History: Your account does not have enough install history to start using billing event for mobile app install ads. Please visit https://developers.facebook.com/docs/reference/ads-api/cost-per-action-ads/ to learn more.
I got above error in facebook advert page. I am new on this please help me.
Thnxx
When your account/app is new, it is usually not allowed to use CPA bidding (optimization goal and billing event set to APP_INSTALLS). You'll need to use impressions or clicks based bidding first and get a few installs that way. Then you can switch to CPA.
There is no official info about the amount of installs, but when you get over 1000, it's usually enough. The number is also tied to account where the ads are created, so you may be allowed to promote your app for installs on one account, while another account is not allowed to do that for the same app yet.
Facebook has a tool called App Ads Helper, where you can check what types of bidding are available for your app and account.
Here's the relevant part from FB docs at the url mentioned in your error message
You will not be able to buy CPA for mobile app installs unless you have already reported back some installs and your account id-app id-mobile store trio has been deemed non-fraudulent. In the meantime, your ad creation call will fail.
With our advertising programs, we strive to create an online ecosystem that benefits publishers, advertisers and users. For this reason, we sometimes have to take action against accounts that demonstrate behavior toward users or advertisers that may negatively impact how the ecosystem is perceived. In your case, we have detected invalid activity in your AdSense account and it has been disabled.
well yesterday google closed my admob account. and they send me this mail.
To preventint closing Admob account, Should I add this code:
AdRequest request = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR) // All emulators
.addTestDevice("AC98C820A50B4AD8A2106EDE96FB87D4") // My Galaxy Nexus test phone
.build();
Also I am not clicking my admob. But I want to prevent Admob close. How should make strong (not closing)Admob?
Since your account was closed for "invalid activity", the code you present may be one possible solution, but it comes down to the more exact (not disclosed by AdMob in this case) reasoning behind it. The code you present will only remove invalid activity from your own personal device, if you have previously clicked or viewed ads on it yourself.
I encourage reading "How Google prevents invalid activity" and "AdSense program policies". Key points to evaluate against how you've acted with your account are:
Publishers may not click their own ads or use any means to inflate impressions and/or clicks artificially, including manual methods. Clicks on Google ads must result from genuine user interest. Any method that artificially generates clicks or impressions on your Google ads is strictly prohibited. These prohibited methods include, but are not limited to, repeated manual clicks or impressions, automated click and impression generating tools and the use of robots or deceptive software. Please note that clicking your own ads for any reason is prohibited.
Publishers may not ask others to click their ads or use deceptive implementation methods to obtain clicks. This includes, but is not limited to, offering compensation to users for viewing ads or performing searches, promising to raise money for third parties for such behavior or placing images next to individual ads.
In short, don't view, click or promote ads yourself. Only let your real users view and click ads out of their own free will.
Some people trying to do in-app purchase within my Android game report that they can never complete the purchase -- that they always get an error message. (I.e., The market app reports an error to my application, and I show the user this error.)
Unfortunately, I don't have any real log data for this one, because it only happens for certain customers of my game, not for me.
What's strange is that after updating to a new version of the app, for some users the problem goes away, and for some users the problem starts. So user A might have the problem in version 1 of the app, but it clears up when they update to version 2. User B might not have the problem in version 1, but it appears when they update to version 2.
I say "intermittent" above, but by that I mean that it only seems to affect a small number of users. But for any given user, once they get in this state, they seem to get the message all the time. HOWEVER, I have had some cases where the problem does clear up suddenly, without an app update. I'm not sure if, for instance, power cycling, or, say, making an in-app-purchase in another app is away to "break out" of this state.
I realize that without a specific error message or API call to name/blame, this question is difficult to answer. I'm just trying to understand if this pattern -- of some users mysteriously getting stuck in a state where they are unable to make any in-app-purchase within a given app -- sounds familiar to anyone for Google Play in-app-purchase.
Also, I build my apps on top of Marmalade, so it's possible that the problem is in the Marmalade layer, not in my app or in the Google Play market itself.
The same problem here: a lot of users can buy items in my app but some users send me emails complaining why they can't buy considering that they can successful purchase items in other apps. I think it occurs because of a temporary problem on the Google Play server or is something to do with the service on Android. I am still looking for an answer to this weird problem...