Q: Facebook Business Manager - manage Pages (ads) - facebook

I'm having trouble finding solution for my client's new web app - within this app, customers will be able to create ads for facebook, instagram and google (and others in future), all from 1 place. So, somehow I need to be able to manage ads for customers' Pages. For personal accounts it's "quite simple", through ads manager, big green button 'Add people', but I need this permission for Pages, not for personal accounts.
We already have approved "ads_management", "ads_read" and "manage_pages" (I'm not 100% sure if we'll need manage_pages permission) - we'll probably ask for "Ads Management Standard Access" too.
After some research, I think this whole thing might be possible through Business Manager (so we'll need "business_management" permission too, right?), then in app settings, there's business manager ID input (for linking business account with app).
Here's my proposed solution (simplified):
in our web app, customers will provide us with url/ID of their Page
api call to check whether logged-in user is administrator of provided Page
api call to add this Page to Business manager (send invitation)
api call to check if user/Page has accepted invitation - if so, we'll be able to manage their ads
Question is, is this (very simplified) solution possible? Will it work? There are dozens of APIs and I'm not sure I picked the right one.
Development is at early stage, so we don't have any in-depth research yet.
Something very similar might be here - Facebook ads, add customer page to business manager but it's 2 years old and after all scandals, there were a lot of changes in APIs, so I'm not sure whether it's still actual.
Thanks in advance

Related

Link multiple accounts iOS app - Firebase/Facebook Login & XCode/Swift 5

So I'm building this app for a client (It's a basic scheduling app like HootSuite but simpler) and he wants the ability to add multiple Facebook accounts with an IAP (aka In-App Purchase) after said IAP is purchased. The IAP is all done and works great but I cannot figure out how to link multiple Facebook accounts. I tried to use the same login method that a previous developer used (It's an ongoing freelance project and 2 other devs worked on it before I joined) to no avail since the login process stops once the app realizes that the user has already signed in...
So I guess that my question is this: Is there a way to link multiple Facebook accounts at once in a single iOS app? If so, how exactly? Forget the IAPs if that's too confusing, everything is fine there anyways. The goal is to be as seamless as possible, so ideally there would be no need for the user to log out and log back into the other account (Something I've seen a lot in other Questions/Answers).
I don't think I am authorized to show the code to you guys (that would also require sharing the entire project, it's a real spider-web!), but could someone please lead me in the right direction?
Please let me know if you have any questions!
Thank you in advance.
Notes:
Just like the title says, we use Firebase for our storage, Cloud Firestore for our database and Facebook login (through Firebase) for login since the purpose of the app is to schedule posts on IG.
I use a basic variable called "activeUsers" to track the number of accounts "linked" to the app so we can know whether or not to show the "PurchaseModel" and, obviously, receipt verification and all that for IAPs. Thought it could be useful!
3. When the app starts, you are prompted to link a Facebook account to enable the scheduler. THIS WORKS GREAT! What I am trying to achieve is to add other accounts AFTER the first one has been "enabled"/logged into.
It's not possible to link multiple accounts from the same provider to a single Firebase Auth account.
You can only link multiple accounts of different types (Facebook, Google, GitHub, etc) to a single Firebase account as described in the documentation.

Facebook Marketing API ads_management review

We're trying to use the Facebook Marketing API ads_management permission. We want to use the permission to allow our clients to push the media that was created for them on our app to their personal ad manager
Based on their allowed usage, it sounds like we're utilising this correctly but every app review is being rejected with a fairly generic
Your screencast doesn't show how the use of this permission directly improves the user experience in your app. Unfortunately, we also weren't able to determine this from testing your app manually.
For the first point - our screencast shows a brand/client navigating our app to where all their media lies - connect their facebook account - select the media and then push to the ad manager
This gives us the correct response as long as we use their sandbox environment on the Marketing API
On the second point Unfortunately, we also weren't able to determine this from testing your app manually
We provide test credentials for them to login into our application and go through the exact steps demonstrated in the screencast.
I know these reviews have been giving a number of developers issues but would love to hear if we're missing something really basic in our use because the usecase is really straightforward and not really sure how else to demonstrate it
Thanks

App Review on Facebook - Private Software that may scale up in the future

So we've developed a Facebook App (and similar apps on Twitter and Instagram) that allow users to post and read content using an external system. We'll sell this integration directly to our clients, so it's a private application.
Basically the user will see a very simple page with a button "Log in to Facebook" and a disclaimer regarding the authorization (we'll use some query params fixed in the url, depending on the client). The client authorize us and we capture the access tokens.
To submit the app review, though, we have to explicitly give a test user to the reviewers, but that's not really possible because the real "action" happens within the integrated systems, NOT within the app itself. And those systems are not public (they shouldn't be).
So just to be clear: our app is basically a very simple "Facebook login" that we use to get tokens, generated by specific clients authorization. It's not going to be published anywhere.
Until we have around 5 to 10 clients we can add the specific users in our app as Testers/Admins/etc, but what if we scale up? Say we have 20 clients. How are we supposed to get our app to be "live"?
To follow the app review steps we would have to create some users in our local systems (we have some dev environments), open them to the internet so the reviewers can log in and see how it actually works? Is that it?
(btw I'm asking this because our app review was rejected twice and I want to make sure I'm submitting everything they ask this time).
Thanks :)
I think the Login Review FAQ answers most of your questions. The key point:
Our review team will actually test how your app uses each permission on every platform you have listed in the settings section of your app.... You'll need to explain exactly how to test each permission or feature in your app so that we can make sure it works and follows our policies. We can't approve your app if we can't fully test how it integrates with Facebook.
In other words, it's not enough to just allow them to log in to your app, you have to expose all Facebook-related features to the reviewer.
To follow the app review steps we would have to create some users in our local systems (we have some dev environments), open them to the internet so the reviewers can log in and see how it actually works? Is that it?
Yes, though I'm not sure what you mean by "open them to the internet". You should be able to create a test user on your local system and link that account to a test Facebook user. Then you can have the Facebook reviewer use that test account for their review. (From the FAQ: "In the Items in Review section, you'll see a Test User (optional) section that allows you to type the name of the user you wish to be used in your review.")

Is it possible to update an existing live Facebook app with new permissions?

I have a Facebook app which is currently live, but would like to add additional functionality which involves requesting additional permissions (mainly publish_actions). The new permissions, due to Facebook policy, need to be reviewed by their team before they can be used live.
Is it possible to use one app for this? Is there a way (and is it acceptable by Facebook) to lead the user down a different flow if they are a tester, rather than a user during the review process?
I've also looked into the possibility of a test app, but I'm not sure if it's possible to flag that the app to review is a test version, which would then be approved on the live app. Facebook's FAQ seems to suggest this is not possible.
I'm not marking this as a definite answer, as it's a bit hacky and I have no confirmation that this will work until the review process has been completed. However, you can use the FB API to determine whether the user viewing the app is a specified test account or not by adding conditionals based on the user ID. It will also help if you make the test account an automatic user of the app on user creation.
For example, if you want to include new functionality, check if the user ID is a specific test account ID or not. If it is, display it. If not, display something else.

Facebook Dummy Accounts For User Interaction Testing Being Banned

I am software tester working on outsourced projects for many clients.
Frequently, I am required to test Facebook apps just before they go live. Often, the content of the app requires several interactions with other Facebook friends, including pulling of tagged photos and retrieving a user's info.
Most advice suggests that I should be using Facebook test accounts, created by a developer of a specific app. However, due to the complexity of some of the requirements in order to fully test certain apps, a dummy account - pre-filled with 'real' information is much more practical to use. It is clear that if we were to add all of this detail to Facebook test accounts for every new project, we would never get any time to actually test the app.
My company has approximately 20-30 dummy user accounts on Facebook, all of which have a good level of detail including personal info, photos, friend networks etc. These are perfect for testing as they are normal Facebook accounts. We always set option to private to prevent any sensitive material from being seen by the general public.
Over the last moth or more, our dummy user accounts are being systematically wiped out where Facebook is blocking them. Clearly, we cannot re-instate these accounts as we have no ID for the 'dummy' users.
Our aim is to aid the developers to improve the quality of their Facebook apps, and so has no detrimental effect on Facebook as a company or a brand.
Is there any way to achieve our requirements without the constant battle to maintain our dummy accounts?
Login to facebook. Then use /whitehat in the URL. On the left hand side you will get an option to create test accounts.
Test users are the only way to do this without violating Facebook's terms of service.
You can use multiple apps with a Test User, assuming you're not deleting and recreating them between test runs