首页 文章

在尝试通过Android应用分享时,Facebook SDK发现应用名称不匹配

提问于
浏览
1

我正在努力将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在Facebook仪表板中声明“此应用程序处于开发模式” .

当我运行应用程序时,我在尝试共享信息并获得异常时收到错误:

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

  • 我可以't figure out what i' m做错了,因为应用名称"TestApp"与Facebook下的"Display Name"匹配 - >设置 - >显示名称"TestApp" . 我已经验证了appId也是一样的 .

  • Facebook应用程序是否需要发布,这就是我遇到问题的原因吗?我只想使用sdk,以便本机Android应用程序可以发布到Facebook .

  • 还有什么我只是没有看到 .

我按照这里的说明操作:https://developers.facebook.com/docs/android/getting-started#maven

任何建议赞赏!谢谢,德里克

3 回答

  • 0

    所以我明白了 . 错误消息具有误导性 . 如果Facebook应用尚未公开,Facebook应用程序需要以Facebook角色(管理员,开发人员,测试等)之一的用户身份登录 .

  • 9

    嘿,确认您的Facebook仪表板中是否有与您的应用程序包名称相同的包

    http://w3facility.org/question/android-facebook-connectivity-fails/

  • 0

    我正在使用FB sdk进行移动/ cordova应用程序并使用fb的shareDialog .

    我有同样的错误:由于应用名称不匹配而无法验证应用程序 . 请检查对话框配置的应用程序名称

    奇怪的是,它在Android模拟器和浏览器中工作,但不在设备上 .

    无论如何,这里是我发现的:因为我在Facebook开发人员门户网站上使用我的应用程序的测试版本,然后名称类似于“MySuperApp - Test1”,在我的应用程序代码中我引用了“MySuperApp”

    一旦我在我的应用程序代码中使用此名称“ - Test1”,它就开始工作了 .

    希望能帮助到你 .

    萨科

相关问题