Андроидный хеш-ключ

Я разработал приложение для Android, которое использует facebook sdk для интеграции с Facebook. На данный момент у меня нет проблем или проблем с приложением, поскольку оно функционально и работает хорошо – но с этим я считаю, что, хотя приложение работает, я до сих пор не совсем понимаю, что такое хеш-ключ андроида.

1) Я понимаю, что facebook sdk поставляет разработчику уникальный идентификатор приложения, чтобы знать, с кем они «разговаривают», поэтому они также будут контролировать, кто кто и кто, но что они получают из-за хэш-файла вашего Android-андроида?

2) Я понимаю, что мой эмулятор на ПК разработки имеет ключевой хеш (который у меня есть), и у Samsung Galaxy S1 и S2 (у которых оба имеют один и тот же ключ-хэш) есть другой, и теперь я прошел apk Другому пользователю, у которого есть другой хэш-ключ (и другой бренд телефона и версия для Android). Итак – если я опубликую свое приложение в Google Play в один прекрасный день, мне нужно будет обновить фейсбуки / разработчики всех возможных хеш-ключей?

3) Является ли хеш-ключ уникальным и постоянным для модели или версии платформы / андроида, или я могу создать хэш-ключ из моего приложения, поэтому я могу добавить именно это и сделать все то же приложение, которое работает с разных телефонов, использовать один и тот же ?

4) снова вообще – я не понимаю, какой ключевой хеш, кто его генерирует, и, самое главное, почему – в чем смысл ключевого хэша, и что хорошего для Facebook?

Я попытался найти его, но здесь я нашел только вопросы о шагах, чтобы узнать, что означает хэш ключа эмулятора или инструкции о том, что делать с Facebook / разработчиками в Google. Я уверен, что есть документация, которая покрывает это, не может найти его.

Благодаря!

1) Я понимаю, что facebook sdk поставляет разработчику уникальный идентификатор приложения, чтобы знать, с кем они «разговаривают», поэтому они также будут контролировать, кто кто и кто, но что они получают из-за хэш-файла вашего Android-андроида?

Это дополнительный уровень безопасности для проверки подлинности приложения, как вы можете видеть в документации .

2) Я понимаю, что мой эмулятор на ПК разработки имеет ключевой хеш (который у меня есть), и у Samsung Galaxy S1 и S2 (у которых оба имеют один и тот же ключ-хэш) есть другой, и теперь я прошел apk Другому пользователю, у которого есть другой хэш-ключ (и другой бренд телефона и версия для Android). Итак – если я опубликую свое приложение в Google Play в один прекрасный день, мне нужно будет обновить фейсбуки / разработчики всех возможных хеш-ключей?

Хэш ключа основан на компьютере, который вы используете для создания APK, он не зависит от того, на каком телефоне он запущен. Итак, если вы работаете только с вашим приложением с одной машины разработки, тогда есть только один хэш-ключ, о котором вы должны беспокоиться о своем приложении. В настоящее время вы используете ключ отладки android при разработке своего приложения, когда вы хотите опубликовать его в Google Play, Google требует, чтобы вы подписали APK своим ключом, а не ключом отладки Android. Когда вы создаете свой собственный ключ для подписания APK, вам также нужно скопировать и вставить хэш-ключ вашего собственного ключа в настройках приложения на Facebook.

3) Является ли хеш-ключ уникальным и постоянным для модели или версии платформы / андроида, или я могу создать хэш-ключ из моего приложения, поэтому я могу добавить именно это и сделать все то же приложение, которое работает с разных телефонов, использовать один и тот же ?

Как я уже сказал выше, ключевой хэш не связан с той платформой / устройством, на котором он запущен, ключевой хэш связан с тем, на какой машине вы строите APK. Поэтому для тестирования вы найдете ключевой хэш ключа отладки android и вставьте его в настройки приложения, и все телефоны, которые запускают эту сборку APK, будут работать. Короче говоря, хэш-ключ => разработка ПК, НЕ хэш-ключ ==> телефон

4) снова вообще – я не понимаю, какой ключевой хеш, кто его генерирует, и, самое главное, почему – в чем смысл ключевого хэша, и что хорошего для Facebook? Я попытался найти его, но здесь я нашел только вопросы о шагах, чтобы узнать, что означает хэш ключа эмулятора или инструкции о том, что делать с Facebook / разработчиками в Google. Я уверен, что есть документация, которая покрывает это, не может найти его. Благодаря!

Хэш ключа – это хэш ключа, который используется для подписи APK при компиляции вашего приложения. Eclipse автоматически делает это для вас с помощью отладочного ключа android, но при загрузке в Google Play вам нужно создать свой собственный ключ. Это хорошо для вас и для Facebook, потому что это дополнительный уровень безопасности, чтобы убедиться, что приложение, вызывающее API от вашего имени, на самом деле является вашим приложением.

Существует один ключ, с помощью которого вы регистрируете свое приложение, и вам нужно будет связать его с профилем разработчика Facebook, см. Это . Чтобы вы могли протестировать приложение на разных устройствах перед развертыванием, вы должны использовать ключ отладки для Android, как описано в документации на Android