Max*_*bko 8 android facebook ios flutter
出现一个带有 Facebook 入口的窗口,当您单击继续时出现错误
SERVER_ERROR: [code] 1349195 [message]: 密钥散列与任何保存的散列都不匹配
login() async {
final facebookLogin = new FacebookLogin();
final result = await facebookLogin.logInWithReadPermissions(['email']);
switch (result.status) {
case FacebookLoginStatus.loggedIn:
print(result.accessToken.token);
Navigator.of(context).pushReplacementNamed('/home_screen');
break;
case FacebookLoginStatus.cancelledByUser:
print('CANCELED BY USER');
break;
case FacebookLoginStatus.error:
print(result.errorMessage);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我为 android build 生成 facebook keyhash 的方式
FlutterActivity导入 android.content.Context
import android.content.pm.PackageInfo
import android.content.pm.PackageManager
import android.os.Bundle
import android.util.Base64
import android.util.Log
import io.flutter.embedding.android.FlutterActivity
import java.security.MessageDigest
import java.security.NoSuchAlgorithmException
class MainActivity: FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
printHashKey(this@MainActivity)
}
fun printHashKey(pContext: Context) {
try {
val info: PackageInfo = pContext.getPackageManager().getPackageInfo(pContext.getPackageName(), PackageManager.GET_SIGNATURES)
for (signature in info.signatures) {
val md = MessageDigest.getInstance("SHA")
md.update(signature.toByteArray())
val hashKey = String(Base64.encode(md.digest(), 0))
Log.i("MainActivity", "printHashKey() Hash Key: $hashKey")
}
} catch (e: NoSuchAlgorithmException) {
Log.e("MainActivity", "printHashKey()", e)
} catch (e: Exception) {
Log.e("MainActivity", "printHashKey()", e)
}
}
}
Run Code Online (Sandbox Code Playgroud)
发布有两种密钥哈希,调试以获取调试,对于 mac 使用此
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Run Code Online (Sandbox Code Playgroud)
对于Windows
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
Run Code Online (Sandbox Code Playgroud)
待发布
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64
Run Code Online (Sandbox Code Playgroud)
如果出现问题,请重新阅读开发者 Facebook 的所有说明,祝你好运。
| 归档时间: |
|
| 查看次数: |
8476 次 |
| 最近记录: |