Insufficient Installation History in facebook advert - android

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.

Related

Don't update app: Fix the policy violation with your app

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.

Your recent app submission was rejected for violating the Google Play Developer Programme Policies

(1) My App simple Education Base Content and test Attempt.
(2) Not Any google ads only one you tube integration
This simple App , Login from Activation key given from institute .
Google Send a mail App reject Im not understand Why
Issue: Violation of Families Policy Requirements
Apps that contain elements that appeal to children must comply with all Families Policy Requirements. We found the following issue(s) with your app:
Eligibility Issue
Test Login Needed
In order to review your app for “Designed for Families” eligibility, we will need you to provide a test login account. Please provide login credentials to the support team before you submit any updated version for another review (select “Test Login Needed” and include the test login account and password details in the open box field).
Eligibility Issue Test Login Needed In order to review your app for “Designed for Families” eligibility, we will need you to provide a test login account. Please provide login credentials to the support team before you submit any updated version for another review (select “Test Login Needed” and include the test login account and password details in the open box field).
I think that it is quite self-explanatory. You must contact the support team and provide a test user credentials (email, password) for your app so they can test it.
We had the same issue but were also still getting rejected (for the same reason) even after providing the test login info, without any further clarifications. We provided the test login info both in Play Console (App Content -> Target audience and content -> Instructions for app access), but also via the web form linked from the rejection email. We also tried resubmitting the app and doing everything from scratch like 5 times total - always the same result. So either we're crazy and our test login credentials aren't working (which we checked many times) or their system is bugging out.
So, what eventually got us published was changing our "Target age group" configuration in Play Console (App Content -> Target audience and content -> Target age group) - we unchecked everything below 13-15. Not sure if you had those checked, but if you did, try unchecking them then resubmit the app.
I realize that we basically had to lie and are now maybe risking some penalty (getting removed from the Play Store?) but doing everything right got us nowhere, so we had to resort to this "cheating".
Not saying you should do what we did, just saying what worked for us. Do it at your own risk.

Changing package name of app utilizing Facebook Audience Network

Our app utilizes Facebook Audience Network ads on Android. It's published on the Google play store for some time now.
Due to circumstances beyond our control, it seems that we'll have to change the app's package name and re-list it on the Google play store as a new app.
We aim to keep the current app id on Facebook to maintain user's identities, users' permission approval, login, server integration, ad manager accounts and also ad placement data.
Is this possible? How should we prepare for this?
Well. It was easier than expected but we did stumble upon an interesting GOTCHA.
Keeping the Facebook app id
Once we've changed the package name and re-published the app, all we had to do was to go to the developer portal, and on the Settings tab, under Android, enter the new package name.
Keeping the Audience Network ads running
All was fine and dandy, then a week after the switch we've stopped receiving ads from Audience Network. It seems that Audience Network maintains a seperate list of apps and package names.
So back to the developer dashboard. This time, under the Audience Network tab, in Apps, we've had to add our new app. Once approved everything was fine again.

Facebook AudienceNetwork loaded failure: No fill, Error Message "No fill", what is the reason about FaceBook android Advertise?

