gpt4 book ai didi

android - Facebook Unity SDK 测试用户登录

转载 作者:行者123 更新时间:2023-11-29 17:50:55 25 4
gpt4 key购买 nike

我无法找到与我遇到的这个问题相关的任何具体信息,所以我想我会在此处发布它。

我有一个正在开发的 Android Unity 应用程序,带有 Facebook SDK 插件。在 Unity 编辑器中工作时,我可以通过测试用户的访问 token 正常登录。但是,将应用程序部署到 Android 设备时,这取决于设备上是否安装了 Facebook 应用程序本身。

如果设备上安装了 Facebook 应用程序,我的测试用户根本无法登录。如果我卸载Facebook App,测试用户按预期成功登录。

是否有设置/配置更改/API 调用,我需要做些什么来解决这个问题?显然,无论设备是否安装了该应用程序,我都希望我的应用程序能够登录。

非常感谢您提供任何信息

编辑:我应该澄清一下——如果安装了 Facebook 应用程序,当用户通过我的应用程序登录时,它使用 Facebook 应用程序登录,但不会在其中登录我的应用

一些更多的信息可以缩小一些范围(我很抱歉它太长了):一旦测试用户帐户确实在我的应用程序中成功登录(设备上没有安装 Facebook 应用程序本身),从那时起,该测试用户帐户就可以正常登录我的应用程序,甚至安装了 Facebook 应用程序。

场景:

  1. 测试用户“Bob”已为我的应用配置,已预安装配置

  2. “Bob”每次都会通过 Unity 编辑器使用 token 登录,问题仅在设备上

  3. 平板电脑安装了Facebook App

  4. 在设备上运行我的应用程序,尝试使用“Bob”登录

  5. 为登录实例化了 Facebook 应用程序登录对话框。

  6. 弹出App授权对话框,点击OK同意

  7. 我的应用返回到主场景,但“Bob”没有登录

  8. 打开Facebook App,发现“Bob”已经正常登录Facebook App

  9. 从设备上卸载 Facebook 应用

  10. 运行我的应用程序(清除数据后),尝试再次登录“Bob”

  11. 实例化较小的 Facebook 登录对话框,然后是身份验证对话框

  12. “Bob”正常登录我的应用

现在 - 这是我发现的其他内容。按照这种情况 - 一旦我通过我的应用程序首次成功登录测试用户帐户,我就可以重新安装 Facebook 应用程序,并且不会对再次登录产生影响。一旦他使用我的应用程序登录一次,从那时起他就会没事了。但是,如果在第一次尝试登录并批准该应用程序时安装了 Facebook 应用程序,它将失败。

根据要求,这是登录尝试失败的 logcat。看起来肯定有几个问题,一个权限异常马上就发生了,也许它逐渐通过导致一切失败。我不确定为什么会出现权限问题,因为我只发送电子邮件和 publish_actions 请求,就像示例中一样。最后,调用我的 OnInitCallback 并指示登录已取消(即使出现授权对话框并单击“确定”)。也许这是 FB 在事情爆发时 Eloquent 地退出的方式?没有把握。无论如何,我仍然无法解决发生这种情况的方式和原因。也许我不应该为此担心,只是希望并祈祷发布版本和实际用户能够正常连接?

W/fb4a(:<default>):BlueServiceQueue(28412): Exception during service

W/fb4a(:<default>):BlueServiceQueue(28412): com.facebook.http.protocol.ApiExcept
ion: The app cannot ask for publish or manage permissions along with read permis
sions.

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.http.protocol.Ap
iResponseChecker.b(ApiResponseChecker.java:83)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.http.protocol.Ap
iResponseChecker.a(ApiResponseChecker.java:162)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.http.protocol.Ap
iResponse.g(ApiResponse.java:151)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.platform.auth.se
rver.AuthorizeAppMethod.a(AuthorizeAppMethod.java:275)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.platform.auth.se
rver.AuthorizeAppMethod.a(AuthorizeAppMethod.java:31)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.http.protocol.Ap
iResponseHandler.a(ApiResponseHandler.java:55)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.http.protocol.Ap
iResponseHandler.handleResponse(ApiResponseHandler.java:28)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.http.common.FbHt
tpRequestProcessor.a(FbHttpRequestProcessor.java:314)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.http.common.FbHt
tpRequestProcessor.a(FbHttpRequestProcessor.java:144)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.http.common.FbHt
tpRequestProcessor.b(FbHttpRequestProcessor.java:100)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.http.common.FbHt
tpRequestProcessor.a(FbHttpRequestProcessor.java:230)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.http.protocol.Si
ngleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:402)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.http.protocol.Si
ngleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:164)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.http.protocol.Ab
stractSingleMethodRunner.a(AbstractSingleMethodRunner.java:18)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.platform.common.
server.SimplePlatformOperation.a(SimplePlatformOperation.java:40)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.platform.common.
server.PlatformOperationHandler.a(PlatformOperationHandler.java:60)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.fbservice.servic
e.BlueServiceQueue.e(BlueServiceQueue.java:329)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.fbservice.servic
e.BlueServiceQueue.d(BlueServiceQueue.java:55)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.fbservice.servic
e.BlueServiceQueue$3.run(BlueServiceQueue.java:258)

