Facebook-sdk-for-unity: iOS: "¿Abrir esta página en Facebook?" inicio de sesión de bloques emergentes

Creado en 13 jul. 2020  ·  6Comentarios  ·  Fuente: facebook/facebook-sdk-for-unity

Lista de Verificación

Ambiente

Describe aquí tu entorno de desarrollo, dando tantos detalles como sea posible. Si los tiene, asegúrese de incluir:

  • Versión del editor de Unity: 2019.3.0f3
  • Versión del SDK de Unity: 7.19.2
  • Plataforma de instalación y versión: iOS versión 13.5.1

Metas

Inicie sesión en el juego con Facebook.

Resultados previstos

El usuario puede realizar el proceso de inicio de sesión.

Resultados actuales

Cuando se ejecuta en un iPhone X, después de llamar a FB.LogInWithReadPermissions y tocar "Continuar" en el mensaje, aparece esta pantalla:

IMG_1972

No puedo descartar el mensaje "¿Abrir esta página en Facebook?" ventana emergente, ya sea tocando "Cancelar", "Abrir" o fuera de la ventana emergente. El botón "Cancelar" de la parte superior izquierda del navegador funciona bien. La desinstalación y reinstalación de la aplicación de Facebook solucionó el problema durante una ejecución, pero para las ejecuciones posteriores, el problema volvió.

Este problema no ocurre en un iPad Pro con iOS 13.5.1 o un iPad Air con iOS 12.4.7.

Otro problema es que el teclado no se abre para la entrada de texto en los sitios web abiertos por el juego, por ejemplo, por el SDK de inicio de sesión de Google. Por alguna razón, esto se soluciona en el iPhone después de desinstalar la aplicación de Facebook (y se rompe después de reinstalarla). Sin embargo, este problema ocurre en el iPad independientemente de si la aplicación de Facebook está instalada o no.

Pasos para reproducir

Editar: reproducido con éxito:

  1. Cree un nuevo proyecto de Unity y agregue SDK 7.19.2
  2. Eliminar el solucionador de servicios de Play
  3. Agregue Google Sign-In 1.0.4 sin Parse and Play Services Resolver
  4. Agregue External Dependency Manager 1.2.156 y agregue el registro cuando se le solicite
  5. Cree un script en la cámara y en Start , llame a FB.Init , luego FB.LoginWithReadPermissions
  6. Construya para iOS con el SDK del dispositivo
  7. En el Podfile, cambie GoogleSignIn versión a < 5.0.0
  8. Ejecutar en un iPhone X con iOS 13.5.1 y la aplicación de Facebook (no tengo acceso a ningún otro iPhone)

Muestras de código y detalles

Enlace a la reproducción.

Código:

public class TestScript : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        FB.Init(() => {
            FB.LogInWithReadPermissions(
                new List<string>() { "public_profile", "email", "user_friends", "user_posts" }, 
                loginResult => {

                }
            );
        });
    }

    // Update is called once per frame
    void Update()
    {

    }
}

Producción:

2020-07-13 10:45:05.042142-0400 FacebookSandbox[11263:4698992] Built from '2019.3/staging' branch, Version '2019.3.0f3 (6c9e2bfd6f81)', Build type 'Release', Scripting Backend 'il2cpp'
-> applicationDidFinishLaunching()
2020-07-13 10:45:05.608167-0400 FacebookSandbox[11263:4698992] FBSDKLog: starting with Graph API v2.4, GET requests for /1184331378431008/model_asset should contain an explicit "fields" parameter
-> applicationDidBecomeActive()
GfxDevice: creating device client; threaded=1
Initializing Metal device caps: Apple A11 GPU
Initialize engine version: 2019.3.0f3 (6c9e2bfd6f81)
2020-07-13 10:45:05.630826-0400 FacebookSandbox[11263:4699191] [] tcp_input [C2.1:3] flags=[R] seq=4067646681, ack=0, win=0 state=CLOSED rcv_nxt=4067646681, snd_una=952914416
2020-07-13 10:45:05.631434-0400 FacebookSandbox[11263:4699191] [] tcp_input [C2.1:3] flags=[R] seq=4067646681, ack=0, win=0 state=CLOSED rcv_nxt=4067646681, snd_una=952914416
2020-07-13 10:45:05.633674-0400 FacebookSandbox[11263:4699191] [] tcp_input [C1.1:3] flags=[R] seq=1622058020, ack=0, win=0 state=CLOSED rcv_nxt=1622058020, snd_una=3506061178
2020-07-13 10:45:05.633732-0400 FacebookSandbox[11263:4699191] [] tcp_input [C1.1:3] flags=[R] seq=1622058020, ack=0, win=0 state=CLOSED rcv_nxt=1622058020, snd_una=3506061178
2020-07-13 10:45:06.342714-0400 FacebookSandbox[11263:4698992] Unbalanced calls to begin/end appearance transitions for <SplashScreenController: 0x15dd05b40>.
2020-07-13 10:45:06.359559-0400 FacebookSandbox[11263:4699195] [] tcp_input [C3.1:3] flags=[R] seq=2077033276, ack=0, win=0 state=CLOSED rcv_nxt=2077033276, snd_una=616266740
2020-07-13 10:45:06.361976-0400 FacebookSandbox[11263:4699195] [] tcp_input [C3.1:3] flags=[R] seq=2077033276, ack=0, win=0 state=CLOSED rcv_nxt=2077033276, snd_una=616266740
2020-07-13 10:45:06.365490-0400 FacebookSandbox[11263:4699195] [] tcp_input [C6.1:3] flags=[R] seq=2625008296, ack=0, win=0 state=CLOSED rcv_nxt=2625008296, snd_una=1507674903
2020-07-13 10:45:06.365527-0400 FacebookSandbox[11263:4699195] [] tcp_input [C6.1:3] flags=[R] seq=2625008296, ack=0, win=0 state=CLOSED rcv_nxt=2625008296, snd_una=1507674903
2020-07-13 10:45:06.901348-0400 FacebookSandbox[11263:4699192] [] tcp_input [C5.1:3] flags=[R] seq=1080860623, ack=0, win=0 state=CLOSED rcv_nxt=1080860623, snd_una=3380130027
2020-07-13 10:45:06.905260-0400 FacebookSandbox[11263:4699192] [] tcp_input [C5.1:3] flags=[R] seq=1080860623, ack=0, win=0 state=CLOSED rcv_nxt=1080860623, snd_una=3380130027
UnloadTime: 0.302667 ms
Using Facebook Unity SDK v7.19.2 with FBiOSSDK/6.5.2
Facebook.Unity.CompiledFacebookLoader:Start()

(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)

-> applicationWillResignActive()
-> applicationDidBecomeActive()
bug

Comentario más útil

Encuentro el mismo error en muchos dispositivos iPhone que ejecutan iOS 13.
Mi código es similar a @michelleran , no puedo hacer clic en "Abrir" y "Cancelar" en el cuadro de diálogo emergente (primero debes cerrar sesión en Facebook en Safari para reproducir este error).
Mi juego es Cooking Marina y puedes descargarlo en Apple Store.
Si compilo el proyecto con Xcode 10, el proceso de inicio de sesión es exitoso pero no puedo cargar la compilación en App Store con Xcode 10.
Cuando pruebo el flujo de inicio de sesión en iPad, el proceso de inicio de sesión siempre se completa. Este error solo ocurre en iPhone con iOS 13.
Espero que tengamos una solución pronto.

Todos 6 comentarios

Editado con pasos para reproducir.

Hola @michelleran , gracias por informar de este problema. ¿Podría proporcionar el nombre de la aplicación?

¿Te refieres al nombre en el panel de desarrolladores de Facebook? Si es así, es "Cake Game", aunque no está publicado.

Encuentro el mismo error en muchos dispositivos iPhone que ejecutan iOS 13.
Mi código es similar a @michelleran , no puedo hacer clic en "Abrir" y "Cancelar" en el cuadro de diálogo emergente (primero debes cerrar sesión en Facebook en Safari para reproducir este error).
Mi juego es Cooking Marina y puedes descargarlo en Apple Store.
Si compilo el proyecto con Xcode 10, el proceso de inicio de sesión es exitoso pero no puedo cargar la compilación en App Store con Xcode 10.
Cuando pruebo el flujo de inicio de sesión en iPad, el proceso de inicio de sesión siempre se completa. Este error solo ocurre en iPhone con iOS 13.
Espero que tengamos una solución pronto.

@michelleran Gracias por la respuesta. Estamos trabajando para resolver este problema. Mientras tanto, he desactivado el cambio de aplicación para su aplicación (lo que significa que no obtendrá el cuadro de diálogo "Abrir esta página en Facebook") para que pueda completar el proceso de inicio de sesión.

Hola, tengo el mismo problema. ¿Existe alguna solución para este flujo?

Versión del editor de Unity: 2019.4.23f1
Versión del SDK de Unity: 9.1.0
Plataforma de instalación y versión: iOS versión 14.4.2

¿Fue útil esta página
0 / 5 - 0 calificaciones