- 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 Android Generate Key Hash
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- ОБНОВЛЕННЫЙ ОТВЕТ (Создание через код) Упрощенный метод:
- OLD ANSWER (Генерирование Keyhash с помощью openssl)
- Ответ 4
- Ответ 5
- Ответ 6
- Ответ 7
- Ответ 8
- Ответ 9
- Ответ 10
- Ответ 11
- Ответ 12
- Ответ 13
- Ответ 14
- Ответ 15
- Ответ 16
- Ответ 17
- Ответ 18
- Сгенерировать отладочный хэш-ключ
- Генерировать деблокированный ключ
- Ответ 19
- Ответ 20
- Ответ 21
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 Android Generate Key Hash
Пытаясь создать приложение для Android с интеграцией с Facebook, я получил роль в документах, где вам нужно сгенерировать хэш файл ключа, он указывает на запуск следующего кода
Когда я запускаю это в своем терминале, я получаю сообщение об ошибке, вызванном неправильной настройкой Keystore или неверным паролем,
Я просто хочу сгенерировать свой хэш ключей
Может ли кто-нибудь указать мне в правильном направлении?
ОТВЕТЫ
Ответ 1
Удалите сертификат отладки в
/.android/debug.keystore(в Linux и Mac OS X); в каталоге что-то вроде% USERHOME%/. android в Windows.
Плагин Eclipse должен затем сгенерировать новый сертификат, когда вы попытаетесь создать пакет отладки.
Сообщите мне, если это работает.
Ответ 2
Для генерации ключевого хеша вам нужно выполнить несколько простых шагов.
1) Скачать Openssl от: здесь.
2) Создайте папку openssl в C диске
3) Извлеките файлы Zip в эту папку openssl, созданную в C Диске.
4) Скопируйте файл debug.keystore из .android в мой случай (C:\Users\SYSTEM.android) и вставьте в папку JDK bin в моем case (C:\Program Files\Java\jdk1.6.0_05\bin)
5) Откройте командную строку и укажите путь к папке JDK Bin в моем случае (C:\Program Files\Java\jdk1.6.0_05\bin).
6) Скопируйте следующий код и нажмите enter
keytool -exportcert -alias androiddebugkey -keystore debug.keystore > C:\OpenSSL\Bin\debug.txt
7) Теперь вам нужно ввести пароль, пароль = андроид.
8) Если вы видите папку openssl Bin, вы получите файл с именем debug.txt
9) Теперь либо вы можете перезапустить командную строку или работать с существующей командной строкой
10) вернитесь на диск C и укажите путь к папке openssl Bin
11) скопируйте следующий код и вставьте
openssl sha1 -binary debug.txt > debug_sha.txt
12) вы получите debug_sha.txt в папке bin openssl
13) Снова скопируйте следующий код и вставьте
openssl base64 -in debug_sha.txt > debug_base64.txt
14) вы получите debug_base64.txt в папке bin openssl
15) открыть файл debug_base64.txt. Вот ваш хэш ключа.
Ответ 3
ОБНОВЛЕННЫЙ ОТВЕТ (Создание через код) Упрощенный метод:
По моему опыту, opensl всегда был хлопотным, я попробовал второй метод, предложенный facebook. И это замечательно. Это лучший способ получить хэш-ключ.
Второй вариант заключается в том, чтобы распечатать хеш-ключ, отправленный на Facebook, и использовать это значение. Внесите следующие изменения в метод onCreate() в вашем основном действии:
Замените com.facebook.samples.loginhowto своим собственным именем пакета (имя пакета в Manifest.xml).
OLD ANSWER (Генерирование Keyhash с помощью openssl)
- Чтобы создать подпись, вам необходимо открыть openssl на вашем компьютере. Если у вас нет одной загрузки openssl отсюда
- В папке C:, Создать openssl
- извлеките содержимое загруженного zip файла openssl в папку openssl в папке C:
- открыть командную строку
- перейдите в bin из openssl i.e C:\openssl\bin в командной строке
выполните следующую команду для генерации вашей клавиатуры. При генерации hashkey он должен задать вам пароль.
keytool -exportcert -alias androiddebugkey -keystore «C:\Users\Anhsirk.android\debug.keystore» | openssl sha1 -binary | openssl base64
ПРИМЕЧАНИЕ: в приведенном выше коде обратите внимание, что вам нужно указать свой путь к пользователю (т.е. в моем случае это C:\Users\Anhsirk, вам просто нужно изменить его для своего пользователя учетной записи.
Дайте пароль как андроид
. Если он не запрашивает пароль, ваш путь к хранилищу ключей неверен.
Если все работает нормально, оно должно дать вам hashkey ниже.
Ответ 4
Правую клавишу можно получить из самого приложения, добавив следующий код, чтобы подтолкнуть правильный хэш ключа (в случае с Facebook SDK 3.0 и далее это работает)
Замените com.package.mypackage на имя вашего пакета
Ответ 5
I. Создать ключевую хэш-отладку для facebook
Добавить код, чтобы распечатать хэш ключа для facebook
II. Создать ключевой хеш-релиз для facebook
- Загрузить openssl-0.9.8e_X64
- Сделать папку openssl на диске C.
- Извлечь Zip файлы в папку openssl
- Пуск → Выполнить: cmd (нажмите ввод)
- (нажмите) cd C:\Program Files\Java\jdk1.6.0_45\bin. Примечание: C:\Program Files\Java\jdk1.6.0_45\bin: путь к папке jdk на вашем компьютере.
(нажмите) keytool -exportcert -alias gci -keystore D:\folder\keystorerelease | C:\openssl\bin\openssl sha1 -binary | C:\openssl\bin\openssl base64. Примечание: D:\folder\keystorerelease: это путь к вашему keystorerelease
Введите пароль хранилища ключей: это пароль, когда вы регистрируете keystorerelease.
Тогда у вас будет хеш-ключ: jDehABCDIQEDWAYz5Ow4sjsxLSw =
Войдите в facebook. Доступ к управлению приложениями. Вставьте ключ-хэш в свое приложение на developers.facebook.com
Ответ 6
ПРОСТОЕ РЕШЕНИЕ ИЗ ЭТОЙ ПРОБЛЕМЫ:
У меня была эта проблема уже два месяца. Мое ключевое хеширование составило до 9. Сегодня я наконец нашел простое решение:
ШАГ 1:
Установите загружаемую вами фразу facebook, которую вы загрузили со страницы разработчика facebook на своем телефоне. Не устанавливайте обычное приложение facebook. Убедитесь, что вы можете войти в facebook. Затем выйдите из системы.
ШАГ 2:
Экспортируйте приложение с помощью ключа окончательной версии как apk, как если бы вы загрузили его в игровой магазин.
ШАГ 3:
Поместите файл Apk на свой телефон через USB-кабель или USB-палку.
ШАГ 4:
Установите приложение, используя диспетчер файлов: Пример
ШАГ 5:
Запустите приложение и попробуйте войти в систему с помощью facebook. Откроется диалоговое окно и скажет: «ключ YOURHASHKEY не найден в консоли разработчика facebook»
ШАГ 6:
ШАГ 7:
Поместите его в консоль разработчика facebook и сохраните. Теперь все готово. Любой, загружающий ваше приложение, опубликованное с ранее использованным хранилищем ключей, может войти в facebook.
Ответ 7
Если вы выпускаете, используйте хранилище ключей, которое вы использовали для экспорта своего приложения, а не файл debug.keystore.
Ответ 8
Пароль сертификата отладки — это Android, а не Android
Ответ 9
Вот моя история:
Добавьте этот код в свою основную деятельность после установки макета.
Измените имя PROJECTNAME на имя вашего пакета!
Ответ 10
Однострочное решение для генерации для facebook
Ответ 11
Чтобы генерировать хэширование ключа релиза, вам нужно выполнить несколько простых шагов.
2) Создайте папку openssl на диске C.
3) Извлеките файлы Zip в эту папку openssl, созданную на диске C.
4) Скопируйте файл debug.keystore из папки .android в моем случае (C:\Users\SYSTEM.android) и вставьте в папку JDK bin Folder в моем случае (C:\Program Files\Java\jdk1.6.0_05\BIN)
5) Откройте командную строку и укажите путь к папке JDK Bin в моем случае (C:\Program Files\Java\jdk1.7.0_40\bin).
6) Скопируйте следующий код и нажмите enter
keytool -exportcert -alias abcd-keystore D:\Projects\MyAppFolder\keystore.txt | C:\openssl\bin\openssl sha1 — бинарный | C:\openssl\bin\openssl base64 ex — keytool -exportcert -alias (ваш псевдоним псевдонима пек введите здесь, как мой знак apk alian name is abcd) -keystore «подписанный apk сгенерированный keystore apth enter here» | msgstr «путь к папке openssl bin входит сюда» sha1 — binary | «путь к папке openssl bin введите здесь» base64
7) Теперь вам нужно ввести пароль, Пароль = (введите здесь свой пароль для хранения ключей)
8) у вас есть хранилище ключей, которое используется для выпуска хэша ключа приложения
Ответ 12
Хотя эта ветка устарела, но я хотел бы поделиться своим опытом (недавно начал работать с facebook), который мне кажется прямо:
- Скачать openssl со ссылкой ниже: https://code.google.com/p/openssl-for-windows/downloads/list
- Распакуйте его на локальный диск (например, C:\openssl)
Чтобы получить ключ разработки для интеграции facebook, используйте следующую команду из командной строки в окнах:
keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH%.android\debug.keystore | «C:\openssl\bin\openssl.exe» sha1 -binary | «C:\openssl\bin\openssl.exe» base64
ПРИМЕЧАНИЕ!: замените путь для openssl.exe(в этом примере это «C:\openssl\bin\openssl.exe» ) с вашим собственным путем установки.
- Будет запрошен пароль, например,
Введите пароль хранилища ключей: android
Введите android как пароль, как показано выше.
Вот оно! Вам будет предоставлен 28-значный длинный ключ. Ура!
Используйте ту же процедуру, чтобы получить ключ Release. Просто замените команду следующим и используйте свой псевдоним ключа выпуска.
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | «PATH FOR openssl.exe» sha1 -binary | openssl base64
Ответ 13
Отличная запись в блоге по теме
Извлечение хэш ключа из ключа .p12
- Откройте терминал или командную строку и перейдите туда, где находится ваш ключ .p12.
- Введите «keytool -v -list -keystore mycert.p12 -storetype pkcs12», где mycert.p12 — это имя вашего ключа .p12.
- Введите пароль хранилища ключей (тот, который вы использовали при экспорте .p12). 4. Скопируйте текст байта сигнатуры отпечатка sha1.
- Для записи файла «sha1.bin» необходимы байты с сигнатурой отпечатка sha1. Вы можете использовать шестнадцатеричный редактор, чтобы вставить скопированные байты. Затем сохраните файл как «sha1.bin».
- Откройте терминал еще раз и введите: «openssl base64 -in sha1.bin -out base64.txt».
- В результате «base64.txt» будет содержать ключевое хеширование, которое необходимо для Facebook.
Великий и простой шестнадцатеричный редактор для mac: HexFiend
OpenSSL должен быть предварительно установлен на mac, и вот ссылка для версии Windows.
Ответ 14
Попробуйте передать пароль для ключа и сохранить как часть команды
Ответ 15
Мне удалось выполнить запрошенную задачу с некоторыми из решений здесь, но подумал про себя, мальчик, который глуп. почему бы не написать небольшой Java-код, который делает это, и упаковать его в Jar, поэтому Я сделал.
Работает в Windows 8. не пробовал другие ОС.
Ответ 16
Привет всем, моя история, как я подписался, имеет ключ для facebook
Прежде всего, вы просто скопируете эти 2 метода в свой первый класс
** Вызвать funcation getAppKeyHash() из вашего метода oncreate, если вы хотите, чтобы подписанный хеш выполнял подписанную сборку, установить подписанную сборку и запустить, вы получите хеш-ключ в диалоговом окне, а затем просто отметьте его и обновите на учетной записи facebook dev и прокомментируете эту функцию и сделать еще один подписанный APK **
Ответ 17
Если ваш пароль = андроид не так, тогда поставьте свой пароль pc на то, что он работает для меня.
И для генерации keyHash попробуйте эту ссылку Здесь
Ответ 18
Сгенерировать отладочный хэш-ключ
Генерировать деблокированный ключ
Ответ 19
Единственное, что работает для меня, — это пароль android . Почему это не упоминается в каких-либо руководствах?
Ответ 20
используйте это в kotlin для печати ключа хэша в журнале
Ответ 21
Самый простой способ генерировать хеш-ключ.
Требование: ключ SHA1
Вы можете найти ключ SHA1, запустив signatureReport
Смотрите изображение ниже.
после запуска файла будет сгенерирован ваш вывод, содержащий требуемый ключ sha1.
и вставьте свой ключ sha1
и, наконец, вы получите обязательный HashKey.
Источник
- 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: