I'm developing an app connected to native Facebook app.
I found that Facebook requires a hashkey of my App in order to connect it to the Facebook native app.
When I export my app using a keystore, there's no problem-I just have to register my hashkey on the facebook app setting console, and it works fine.
However, when I debug my app, Native Facebook App recognizes my app as unregistered. I think this because Eclipse applies different keystore(the default debug keystore) on my app when debugging.
So I made two versions of my Facebook app on the server side-the real one, and the one for my debug-keystore.
I want my app to call the former one when released, and the letter one when debugging.
Is there any way, in Android Java code, to check if the current app is running on the debug keystore?
You can register both two hash key of on the facebook app setting console.
More than one hash key can be setup on a facebook app
Related
What should I do, Facebook login works on Emulator but not on actual device
The final step of facebook login authentication states that,
Create a Development Key Hash
Facebook uses the key hash to authenticate interactions between your
app and the Facebook app. If you run apps that use Facebook Login, you
need to add your Android development key hash to your Facebook
developer profile.
For the version of your app that you release to you also need to
generate and set a Release Key Hash.
On either OS X or Windows you can get a key has by generating it or by
using the value returned by Settings.getApplicationSignature(Context).
For instructions, see Running Sample Apps .
It is because you haven't done this, you're getting this error!
Check this link
Please check mode as release or debug in facebook app development. apart from that need to generate and set a Release Key Hash.
very old question but I found how to resolve. Just use
LoginManager.getInstance().loginBehavior = LoginBehavior.WEB_ONLY
or
LoginManager.getInstance().loginBehavior = LoginBehavior.WEB_ONLY
and installed app will not bother you
I have created an app which needs to login with the facebook.
When i connect my device to my pc and run it from android studio then it is works fine.
i am able to connect with facebook sdk and able to login.
But when i create an .apk of my app and install it on my device and other devices then it is not able to login with that.
When i press login button then it goes to facebook page and return to my app screen.
i have done all settings on facebook developer account. my app is live and i have turn on single sign on
So what is the issue with that ? When i run it from studio then it works but when i create an apk and run then it is not working.!!!
When you run app from Android Studio it uses debug key hash to login in Facebook. Did you set Facebook release key hash like it show in their docs?https://developers.facebook.com/docs/android/getting-started#release-key-hash
Typically when you create an apk, you're using a different key to sign the app (whereas debug builds will use the debug key).
This means that you need to update the key hash in your Facebook app settings to also include the key hash of your release key.
I am developing an android app, with the function:publishing a photo to facebook via Facebook Share dialog. (My code is similar to facebook sdk's samples"HelloFacebookSample")
It works fine in debug mode. But if I generate the app as signed apk and test it again, it works well until I click the "Share". The result shows Upload failed on the Android Notification Bar.
What's wrong with my app? Is there anyway to check the message from facebook when apk is released? Thanks in advance.
When you generate a release APK, generally you're using a different signing key, which means there will be a different key hash. You should put that key hash into your FB app settings (under the Android section).
I'm having trouble with facebook development key hash.
I try to share content into facebook using Feed Dialog as fallback
as showing in Facebook quick start page. I've already done whole step set for adding facebook SDK in my Android project.
I've set a development key hash of application and add it into "Add your development and release key hashes" field, after I generated debug apk file of application.
Trying sharing with my device where Facebook app is running with my developer account logged (the same on which i've registered the application) all works fine.
When i trying to sharing content with another device where is running Facebook app, but with different Facebook account error
com.facebook.FacebookAuthorizationException: This app has no Android
key hashes configured. Configure your app key hashes at -my application settings page-
My question is development key hash is limited only for developer testing so it works only with developer account interactions?
Ps: I made application public and available to all users on settings account, I set a development key hash given by application installed on test devices, but i didn't set any release key hash.
Login to facebook dev account and go to status and reviews under app sections and tick (Do you want to make this app and its all features available to general public to yes )
you need to define the hash keys on the facebook developer site which will be acheived from ur code programmatically.
it with sync with package name.
You can dive into your app management,and getting started,as such:
https://developers.facebook.com/quickstarts/664900340309697/?platform=android
then it has some steps,you should step by step and config your app's package name and lancher activity just finished.
I'm integrating some facebook features within an android app. For testing I've made a facebook app of my own, but its likely that the client will create his own fb app and want me to swap the info of my app with theirs after the testing is done.
Since for android, you need to provide a signature/hash key to your android app in your facebook app dashboard, does this mean that my android app is always tied to the same facebook app, or can the credentials easily be swapped in future?
As long as the app is still in development and not already released to the Android Play store, you can always just change the value of your APP_ID in the app to replace yours with the client's fb app id. The signature/hash key should be the same as long as you're building the app on the same machine.
So when your app is ready for the client,
have them tell you the app id so that you can replace it in the code
give them the android key hash that you are signing the app with (make sure that you use the correct key and not the android debug key if this version of your app is going live into the app store) so that they can put it in their app dashboard on Facebook.
I think that is about all the steps necessary to solve your issue. Let me know if that helps.
You can put your signature/hash key in any number of facebook apps so there should be no problem.
Furthermore, the facebook app can have as many android signature/hash keys and can be replaced anytime. Try it in the dashboard to confirm.