簡體   English   中英

Facebook Unity SDK測試用戶登錄

[英]Facebook Unity SDK Test User login

我一直無法找到與此問題有關的任何內容,所以我想我會在這里發布。

我有一個Android Unity應用程序,我正在使用Facebook SDK插件。 在Unity編輯器中工作時,我可以通過他們的訪問令牌與我的測試用戶一起登錄。 但是,在將應用程序部署到Android設備時,這取決於Facebook App本身是否已安裝在設備上。

如果Facebook應用程序安裝在設備上,我的測試用戶根本無法登錄。 如果我卸載Facebook App,測試用戶將按預期成功登錄。

是否有設置/配置更改/ API調用,我需要做些什么來解決這個問題? 顯然我希望我的應用程序登錄設備是否安裝了應用程序。

非常感謝你的任何信息

編輯:我應該澄清 - 如果安裝了Facebook應用程序,當用戶通過我的應用程序登錄時,它使用Facebook應用程序登錄,但不會在我的應用程序中登錄它們

一些更多的信息縮小了一些東西(我道歉它是冗長的):一旦測試用戶帳戶確實在我的應用程序中成功登錄(沒有Facebook應用程序本身安裝在設備上),從那時起,測試用戶即使安裝了Facebook App,帳戶也會很好地登錄我的應用程序。

場景:

  1. 為我的應用程序配置了測試用戶“Bob”,已預先安裝了配置

  2. “Bob”每次都會通過Unity編輯器使用令牌登錄,問題僅出現在設備上

  3. 平板電腦已安裝Facebook App

  4. 在設備上運行我的應用程序,嘗試使用“Bob”登錄

  5. Facebook App登錄對話框實例化用於登錄。

  6. 彈出應用程序授權對話框,單擊“確定”以批准它

  7. 我的應用程序返回主場景,但“Bob”未登錄

  8. 打開Facebook App,發現“Bob”登錄Facebook App就好了

  9. 從設備卸載Facebook App

  10. 運行我的應用程序(清除數據后),嘗試再次登錄“Bob”

  11. 實例化較小的Facebook登錄對話框,然后是auth對話框

  12. “鮑勃”很好地登錄我的應用程序

現在 - 這是我發現的其他內容。 繼續這種情況 - 一旦我通過我的應用程序第一次成功登錄測試用戶帳戶,我可以重新安裝Facebook應用程序,它將不會再次登錄。 一旦他用我的應用程序登錄過一次,從那時起他就會好起來的。 但是,如果在第一次嘗試登錄並批准應用程序時安裝了Facebook應用程序,則會失敗。

根據要求,這是一個登錄嘗試失敗的logcat。 肯定會出現幾個問題,一個權限異常,也許它會徹底解決導致一切都失敗的問題。 我不確定為什么會出現權限問題,因為我只發送電子郵件和publish_actions請求,就像在示例中一樣。 最后,調用我的OnInitCallback,指示登錄被取消(即使出現授權對話框並單擊了OK)。 也許這是FB在事情爆發時雄辯退出的方式? 不確定。 無論如何,我仍然無法解決這種情況發生的原因和原因。 也許我不應該擔心它,只是希望並祈禱發布版本和實際用戶能夠連接好嗎?

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應用程序的Android上登錄我們的Unity應用程序(sdk 5.0.4)。

FB.Login(“email,publish_actions”,回調)

如果您有不同的范圍,請嘗試刪除一些,因為日志中的異常表明存在問題。 從Facebook文檔中,應該單獨進行只讀和發布權限: https//developers.facebook.com/docs/facebook-login/permissions/#publishing

一旦用戶登錄一次,登錄/驗證就會在FB.Init()中發生,因此會采用不同的代碼路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM