What does 'Make app public' do in Facebook Android SDK? - android

Under 'App review' there's an option to make your app public. Right now it says 'No' and 'Your app is in development and unavailable to the public'. What happens if I switch it to yes though. Will my friends be able to see the app i'm working on (I don't want that). So how do I keep my app development private, but at the same time be able to use it's features. Because as I'm aware, I have to turn 'Make app public' to 'on' in order to utilize Facebook login for my app.

No your friends wont be able to see the app you are working on. Making your APP public is for your clients to use it's features and not just the developer.

It means you are in development mode now. If you make it public, then only you can access your login from other devices. And this does not say to post your wall or mention your friends.
while an app is in sandbox mode/development mode, so “not live”, only
the users added as admins, developers, testers to the app can use it
and see content that was created through it. Only when you put it in
live mode, every user will be able to use it and see content made via
it.

Related

Flutter App - Preventing Google Prompts from Taking Over The Screen

I have a flutter app that is designed to be placed as a fixed camera and based on what it sees give commands for IOT purposes.
To prevent it from sleeping, I am using a library called wakelock. (https://pub.dev/packages/wakelock)
Unfortunately, this doesn't prevent another issue, Google Prompts. When I log into my developer account on my laptop, the development phone is taken over by the prompt asking "Are you trying to sign in?"
I don't really want to have the solution be to log out of google on the phone, since the app is downloaded and updated via the play store.
I also don't want to disable 2F authentication, just don't want it to take over this developer phone, it's fine if it does so on my personal phone.
So a google settings solution, or a flutter code solution would be really helpful, have been able to find neither.
TLDR: I tried having the android phone as a 24/7 IOT camera with my flutter app, and was expecting it to stay on, but it was interrupted by the Google Prompt.
The easiest solution seem to me to set up a separate google account; this way the app could continue to be updated from the Play Store without being tied to your personal account, so you shouldn't receive 2fa prompts.
Another thing that might help is "Pinning" the app, which doesn't allow the app to be exited without authentication.
If neither of those work, a more advanced option could be to set up the phone with device management and use the lock task mode, but the work involved with setting that up is probably prohibitive for your use-case.

Merge a Facebook login app used for Android with an iOS one, or migrate users to new one

A legacy setup we have means that we have the following:
Facebook app used for login onto Android devices
Separate Facebook app used for login on iOS devices
The issue this has caused is that if a user switches between devices they get a 'this email address is already in use' message from our server.
I need to find a way to get any users logging in on the two platforms to just be able to do so, and i assume the best way to do that is to:
Add Android as a platform on our iOS login
Change the Android app to use the 'other' login/app id (iOS)
Log everyone out on next release of our app (on Android)
Re-authenticate those users on Android as they log in (as we are making them use a new app id)
The key thing is for us however, that
The Facebook login is associated to their entire account (which is hung off the email address) and they have lots of content in there, so we cannot get those Android users to lose anything
We need to let them do this because we WILL already have used that email address if they are logging back in
Will the above strategy work to do this? Any pointers or recommendations on best strategy for this would be hugely appreciated.
You can use this API to link your users across the two apps: https://developers.facebook.com/docs/apps/for-business
Just keep the two apps as separate apps and link them under a single business. Then, when a user logs in you can check if they have already logged in before using the other app.

App not setup: This app is still in development mode

I have followed the instructions here:
The developers of this app have not set up this app properly for Facebook Login?
Made my app public and the circle is green so the app is public.
But when I try to login, I go to the Facebook app, it asks me to login which I do and then I get this message:
App Not Setup: This app is still in development mode, and you don't have access to it. Switch to a registered test user or ask an app admin for permissions.
BTW: I am the admin
Any help is much appreciated. I am using SeattleClouds and this happens on both iOS and Android.
STEP 1:
In Settings -> Basic -> Contact Email. (Give your/any email)
STEP 2:
in 'App Review' Tab : change
Do you want to make this app and all its live features available to the general public? Yes
This is an answer I haven't seen much around (this it was in a comment somewhere) although yes taking the app off development mode will work this can be bad for security or really annoying if the app isn't ready yet but you need to submit the app for review on account of needing access to special permissions (e.g. user_birthday).
What I did instead to fix the error was go to https://developers.facebook.com/sa/apps/{appId}/roles/ or from the app dashboard click roles on the left side
Then add the user account(s) to either developer or tester. Developers will need to be verified by mobile and will get access to the app to make changes but a tester will only need to be verified by email (not sure if even this is necessary but it probably is) and will only be able to use the API instead of make changes to settings.
If the app is ready for the public, obviously just take the app off development mode.
Issue Log: App Not Setup. This app is still in development mode. and you dont have access to it. register test user or ask an app admin for permission
The app are not in Live Mode
You are not listed as admin or a tester in https://developers.facebook.com/app/yourapp
Your App Hashkey are not set. if Facebook app cant be on Live Mode you need a hashkey to test it. because the app are not yet Live. Facebook wont allow an access.
HOW TO CHANGE TO LIVE MODE
1. go to : https://developers.facebook.com
2. select your app on "My Apps" List
3. toggle the switch from OFF to ON
HOW TO ADD AS TEST OR ADMIN
1. go to : https://developers.facebook.com
2. select your app on "My Apps" List
3. go to : Roles > Roles > Press Add for example administrator
4. Search your new admin/tester Facebook account.
5. admin must enter facebook password to confirm.then submit
the new admin must go to developer.facebook page and accept the request
6. go to : https://developers.facebook.com
7. Profile > Requests > Confirm
8. Congratulation you have been assign as new Admin
HOW TO GET AND SET HASHKEY FOR DEVELOPMENT
as Refer to Facebook Login Documentation
https://developers.facebook.com/docs/android/getting-started/#create_hash
The most preferable solution by me is by code ( Troubleshooting Sample Apps )
it will print out the hash key. you can update it on
https://developers.facebook.com/apps/yourFacebookappID/settings/basic/
on Android > Key Hashes section
a step by step process on how to get the hashKey.
Firstly Add the code to any oncreate method
Run The app and Search the KeyHash at Logcat
step by step process on how Update on Facebook Developer.
Open Facebook Developer Page. You need access as to update the Facebook Developer page.https://developers.facebook.com
Follow the step as follow.
2021 UPDATE
I have done successfully Login with Facebook by doing below things. Now it is working fine.
As per described by George Mano
Visit Facebook Apps Page and select your application.
Go to Settings -> Basic.
Add a 1 Contact Email, 2 Privacy Policy URL, 3 User Data Deletion and choose 4 Category and Last 5. Live your application
The Privacy Policy URL should be a webpage where you have hosted the terms and conditions of your application and data used.
The General Data Protection Regulation (GDPR) requires developers to provide a way for people to request that their data be deleted. To be compliant with these requirements, you must provide either a data deletion request callback or instructions to inform people how to delete their data from your app or website
Toggle the button in the top of the screen, as seen below, in order to switch from Development to Live.
captain_a is right that your app needs to be public with a developer email address. But if you are still getting the error then make sure that your website is using an SSL certificate.
For more detailed information and workarounds please checkout my answer at Facebook app is Public, but gives error "App not setup" when logging in
I had the same problem and it took me around one hour to figure out where i went wrong only to note that i had used a wrong app id....just go to your code and used a correct id here
window.fbAsyncInit = function() {
FB.init({
appId : '1740077446229063',//your app id
cookie : true, // enable cookies to allow the server to access
// the session
xfbml : true, // parse social plugins on this page
version : 'v2.5' // use graph api version 2.5
});
2020 UPDATE
Visit https://developers.facebook.com/apps/ and select your application.
Go to Settings -> Basic. Add a Contact Email and a Privacy Policy URL. The Privacy Policy URL should be a webpage where you have hosted the terms and conditions of your application and data used.
Toggle the button in the top of the screen, as seen below, in order to switch from Development to Live.
I did what is written in this answer and still had the same problem, then I downloaded the facebook app, logged into my facebook admin account from my phone. TADAA! it worked.
When app is release some time that case
https://developers.facebook.com/apps/{$appid}/alerts/
"Your app has been placed into development mode due to an invalid Privacy Policy."
can change you app from release mode to development mode
so check the Privacy Policy
Go to Settings->Basic, on top you will find a Switch button which will say App is in development mode.
Click on in development switch button, it will ask you to make app live, and after providing all necessary things, it will become live.
Facebook and Instagram apis were perfectly working fine but they suddenly stopped working due to invalid privacy policy statement. Facebook deactivated api access.

Allow facebook app access public

I develope mobile application for android that uses facebook sdk.
When I try to use it I get:
Error App Not Setup: The developers of this app have not set up this app properly
I understood I need to allow access public.
on Status & review I want to turn on the question
Do you want to make this app and all its live features available to the general public?
But then I have to fill in numerous details and images.
And after filling all this I need to wait 7 days for approval by facebook team.
I am just in a stage of developing. This is crazy! I don't have yet all the screen shots and images they want. I am sure they will not approve my app.
Hey #Gilad sefti it is not mandatory that you submit the app for review after turning on allow access public to Yes...You can still continue to make graph api calls without submitting for review

Is it possible to use the Facebook mobile SDKs for only mobile app install ads?

I am not currently using Facebook's Android SDK in my Android app, and I only want to integrate it enough to capture installs via Facebook Mobile App Install Ads.
The documentation describes the need to "[c]omplete your Basic page under App Settings." If I enter my app's package name--and only its package name--I get an error:
You have specified Package Name, but you did not specify Class Name. Launching a native Android application requires both.
I don't want or need my app to be launched, do I? I only want to track conversion rates of ad clicks to app installs (and runs). The only way I can get the Promote link to show up on the left is to supply values for Class Name and Key Hash and set Facebook Login to Enabled. Is this really necessary?
Yes, it is necessary to fill out those basic details to use our SDK, however, those fields are only used for login authentication via fb - which is the most popular use case for our SDK. Your app will not be launched or anything like that if you supply those fields. For your case, just fill them out and leave it as is and you will be able to run ads without worrying about anything else.
The API requires these fields. Although in my experience it doesn't launch your app. It is merely used for the credentials in the development side of the Facebook integration in www.developer.facebook.com
Hope that helps.
RF

Categories

Resources