Facebook AudienceNetwork loaded failure: No fill, Error Message "No fill", what is the reason about FaceBook android Advertise? And facebook ad offten shows me load frequency, the frenquent has limits?
You need to add a test device. Go to logcat and type Facebook and you will see a message like this, which is also the solution:
When testing your app with Facebook's ad units you must specify the
device hashed ID to ensure the delivery of test ads, add the following
code before loading an ad:
AdSettings.addTestDevice("328404cebf50ec1fdb05795c0007a8a7");
So add this to your onCreate method:
AdSettings.addTestDevice("328404cebf50ec1fdb05795c0007a8a7");
(Don't forget to use your own hash id.)
This means we are not able to serve ads to this person. This could occur because:
The person testing has not logged into the native Facebook app on their mobile device
The person testing has enabled "Limit Ad Tracking" (iOS only) or has selected "Opt out of interest-based ads" (Android only) in their device settings.
We don't have ad inventory to show for that person
Note that if you can see test ads, your implementation works correctly and people will be able to see ads in your app once it's live.
you can get more clarification here
Filling in payout details fixed this for me.
If you want to display real Ads, you have to fill in your payout details.
I have same problem in my application but this helps me
Ref: Step 4: Check for Error Codes of Production Ads Requests
Facebook Error : No fill
1001 - No Fill
This is a common error seen while testing, and relates to a "No Fill" response; the most common reason for this is the user is not logged in to the Facebook App when testing your mobile app or not logged in to the Facebook mobile website when testing your mobile website.
Error 1001 - No Fill. May be due to one or more of the following:
User not logged into Native Facebook App on Mobile Device
Limit Ad Tracking turned on (iOS)
Opt out of interest-based ads turned on (Android)
No Ad Inventory for current user
Your testing device must have the native Facebook application
installed.
Your application should attempt to make another request after 30 seconds.
And Sometimes According to me
If your ad account newly created then wait some time like 1 hour or more
after some time you will get some better response
I know its late answer but this may helps other people who new in android and Using Facebook Ads
If you see
When testing your app with Facebook's ad units you must specify the
device hashed ID to ensure the delivery of test ads, add the following
code before loading an ad:
AdSettings.addTestDevice("328404cebf50ec1fdb05795c0007a8a7");
This may happen because of this:
FacebookSdk.setIsDebugEnabled(true);
Make sure, Your Device have Facebook app installed and logged in. And also make sure, the developer account that created Ads and the Facebook user logged in the device are same. If not read
https://developers.facebook.com/docs/audience-network/testing/
try to this sdk verison.
implementation 'com.facebook.android:audience-network-sdk:5.1.0'
I got the same problem and it's resolved, Please follow the below steps for the live ads issue:
Check the SDK version and use the latest one
Check and confirm live SDK key
Upload your application in store
Enable live mode in Facebook ads console
Fill proper details in testing test
The above steps are upto date, then after the test the application after 48 hours of the time of app publishing.
I wasted more than one month to resolve the No Fill error.
(Only relevant if you're in the Europe?)
On your phone, go to the Facebook app
Go to Settings & Privacy
Permissions > Cookies
Enable "Our cookies on other apps and websites"
On my end, as soon as this is turned off, Audience Network fails to fill any ads.
To request a test ad, you have to use the following test ad type string to concatenate the placement ID with '#'
Example
InterstitialAd(context,"VID_HD_16_9_46S_APP_INSTALL#YOUR_PLACEMENT_ID")
For getting more information about available test ads visit https://developers.facebook.com/docs/audience-network/setting-up/test/test-device
Add this line for display test ad
AdSettings.setTestMode(BuildConfig.DEBUG);

Android consumable: "already own that item" but inventory.hasPurchase() is false

I'm stuck with Google In App v3 - I tested a purchase without consumption (e.g. when app crashes between buying and consuming) - now I don't find a way out.
If I try to buy again, it says 'you already own that item'. But when I test for ownership, it says I don't own it:
Inventory inv = mHelper.queryInventory(false, null);
inv.getPurchase(sku); // null
inv.hasPurchase(sku); // false
I can't consume something either, as I don't have a purchase to consume. How to proceed here?
EDIT
Reproduce it like the following: purchase in-app consumable, then disable internet connection. After that, you're not able to purchase the product again for some hours. Just tested with a popular app from the play store (Diamond Digger Saga), I had the exact same behaviour. Is there really no possibility to avoid/solve this?
I ran into this exact problem. I had two Google accounts on the phone, one which was the developer account (which I foolishly used my personal account for) and another which was the test account I registered in the developer console. I had removed and re-added the developer account from my accounts on the phone, which allowed me to make test-purchases from my app, thinking if the developer account was the second on this list it would use the first for purchases.
Alas, after a couple of runs of the app I ran into your issue. I gave up trying to have both and removed the developer account from my phone. While incredibly inconvenient, this got rid of this problem and allowed me to test purchase, consume, query, etc.
If you are doing everything correctly and your code is ok - most likely the problem is in cached Google Play Services data.
For example when you make a test purchase on your device A - on your device B (with the same Google account logged in) you will keep receiving inventory without your purchase for some time. And your inventory.getPurchase(sku) will return null and inventory.hasPurchase(sku) will return false;
To fix this try to open Google Play and close it using Recent Apps button (click it and then swipe the app away) this will terminate the app faster than usual "back" button. Then turn your device off for couple of minutes.
Our goal here is to make Google Play to update it's cache.
Be sure that you're on wifi because it may update rarely if you're on mobile data.
Eventually data will be updated and you will get your purchase.
In my case it happened after 5 minutes or smth.

Categories

Resources