我正在尝试实现 Facebook 登录,然后允许用户通过应用程序发布状态更新和分享详细信息到 Facebook。我(认为)用户无法成功登录 Facebook。以下是用户经历的过程:
- 用户点击登录按钮
- 用户登录成功
- 下面的窗口向用户显示
- 当用户点击
Share
按钮时,会出现以下错误消息:(#404) remote_app_id does not match stored id
我已经使用以下 2 个命令行为我的调试密钥库和发布密钥库获取了密钥哈希。
调试密钥库
keytool -exportcert -alias androiddebugkey -keystore C:\Users\lyonsmg\.android\debug.keystore | C:\OpenSSL-Win64\bin\openssl.exe sha1 -binary | C:\OpenSSL-Win64\bin\openssl.exe base64
释放密钥库
keytool -exportcert -alias C:\Users\lyonsmg\matt\_keystores_and_passwords\BibleTriviaLite_keystore -keystore C:\Users\lyonsmg\matt\_keystores_and_passwords\BibleTriviaLite_keystore | C:\OpenSSL-Win64\bin\openssl.exe sha1 -binary | C:\OpenSSL-Win64\bin\openssl.exe
我用作android
调试密钥库的密码和发布密钥库的私人密码。我将生成的两个密钥哈希都放在 Facebook 的开发人员设置中,也放在 Facebook 应用程序仪表板中。它是 Facebook Android SDK 文档告诉我放置它的两个地方。
我的 app_id 位于我的Android Manifest
. 下面是我的 Android 清单,您可以看到找到我的 app_id 的 2 个位置。你可以在代码中找到它@string/app_id
。
安卓清单
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="matt.lyons.bibletrivia.lite"
android:versionCode="13"
android:versionName="2.1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:icon="@drawable/icon_blue_bg"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.gms.games.APP_ID"
android:value="@string/app_id" />
<activity
android:name=".SplashScreen"
android:screenOrientation="portrait" >
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<activity
android:label="@string/app_name"
android:name=".About"
android:screenOrientation="portrait" />
<activity
android:label="@string/app_name"
android:name=".Categories"
android:screenOrientation="portrait" />
<activity
android:label="@string/app_name"
android:name=".Question"
android:screenOrientation="portrait" />
<activity
android:label="@string/app_name"
android:name=".Quiz"
android:screenOrientation="portrait" />
<activity
android:label="@string/app_name"
android:name=".QuestionView"
android:screenOrientation="portrait" />
<activity
android:label="@string/app_name"
android:name=".Results"
android:screenOrientation="portrait" />
<activity
android:label="@string/app_name"
android:name=".Highscores"
android:screenOrientation="portrait" />
<activity
android:label="@string/app_name"
android:name=".DatabaseHelper"
android:screenOrientation="portrait" />
<activity
android:label="@string/app_name"
android:name=".ComingSoon"
android:screenOrientation="portrait" />
<activity
android:label="@string/app_name"
android:name=".MainMenu"
android:screenOrientation="portrait" />
<activity
android:label="@string/app_name"
android:name=".MyApplication"
android:screenOrientation="portrait" />
<activity
android:label="@string/app_name"
android:name=".Levels"
android:screenOrientation="portrait" />
<activity
android:label="@string/app_name"
android:name=".GameType"
android:screenOrientation="portrait" />
<meta-data android:value="@string/app_id" android:name="com.facebook.sdk.ApplicationId"/>
<activity android:label="@string/app_name" android:name="com.facebook.LoginActivity"></activity>
</application>
<uses-permission
android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission
android:name="com.android.vending.BILLING" />
</manifest>
对不起,我写了这么多,但我只是想覆盖我所有的基础并彻底!我的问题是,我做错了什么?为什么它告诉我我的“remote_app_id”与我的“存储的 id”不匹配?