- Getting Started with the Facebook SDK for Android
- Quick Start
- Android Studio Setup
- Add Your Facebook App ID and Client Token
- Sending Images or Videos
- Running Sample Apps
- Create a Development Key Hash
- Create a Release Key Hash
- Use the Facebook SDK for Android with Maven
- Troubleshooting Sample Apps
- Хеш-ключ для Facebook для Андроид СДК
- 9 ответов
- Это пример того, как получить хэш ключа из хранилища ключей:
- Это документ о том, как установите Key Hash на Facebook :
- Как создать Android Facebook Key Hash?
- 18 ответов:
Getting Started with the Facebook SDK for Android
This documentation explains how to get started integrating your Android app with Facebook by using the Facebook SDK for Android. The current version of the Facebook SDK for Android is version 12.0.0 and requires the Android API 15. For more information about versions and features, see Facebook SDK for Android.
Beginning with SDK v13.0, set to release in early 2022, a Client Token will be required for all calls to the Graph API.
You can set up your app to use the Facebook SDK for Android in the following ways:
- By using the Quick Start.
- By setting up your project with the Facebook SDK for Android.
Quick Start
To get a Facebook App ID, configure your app’s settings, and import the Facebook SDK for Android, click on the button below and follow the instructions.
Android Studio Setup
To use the Facebook SDK in an Android Studio project, add the SDK as a build dependency and import the SDK.
- Go to Android Studio | New Project | Minimum SDK.
- Select API 15: Android 4.0.3 (IceCreamSandwich) or higher and create your new project.
- After you create a new project, open Gradle Scripts | build.gradle (Project: and do the following:
- Add the following to the buildscript < repositories <>> section of the build.gradle (Project) file:
- Save and close build.gradle (Project: ) .
- Open Gradle Scripts | build.gradle (Module: app) and do the following:
- Add the following to the dependencies <> section of your build.gradle (module: app) file to compile the latest version of the Facebook SDK for Android:
When you use the Facebook SDK, some events in your app are automatically logged and collected unless you disable automatic event logging. For details about what information is collected and how to disable automatic event logging, see Automatic App Event Logging.
Add Your Facebook App ID and Client Token
Add your Facebook App ID and Client Token to your project’s strings file and update your Android manifest:
1. Open your /app/res/values/strings.xml file.
2. Add a string element with the name attribute facebook_app_id and value as your Facebook App ID to the file. For example
3. Open /app/manifests/AndroidManifest.xml
4. Add a uses-permission element to the manifest:
5. Add a meta-data element to the application element:
Sending Images or Videos
If you’re sharing links, images or video via the Facebook for Android app, you also need to declare the FacebookContentProvider in the manifest.
Append your app id to the end of the authorities value. For example if your Facebook app id is 1234 , the declaration looks like:
Running Sample Apps
The following samples come with the Facebook SDK for Android:
- HelloFacebookSample — Demonstrates profile access, status updates and photo upload.
- RPSSample — Use Native Share Dialog, Open Graph publishing, pickers, invites, and deep linking.
- Scrumptious — Login, requests, pickers, picture uploads, and Open Graph publishing.
You can experiment with samples by importing the Facebook SDK into an Android Studio project. The samples have a project dependency rather than a central repository dependency via maven central or jcenter. This is so that when a local copy of the SDK gets updates, the samples reflect the changes.
To run samples apps quickly, you can generate key hashes for your development environments. Add these to your Facebook developer profile for the sample apps. Keytool, for generating the key hashes, is included with the Java SE Development Kit (JDK) that you installed as part of setting up your development environment. OpenSSL is available for download from OpenSSL.
On Windows, you need the following:
Run the following command in a command prompt in the Java SDK folder. This generates a 28 character string.
Go to the Facebook Developer site. Log into Facebook and, using the dropdown menu in the top-right, go to Developer Settings:
In your developer settings, select Sample App from the menu, and add and save your key hash into your profile:
You can add multiple key hashes if you develop with multiple machines.
You can now compile and run all of the samples — including those that use Facebook Login.
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 hash by generating it or by using the value returned by Settings.getApplicationSignature(Context) . For instructions, see Running Sample Apps .
Create a Release Key Hash
To authenticate the exchange of information between your app and the Facebook, you need to generate a release key hash and add this to the Android settings within your Facebook App ID. Without this, your Facebook integration may not work properly when you release your app to the store.
In a previous step, you should have updated your Facebook Developer Settings with the key hashes for your development environments.
When publishing your app, it is typically signed with a different signature to your development environment. Therefore, you want to make sure you create a Release Key Hash and add this to the Android settings for Facebook App ID.
To generate a hash of your release key, run the following command on Mac or Windows substituting your release key alias and the path to your keystore.
On Windows, you need the following:
Run the following command in a command prompt in the Java SDK folder:
Make sure to use the password that you set when you first created the release key.
This command should generate a 28 characher string. Copy and paste this Release Key Hash into your Facebook App ID’s Android settings.
You should also check that your Facebook App ID’s Android setting also contain the correct package name and main activity class for your Android package.
Use the Facebook SDK for Android with Maven
You can declare the Maven dependency with the latest available version of the Facebook SDK for Android.
Troubleshooting Sample Apps
If you have a problem running a sample app, it may be related to the key hash. You may see one of the following scenarios:
- A native Login Dialog appears but after accepting the permissions you are still in a logged out state. The logcat also contains an exception:
- A non-native Login Dialog appears with an error message: »..App is Misconfigured for facebook login. ».
Check your key hash and you can make sure you use the correct key hash. I
You can also manually modify the sample code to use the right key hash. For example in HelloFacebookSampleActivity class make a temporary change to the onCreate() :
Save your changes and re-run the sample. Check your logcat output for a message similar to this:
Save the key hash in your developer profile. Re-run the samples and verify that you can log in successfully.
Источник
Хеш-ключ для Facebook для Андроид СДК
Я не могу понять, как получить ключевой хэш, необходимый для использования Facebook Android SDK. Я понял, что могу использовать keytool С помощью следующих команд:
единственная проблема в том, что я понятия не имею, куда вставить это, я попробовал через командные окна (win7), и я попытался открыть файл keytool.исполняемый.
9 ответов
- Загрузите и установите OpenSSL из http://slproweb.com/products/Win32OpenSSL.html на основе windows 32 или 64 бит.(Примечание: Загрузите и установите первый visual C++ 208 redisributable с этого сайта также)
- поместите каталог bin установленного OpenSSL в путь windows.
- Откройте командную строку и перейдите к C:\Users
.android - теперь поставьте эту команду на cmd»keytool-exportcert-псевдоним androiddebugkey-хранилище ключей отлаживать.keystore | openssl sha1-binary / openssl base64«.(см. https://developers.facebook.com/docs/android/getting-started#samples)
- теперь введите пароль «facebook» без двойных кавычек.
- теперь будет создан хэш-ключ
- наконец перейдите на сайт разработчика Facebook. Убедитесь, что вы вошли в Facebook и, используя выпадающее меню в правом верхнем углу, перейдите в «настройки разработчика»:
- Как только вы в настройки разработчика, выберите «пример приложения» из навигации слева, а также добавить и сохранить хэш ключа в свой профиль:
вы можете установить Open SSL из здесь, это должно заставить вашу команду работать
Я создал пакетный скрипт facebookkeydebug.летучая мышь!—3—>, которые возвращают желаемый хэш ключа Facebook. Просто отредактируйте скрипт, установите правильные пути, имя хранилища ключей и запустите его.
EDIT: я опубликовал РЕПО с некоторыми пакетными скриптами для подписания и получения ключей сертификатов в Windows:https://github.com/petrnohejl/Android-Scripts
вы можете использовать код ниже, чтобы получить хэш-ключ :
чтобы сделать вещи легче —
это должно предоставить вам необходимые отпечатки пальцев, без хлопот установки openssl.
Это пример того, как получить хэш ключа из хранилища ключей:
сначала нам нужно получить пути:
путь Java: C:\Program файлы\Java\jdk1.6.0_35\jre\bin
открыть путь SSL: C:\OpenSSL-Win32\bin
Путь Хранилища Ключей: C:\Data\ANDROID\KEYSTORE\
2) затем перейдите в командную строку и тип:
3) затем введите :
keytool.ехе -exportcert -псевдоним [псевдоним] -хранилище [хранилище Path]\debug.хранилище ключей / [открыть путь SSL]\openssl sha1-binary | [открыть Путь SSL]\bin\openssl base64
4) пароль вашего хранилища ключей должен быть обязательным, а затем у вас есть Hash Key связано с вашим хранилищем ключей Android.
Это документ о том, как установите Key Hash на Facebook :
необходимо открыть окно командной строки. Перейдите в меню Пуск — >Выполнить и введите » cmd » и нажмите enter. Затем вы должны перейти к папке, где keytool is (если он не находится на вашем пути), а затем введите эту команду.
то есть, предполагая, что команда предназначена для windows, а не linux.
лучший способ-сгенерировать ключ-хэш с помощью кода:
вызовите этот метод один раз и сгенерируйте key-hash, enjoy
Источник
Как создать Android Facebook Key Hash?
Я не понимаю этот процесс. Я смог перейти к папке, содержащей keytool в Java SDK. Хотя я продолжаю получать ошибку openssl не распознается как внутренняя или внешняя команда. Проблема в том, что даже если я смогу заставить это работать, что я буду делать и с чем потом?
18 ответов:
скачать openSSl из код Извлечь его. создайте папку-OpenSSL в C: / и скопируйте извлеченный код здесь.
обнаружить отладки.путь к файлу хранилища ключей. Если u не нашел, то выполните поиск в C:/ и используйте путь в команде на следующем шаге.
обнаружения ваших ключей.exe-путь и перейдите в эту командную строку dir/ in и запустите эту команду в 1 строке —
он запросит пароль, поставит андроид вот и все. u получит ключ-хэш
Для Построения Debug
вы найдете «отладка».хранилища ключей в «.папку Android». Скопируйте его и вставьте на рабочий стол и выполните приведенную выше команду.
для построения выпуска
Примечание : убедитесь, что в обоих случаях он запрашивает пароль. Если он не запрашивает пароль, это означает, что что-то не так в команде. Пароль для «отладка».хранилища ключей и «android« и для выхода вы должны ввести пароль, который вы установить во время создания хранилища ключей.
OpenSSL: вы должны установить это, если он не поставляется с предустановленной операционной системой (например, Windows не имеет предустановленной). Как установить это зависит от вашей ОС (для Windows проверьте ссылке предоставлено coder_For_Life22).
самый простой способ без возни-это копирование этого openssl.exe двоичный файл для вашего пути keytool, если вы находитесь на Windows. Если вы не хотите этого делать, вы должны добавить его в свой PATH окружающая среда переменная. Затем выполните команду, указанную в документах.
обратите внимание, что аргумент после -keystore указывает на хранилище ключей отладки. Такое расположение зависит от вашей операционной системы. Должен быть в одном из следующих мест:
- Windows Vista или 7 — C:\Users\.android\debug.хранилища ключей
- Windows XP — C:\Documents и настройки\.android\debug.хранилища ключей
- OS X и Linux —
если вы все сделали правильно, вам будет предложено ввести пароль. То есть android для сертификата. Если пароль правильный, консоль выводит хэш (несколько случайных символов и чисел).
возьмите это и скопируйте в android key hash поле внутри настроек вашего приложения на facebook. Чтобы попасть туда, зайдите вdevelopers.facebook.com/apps, выберите приложение, перейдите в Edit settings и прокрутки вниз. После этого, подождите несколько минут, пока изменения вступят в силу.
чтобы создать свой хэш ключа на локальном компьютере, запустите утилиту keytool Java (которая должна быть на пути к вашей консоли) против хранилища ключей отладки Android. Это, по умолчанию, в вашем доме .каталог Android). В OS X запустите:
в Windows, используйте:-
надеюсь, что это поможет вам
Ref-разработчик сайта facebook
- открыть командную строку и вставьте следующую команду
keytool-exportcert-псевдоним androiddebugkey-keystore %HOMEPATH%.android\debug.keystore / openssl sha1-binary | openssl base64
введите пароль: android — > нажмите Enter
скопируйте сгенерированный хэш-ключ — > войдите в Facebook с помощью своей учетной записи разработчика
Go в вашем приложении Facebook — > настройки— > вставить хэш-ключ в опции «ключевые хэши» —>сохранить изменения.
теперь протестируйте свое приложение для android с помощью Facebook Log-in / Share и т. д.
есть и короткое решение. Просто запустите это в своем приложении:
более длинный, который не нуждается в FB SDK (на основе решения здесь):
результат должен заканчиваться на»=».
поэтому, когда вы пытаетесь войти без ключа, возникает исключение. Facebook поместил правильный ключ в это исключение. Все, что вам нужно сделать, это скопировать его.
для кого-то вроде меня вот подробная информация (Для Windows)
1. скачать OpenSSl либо 1-й или 2-й на основе вашей системы 32bit или 64bit .
2. извлеките загруженный zip внутри каталога C
3. откройте извлеченную папку до bin и скопируйте путь ,это должно быть что-то типа C:\openssl-0.9.8k_X64\bin\openssl (добавить \openssl на конец)
4. (получить путь к папке bin Jdk ,если вы знаете,как, игнорировать это ) .
откройте android studio
структура проекта (ctrl+alt+shift+s), выберите расположение SDK в левой боковой панели, скопируйте расположение JDK и добавьте /bin к нему
таким образом, окончательное расположение JDK будет похоже C:\Program Files\Android\Android Studio\jre\bin
мы следуем этому методу, чтобы получить расположение Jdk, потому что вы можете использовать встроенный jdk, как я
теперь у вас есть OpenSSl location & JDK location
5. теперь нам нужно отладить расположение хранилища ключей, для этого откройте C
>.android должно быть имя файла debug.хранилище ,скопировать путь ,это должно быть что-то типа
6. теперь откройте командную строку и введите команду
7. теперь построим следующую команду
в моем случае команда будет выглядеть так
теперь введите эту команду в командной строке , если вы когда-либо делали все правильно, вам будет предложено ввести пароль (пароль-android)
вот и все, вам будет дан хэш ключа, просто скопируйте его и используйте
для легкого vedio учебник ссылка для генерации KeyHash здесь
скачать openssl из здесь
затем добавьте openssl\bin к системным переменным пути:
Мой Компьютер — > Свойства — > расширенные конфигурации — > расширенные — > системные переменные — > в разделе системные переменные найдите путь и добавьте его в свои окончания: ;yourFullOpenSSLDir\bin
теперь откройте командную строку в папке jdk\bin C:\Program Files\Java\jdk1. 8. 0_40\bin (в windows удерживайте shift и щелкните правой кнопкой мыши -> открыть командную строку здесь) и использование:
и скопируйте номер длины 28, который он генерирует после ввода пароля.
начиная с API 26, Вы можете создать свой ХЭШ-КЛЮЧИ использовать следующий код Котлин без какой-либо необходимости Facebook SDK.
вы можете получить все ваши отпечатки пальцев от https://console.developers.google.com/projectselector/apis/credentials
И используйте этот код Котлина, чтобы преобразовать его в keyhash:Я нашел самый простой инструмент и использовать его много раз, он отлично работает. проверьте это, это поможет.
Регистрация этой ответьте для получения более подробной информации.
запустите либо это в вашем приложении:
а затем посмотрите на журналы.
результат должен заканчиваться на»=».
У меня была та же самая проблема, меня не спрашивали пароль, и кажется, что у меня был неправильный путь для файла хранилища ключей.
на самом деле, если keytool не находит хранилище ключей, которое вы установили, он создаст его и даст вам неправильный ключ, так как он не использует правильный.
общее правило заключается в том, что если у вас не запрашивается пароль, то у вас создается неправильный ключ.
Источник
- Add the following to the dependencies <> section of your build.gradle (module: app) file to compile the latest version of the Facebook SDK for Android: