2014-01-25 1 views
2

게임이 가로 모드이므로 로그인 버튼을 클릭하면 게임이 중단됩니다. 세로 모드를 사용하면 모든 것이 올바르게 작동합니다.로그인을 시도 할 때 풍경 모드에서 Unity Sdk v5.0.3이 충돌 함 - Android

충돌이 발생했을 때 나는 다음과 같은 스택 추적을 버그 센스에서 얻었습니다.

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.adssdk.plugins/com.facebook.unity.FBUnityLoginActivity}: java.lang.UnsupportedOperationException: Session: an attempt was made to request new permissions for a session that has a pending request. 
1at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2205) 
2at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2240) 
3at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3809) 
4at android.app.ActivityThread.access$700(ActivityThread.java:139) 
5at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1266) 
6at android.os.Handler.dispatchMessage(Handler.java:99) 
7at android.os.Looper.loop(Looper.java:156) 
8at android.app.ActivityThread.main(ActivityThread.java:4987) 
9at java.lang.reflect.Method.invokeNative(Native Method) 
10at java.lang.reflect.Method.invoke(Method.java:511) 
11at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
12at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
13at dalvik.system.NativeStart.main(Native Method) 
14Caused by: java.lang.UnsupportedOperationException: Session: an attempt was made to request new permissions for a session that has a pending request. 
15at com.facebook.Session.requestNewPermissions(Session.java:1006) 
16at com.facebook.Session.requestNewPublishPermissions(Session.java:512) 
17at com.facebook.unity.FB.initAndLogin(FB.java:200) 
18at com.facebook.unity.FB.LoginUsingActivity(FB.java:249) 
19at com.facebook.unity.FBUnityLoginActivity.onCreate(FBUnityLoginActivity.java:13) 
20at android.app.Activity.performCreate(Activity.java:4538) 
21at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1071) 
22at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2161) 

누구나 가로 모드로 구현했는데 로그인하는 동안 충돌이 발생하지 않는다면 알려 주시기 바랍니다.

답변

4

예, 이것은 버그입니다. 지금 당장 적절한 수정을 진행하고 있습니다. 한편 당신은 플러그인/안드로이드에서 안드로이드 매니페스트를 편집하고 안드로이드를 추가 할 수 있습니다 : configChangesFBUnityLoginActivity이 파괴되지 않도록하는 것이 때 취향/어떤 변화 :

<activity 
    android:name="com.facebook.unity.FBUnityLoginActivity" 
    android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" 
    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"> 
</activity> 

을 당신은 또한 "반투명"을 제거 할 수 있습니다 활동 스타일에서.

+0

감사합니다. 나는 이것을 구현하려고 노력할 것이다. 또한 잘못된 키 해시 생성 문제가 있습니다. 별칭이 'al1'인 abc.keystore가 있는데 cmdt (Windows)에서 keytool을 사용하여 keyhash를 생성했습니다. 응용 프로그램을 실행하면 예외가 생깁니다. API Keytool Exception : 저장된 항목에서 키 입력이 일치하지 않습니다 (이와 같은). 그래서, 나는 새로운 별칭 'al2'를 만들고 그것으로 내 응용 프로그램에 서명합니다. 그리고 내가 페이스 북으로 잘 작동하고 로그인 할 수 있다고 생각해보십시오. –

+0

내 응용 프로그램이 'al1'키로 서명되었으므로 (fb 로그인이 작동하지 않음) Play 스토어에 게시됩니다. 이 문제를 해결할 방법이 있습니까? 이것이 매우 시급하므로 알려 주시기 바랍니다. 인기가 높아져서 플레이 스토어에서 제거 할 수도 없습니다. 그래서 뭐 할까? 어떤 아이디어? –

+1

Facebook 개발자 대시 보드에 해당 애플리케이션의 키 해시 ('al1'로 서명)를 추가하기 만하면됩니다. Unity 에디터에서 볼 수있는 것은 "디버그"키워쉬입니다. 가장 쉬운 방법은 'al1'로 서명 된 빌드를 만들어 테스트 장치에서 실행하는 것입니다. 로그인을 실패하게하고 logcat에서 _com.facebook.http.protocol.ApiException과 같은 오류가 있는지 확인하십시오 : 키 해시 yQiO9KqD3fSZRhARTQ5BkPNpLoc이 저장된 키 해시와 일치하지 않습니다 ._safety dev 대시 보드에 추가해야하는 키 해시입니다. – juraj

1

매니페스트 파일의 변경으로 인해 충돌이 해결되었음을 확인했습니다. 추가 정보 : 매니페스트의 위치는 파일이 Assets \ Plugins \ Android에 있었고 이름은 AndroidManifest.xml입니다. 소니 Xperia M에 대한 수정을 테스트했습니다.

관련 문제