Facebook-sdk-for-unity: iOS: "Abrir esta página no Facebook?" popup bloqueia login

Criado em 13 jul. 2020  ·  6Comentários  ·  Fonte: facebook/facebook-sdk-for-unity

Lista de controle

Meio Ambiente

Descreva seu ambiente de desenvolvimento aqui, dando o máximo de detalhes possível. Se você os tiver, certifique-se de incluir:

  • Versão do Editor do Unity: 2019.3.0f3
  • Versão do SDK do Unity: 7.19.2
  • Plataforma de instalação e versão: iOS version 13.5.1

Metas

Faça login no jogo com o Facebook.

resultados esperados

O usuário pode passar pelo fluxo de login.

Resultados reais

Ao executar em um iPhone X, depois de chamar FB.LogInWithReadPermissions e tocar em "Continuar" no prompt, esta tela é exibida:

IMG_1972

Não consigo descartar a mensagem "Abrir esta página no Facebook?" pop-up, seja tocando em "Cancelar", "Abrir" ou fora do pop-up. O botão "Cancelar" superior esquerdo do navegador funciona bem. Desinstalar e reinstalar o aplicativo do Facebook corrigiu o problema em uma execução, mas nas execuções subsequentes, o problema retornou.

Esse problema não ocorre em um iPad Pro com iOS 13.5.1 ou um iPad Air com iOS 12.4.7.

Outro problema é que o teclado não é aberto para entrada de texto em sites abertos pelo jogo - por exemplo, pelo Google Sign-in SDK. Por alguma razão, isso foi corrigido no iPhone após a desinstalação do aplicativo do Facebook (e quebrado após reinstalá-lo)! No entanto, esse problema ocorre no iPad, independentemente de o aplicativo do Facebook estar instalado ou não.

Passos para reproduzir

Editar: reproduzido com sucesso:

  1. Crie um novo projeto do Unity e adicione o SDK 7.19.2
  2. Remover resolvedor do Play Services
  3. Adicionar Google Sign-In 1.0.4 sem Parse and Play Services Resolver
  4. Adicionar Gerenciador de Dependência Externa 1.2.156 e adicionar registro quando solicitado
  5. Crie um script na câmera e em Start , chame FB.Init , em seguida, FB.LoginWithReadPermissions
  6. Construir para iOS com o SDK do dispositivo
  7. No Podfile, altere a versão GoogleSignIn para < 5.0.0
  8. Execute em um iPhone X com iOS 13.5.1 e o aplicativo do Facebook (não tem acesso a nenhum outro iPhones)

Amostras de código e detalhes

Link para reprodução.

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()
    {

    }
}

Resultado:

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

Comentários muito úteis

Encontro o mesmo bug em muitos dispositivos iPhone que executam o iOS 13.
Meu código é semelhante ao @michelleran , não consigo clicar em "Abrir" e "Cancelar" na caixa de diálogo pop-up (primeiro você precisa sair do Facebook no safari para reproduzir este bug).
Meu jogo é Cooking Marina e você pode baixá-lo na Apple Store.
Se eu compilar o projeto com o Xcode 10, o processo de login é bem-sucedido, mas não consigo fazer o upload da compilação para a App Store com o Xcode 10.
Quando eu testo o fluxo de login no iPad, o processo de login sempre é concluído. Este bug ocorre apenas no iPhone com iOS 13.
Espero que tenhamos uma solução em breve.

Todos 6 comentários

Editado com etapas para reproduzir.

Olá @michelleran , obrigado por relatar este problema! Você poderia fornecer o nome do aplicativo?

Você está se referindo ao nome no painel de desenvolvedor do Facebook? Em caso afirmativo, é "Cake Game" - embora não seja publicado.

Encontro o mesmo bug em muitos dispositivos iPhone que executam o iOS 13.
Meu código é semelhante ao @michelleran , não consigo clicar em "Abrir" e "Cancelar" na caixa de diálogo pop-up (primeiro você precisa sair do Facebook no safari para reproduzir este bug).
Meu jogo é Cooking Marina e você pode baixá-lo na Apple Store.
Se eu compilar o projeto com o Xcode 10, o processo de login é bem-sucedido, mas não consigo fazer o upload da compilação para a App Store com o Xcode 10.
Quando eu testo o fluxo de login no iPad, o processo de login sempre é concluído. Este bug ocorre apenas no iPhone com iOS 13.
Espero que tenhamos uma solução em breve.

@michelleran Obrigado pela resposta. Estamos trabalhando para resolver esse problema. Nesse meio tempo, desativei a alternância de aplicativos para o seu aplicativo (o que significa que você não obterá a caixa de diálogo “Abrir esta página no Facebook”) para poder concluir o processo de login.

Olá, estou com o mesmo problema. Existe alguma solução para este fluxo?

Versão do Unity Editor: 2019.4.23f1
Versão do SDK do Unity: 9.1.0
Plataforma de instalação e Verison: iOS versão 14.4.2

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

bblpny picture bblpny  ·  4Comentários

sivu picture sivu  ·  6Comentários

MorganMoon picture MorganMoon  ·  7Comentários

manofspirit picture manofspirit  ·  6Comentários

1901 picture 1901  ·  6Comentários