現在越來越多註冊登入功能,因為要降低用戶的流失所以慢慢都採用第三方登入。
其中Facebook是最常用的選項,但是依照 Facebook developer 的說明文件要使用 openssl 取得Hash Key太麻煩了,而且和對岸的工程師做串接常常為了這個問題搞不定。
為了解決這個問題,請直接將下面這串程式碼提供給Android 工程師,搭配 Facebook developer 的文件服用。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.facebook.samples.hellofacebook",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
保存所做的更改,然後重新執行。檢查您的logcat輸出是否有類似以下訊息。
“478uEnKQV+fMQT8Dy4AKvHkYibo=” 這個就是我們要的Key Hashes了。
12-20 10:47:37.747: D/KeyHash:(936): 478uEnKQV+fMQT8Dy4AKvHkYibo=