W/fb4a(:<default>):BlueServiceQueue(28412): at java.util.concurrent.Executor
s$RunnableAdapter.call(Executors.java:422)

W/fb4a(:<default>):BlueServiceQueue(28412): at java.util.concurrent.FutureTa
sk.run(FutureTask.java:237)

W/fb4a(:<default>):BlueServiceQueue(28412): at com.facebook.common.executors
.ListenableScheduledFutureImpl.run(ListenableScheduledFutureImpl.java:59)

W/fb4a(:<default>):BlueServiceQueue(28412): at android.os.Handler.handleCall
back(Handler.java:733)

W/fb4a(:<default>):BlueServiceQueue(28412): at android.os.Handler.dispatchMe
ssage(Handler.java:95)

W/fb4a(:<default>):BlueServiceQueue(28412): at android.os.Looper.loop(Looper
.java:136)

W/fb4a(:<default>):BlueServiceQueue(28412): at android.os.HandlerThread.run(
HandlerThread.java:61)

W/fb4a(:<default>):GDPDialog(28412): Failed to send

W/fb4a(:<default>):GDPDialog(28412): com.facebook.fbservice.service.ServiceExcep
tion: API_ERROR: API_ERROR

W/fb4a(:<default>):GDPDialog(28412): at com.facebook.fbservice.ops.BlueServic
eOperation.c(BlueServiceOperation.java:639)

W/fb4a(:<default>):GDPDialog(28412): at com.facebook.fbservice.ops.BlueServic
eOperation.c(BlueServiceOperation.java:47)

W/fb4a(:<default>):GDPDialog(28412): at com.facebook.fbservice.ops.BlueServic
eOperation$2.run(BlueServiceOperation.java:604)

W/fb4a(:<default>):GDPDialog(28412): at android.os.Handler.handleCallback(Han
dler.java:733)

W/fb4a(:<default>):GDPDialog(28412): at android.os.Handler.dispatchMessage(Ha
ndler.java:95)

W/fb4a(:<default>):GDPDialog(28412): at android.os.Looper.loop(Looper.java:13
6)

W/fb4a(:<default>):GDPDialog(28412): at android.app.ActivityThread.main(Activ
ityThread.java:5017)

W/fb4a(:<default>):GDPDialog(28412): at java.lang.reflect.Method.invokeNative
(Native Method)

W/fb4a(:<default>):GDPDialog(28412): at java.lang.reflect.Method.invoke(Metho
d.java:515)

W/fb4a(:<default>):GDPDialog(28412): at com.android.internal.os.ZygoteInit$Me
thodAndArgsCaller.run(ZygoteInit.java:779)

W/fb4a(:<default>):GDPDialog(28412): at com.android.internal.os.ZygoteInit.ma
in(ZygoteInit.java:595)

W/fb4a(:<default>):GDPDialog(28412): at dalvik.system.NativeStart.main(Native
Method)

V/FBUnitySDK(30488): sending to Unity OnLoginComplete({"cancelled":true,"key_has
h":"(my keyhash was here)"})

最佳答案

我们有测试用户在安装了 FB 应用程序 (sdk 5.0.4) 的情况下登录到我们在 Android 上的统一应用程序。

FB.Login("email,publish_actions", callback )

如果您有不同的范围,请尝试删除一些,因为日志中的异常表明这是问题所在。从 Facebook 文档来看,只读和发布权限应该分开设置: https://developers.facebook.com/docs/facebook-login/permissions/#publishing

一旦用户登录一次,登录/验证就会在 FB.Init() 中进行,因此采用不同的代码路径。

关于android - Facebook Unity SDK 测试用户登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22917834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com