我最难将Facebook sdks与我的Android应用程序集成。我想要做的就是利用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已声明&#34;此应用程序处于开发模式&#34;在Facebook仪表板内。
当我运行应用程序时,我在尝试共享信息并获得异常时收到错误:
Error: com.facebook.FacebookException: Failed to authenticate the application because of app name mismatch. Please check the application name configured by the dialog.
我按照此处的说明操作:https://developers.facebook.com/docs/android/getting-started#maven
任何建议表示赞赏! 谢谢, 德里克
答案 0 :(得分:9)
所以我明白了。错误消息具有误导性。如果Facebook应用程序尚未公开,Facebook应用程序需要以Facebook角色(管理员,开发人员,测试等)之一的用户身份登录。
答案 1 :(得分:0)
嘿,确认您的Facebook仪表板中是否有与您的应用程序包名称相同的包
http://w3facility.org/question/android-facebook-connectivity-fails/
答案 2 :(得分:0)
我正在使用FB sdk进行移动/ cordova应用程序并使用fb的shareDialog。
我遇到了同样的错误:由于应用名称不匹配而无法验证应用程序。请检查对话框
配置的应用程序名称奇怪的是,它在Android模拟器和浏览器中工作,但在设备上没有。
无论如何这里是我发现的:因为我在facebook开发者门户网站上使用我的应用程序的测试版本,那么名称就像是 “MySuperApp - Test1”,在我的应用程序代码中,我引用了“MySuperApp”
在我的应用代码中使用“ - Test1”这个名字后,它就开始工作了。
希望它有所帮助。
尼古拉斯