2013-04-05 62 views
3

我試圖使用帶有phonegap的facebook連接插件,我有一個奇怪的問題。我使用自己的手機(Samsung Galaxy Note II)進行調試。我已安裝HackBook示例應用程序。Phonegap 2.4 Facebook插件登錄不起作用

當我啓動它,然後點擊「登錄到Facebook」按鈕,當地的Facebook應用程序啓動並提示登錄頁面。我輸入我的FB憑據,而不是顯示我的測試Facebook應用程序授予,它顯示三星Galaxy Note II應用程序...

現在,如果我從我的手機中刪除Facebook應用程序,並重新啓動hackbook應用程序,登錄按鈕現在顯示Facebook登錄頁面的「網絡」版本,一切工作正常。總結:如果facebook應用程序安裝在我的手機上,hackbook示例應用程序會使用它執行登錄步驟,但它希望授予Galaxy Note II FB應用程序而不是我自己的應用程序。

如果我刪除我的手機的Facebook應用程序,一切工作正常。

我需要幫助

謝謝

+0

你看到在你的Android日誌什麼奇怪的地方(試試'CatLog'應用程序或直ADB)當你有Facebook應用程序安裝? – ashes999 2013-04-05 13:40:23

回答

0

我在這裏分享錢德拉 - kantha的答案https://github.com/amirudin/pgb-fbconnect/issues/1#issuecomment-26134737


以下是此問題的修復!!!

您需要生成Android密鑰的哈希值並提交給Facebook上的開發者頁面(https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/)以使其工作。此外,如果要生成在Windows上的散列(特別是64個版本),

請使用版本0.9.8e或的OpenSSL 0.9.8d爲Windows而不是0.9.8k。

下載OpenSSL的位置:https://code.google.com/p/openssl-for-windows/downloads/list

一旦你下載了OpenSSL的,提取文件,然後打開你的OpenSSL的文件夾複製bin文件夾的路徑,然後添加到系統環境變量PATH。

的Android簽名:

的Adobe®的PhoneGap構建™可以讓你簽上你的Android版本,所以它們適用於提交到Android Market。要準備發佈版本,首先需要生成簽名密鑰庫文件。全部細節都低於可供選擇:

獲得合適的私有密鑰:

1)下載並安裝Java。 http://www.java.com/en/download/index.jsp

2)設置JAVA_HOME目錄:http://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/index.html

3)打開命令提示(CMD。exe文件),爲管理員,則執行如下命令:

密鑰工具-genkey -v -keystore [keystore_name]的.keystore -alias [ALIAS_NAME] -keyalg RSA -keysize 2048 -validity 10000

請注意ALIAS_NAME 。

保留所有密碼 「機器人」

4)使用Keytool會要求存儲密碼。輸入密碼並確認:

step_4_android_keystore_pass

5)接下來,密鑰工具將要求提供額外資料。提供適當的: step_5_additional_info

6)接下來,keytool將詢問密碼的別名。如果它與密鑰庫密碼相同,則返回。 Othewise輸入密碼並確認:

step_6_alias_password

7)您的簽名密鑰現在準備提交:

step_7_keystore_ready

提交建設 8)轉到帳戶>編輯設置>簽名鍵的標籤。 step_8_edit_account_settings

9)點擊'add a key ...'並提供以下信息。 標題 - 任何東西 別名 - 您在生成密鑰庫文件時給出的別名。

step_9_add_key

解鎖密鑰。 10)轉到帳戶>編輯設置>簽名密鑰的標籤:

step_10_edit_account_settings

11)點擊「鎖定」按鈕,並提供以下:證書密碼=>參照步驟#6庫密碼=>參考步驟#4

step_11_unlock_key

生成新的哈希鍵

現在你將有使用已生成的密鑰庫文件來生成新的hashkey。打開你的命令行並運行下面的命令。

keytool -exportcert -alias [別名] -keystore [your_keystore_path \ keystorefilename] .keystore | openssl sha1 -binary | openssl base64

現在複製哈希鍵並添加到您的Facebook應用程序。

**現在確保您選擇的關鍵在PhoneGap的同時建立你的應用程序 構建

0

你需要確保你在Facebook的應用信息中心(原生Android應用程序部分)添加關鍵字hash。您需要散列用於簽署應用程序的密鑰。還有一件事,確保包名是正確的,並啓用Facebook登錄。 (與screencaps)

來源: