2015-03-03 66 views
1

我正在使用與我的Android應用程序集成的Facebook sdks最爲困難。我想要做的就是利用sdk的共享功能。嘗試通過Android應用程序共享應用程序名稱不匹配時遇到Facebook SDK問題

我得到以下錯誤:

目前我有我的gradle這個配置 編譯 'com.facebook.android:facebook-android-sdk:3.21.1'

String.xml

<string name="app_name">TestApp</string> 
<string name="facebook_app_id">123456789</string> 

隨着我AndroidManifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.test" > 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/mtr_icon" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" 
     android:name="com.test.Application" 
     android:hardwareAccelerated="true"> 



    <activity 
     android:name="com.test.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> 
    <activity android:name="com.facebook.LoginActivity" 
     android:theme="@android:style/Theme.Translucent.NoTitleBar" 
     android:label="@string/app_name" /> 

    </application> 

</manifest> 

共享代碼:

// Publish the post using the Share Dialog 
FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(_activity) 
.setApplicationName("TestApp") 
.build(); 

內的實際Facebook的儀表板:

- Google Play Package Name = com.test 
- Class Name = com.test.MainActivity 
- Display Name = TestApp 
- App ID = 123456789 
- Also added the keyHashes to the keystore that is used to sign the generated apt 

注:TestApp陳述 「這個程序是在開發模式」 Facebook的儀表板內。

當我運行應用程序,我得到的錯誤當它試圖分享信息,並得到異常:

Error: com.facebook.FacebookException: Failed to authenticate the application because of app name mismatch. Please check the application name configured by the dialog.

  1. 我想不出我在做什麼錯誤,因爲應用程序名稱 「TestApp」與Facebook - >設置 - >顯示名稱「TestApp」下的「顯示名稱」相匹配。我已經驗證appId是一樣的。
  2. 這Facebook應用程序是否需要發佈,這就是爲什麼我有問題?我只想使用sdk,以便原生android應用可以發佈到Facebook。
  3. 還有什麼我只是沒有看到。

我按照說明在這裏:https://developers.facebook.com/docs/android/getting-started#maven

任何意見讚賞! 謝謝, 德里克

+0

嘗試類名= MainActivity – 2015-03-03 03:54:01

+0

感謝全勝,但它的Facebook應用程序的設置可訪問性。錯誤信息只是真的讓人誤解 – darewreck 2015-03-03 04:09:01

+0

讓我們爲這個問題創建一個答案,然後接受它:)對於另一個人 – 2015-03-03 04:15:12

回答

9

所以我想通了。錯誤消息是誤導性的。如果Facebook應用程序尚未公開,Facebook應用程序需要以Facebook角色(管理員,開發人員,測試人員等)之一的用戶身份登錄。

+0

測試用戶是否也這樣做? – 2017-08-13 17:06:57

0

我正在做一個移動/科爾多瓦應用程序,FB sdk並使用fb的shareDialog。

我有同樣的錯誤:由於應用程序名稱不匹配而無法驗證應用程序。請檢查由對話框配置的應用程序名稱

奇怪的是,它在android模擬器和瀏覽器中工作,但不是在設備上。

反正這裏是我發現:我用我在Facebook的開發者門戶應用程序的測試版,那麼名稱是一樣的東西 「MySuperApp - Test1的」,而在我的應用程序的代碼,我指的「MySuperApp」

一旦我在我的應用程序代碼中用「 - Test1」這個名稱,它就開始工作。

希望它有幫助。

薩科

相關問題