Facebook-sdk-for-unity: iOS : "Ouvrir cette page dans Facebook ?" une fenêtre contextuelle bloque la connexion

Créé le 13 juil. 2020  ·  6Commentaires  ·  Source: facebook/facebook-sdk-for-unity

Liste de contrôle

Environnement

Décrivez votre environnement de développement ici, en donnant autant de détails que possible. Si vous en avez, assurez-vous d'inclure :

  • Version de l'éditeur Unity : 2019.3.0f3
  • Version du SDK Unity : 7.19.2
  • Plateforme d'installation et version : iOS version 13.5.1

Buts

Connectez-vous au jeu avec Facebook.

Résultats attendus

L'utilisateur peut parcourir le flux de connexion.

Résultats actuels

Lors de l'exécution sur un iPhone X, après avoir appelé FB.LogInWithReadPermissions et appuyé sur "Continuer" sur l'invite, cet écran apparaît :

IMG_1972

Je ne parviens pas à fermer le message « Ouvrir cette page sur Facebook ? » popup, soit en appuyant sur « Annuler », « Ouvrir » ou en dehors de la fenêtre contextuelle. Le bouton "Annuler" en haut à gauche du navigateur fonctionne correctement. La désinstallation et la réinstallation de l'application Facebook ont ​​résolu le problème pour une exécution, mais pour les exécutions suivantes, le problème est revenu.

Ce problème ne se produit pas sur un iPad Pro avec iOS 13.5.1 ou un iPad Air avec iOS 12.4.7.

Un autre problème est que le clavier n'est pas ouvert pour la saisie de texte dans les sites Web ouverts par le jeu - par exemple, par le SDK Google Sign-in. Pour une raison quelconque, cela est corrigé sur l'iPhone après la désinstallation de l'application Facebook (et cassé après la réinstallation) ! Cependant, ce problème se produit sur l'iPad, que l'application Facebook soit installée ou non.

Étapes pour reproduire

Edit : reproduit avec succès :

  1. Créez un nouveau projet Unity et ajoutez le SDK 7.19.2
  2. Supprimer le résolveur des services Play
  3. Ajouter Google Sign-In 1.0.4 sans Parse and Play Services Resolver
  4. Ajouter External Dependency Manager 1.2.156 et ajouter le registre lorsque vous y êtes invité
  5. Créez un script sur la caméra et dans Start , appelez FB.Init , puis FB.LoginWithReadPermissions
  6. Construire pour iOS avec le SDK de l'appareil
  7. Dans le fichier Podfile, remplacez la version GoogleSignIn par < 5.0.0
  8. Exécuter sur un iPhone X avec iOS 13.5.1 et l'application Facebook (n'avoir accès à aucun autre iPhone)

Exemples de code et détails

Lien vers la reproduction.

Code:

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

    }
}

Production:

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

Commentaire le plus utile

Je rencontre le même bug dans de nombreux appareils iPhone qui exécutent iOS 13.
Mon code est similaire à @michelleran , je ne peux pas cliquer sur "Ouvrir" et "Annuler" dans la boîte de dialogue contextuelle (vous devez d'abord vous déconnecter de Facebook dans Safari pour reproduire ce bogue).
Mon jeu est Cooking Marina et vous pouvez le télécharger sur Apple Store.
Si je compile le projet avec Xcode 10, le processus de connexion est réussi mais je ne peux pas télécharger de build sur App Store avec Xcode 10.
Lorsque je teste le flux de connexion sur iPad, le processus de connexion se termine toujours. Ce bug ne se produit que sur iPhone avec iOS 13.
J'espère que nous aurons bientôt une solution.

Tous les 6 commentaires

Edité avec des étapes à reproduire.

Salut @michelleran , merci d'avoir signalé ce problème ! Pourriez-vous s'il vous plaît fournir le nom de l'application?

Faites-vous référence au nom dans le tableau de bord des développeurs Facebook ? Si c'est le cas, c'est "Cake Game" - ce n'est pas publié cependant.

Je rencontre le même bug dans de nombreux appareils iPhone qui exécutent iOS 13.
Mon code est similaire à @michelleran , je ne peux pas cliquer sur "Ouvrir" et "Annuler" dans la boîte de dialogue contextuelle (vous devez d'abord vous déconnecter de Facebook dans Safari pour reproduire ce bogue).
Mon jeu est Cooking Marina et vous pouvez le télécharger sur Apple Store.
Si je compile le projet avec Xcode 10, le processus de connexion est réussi mais je ne peux pas télécharger de build sur App Store avec Xcode 10.
Lorsque je teste le flux de connexion sur iPad, le processus de connexion se termine toujours. Ce bug ne se produit que sur iPhone avec iOS 13.
J'espère que nous aurons bientôt une solution.

@michelleran Merci pour la réponse. Nous travaillons à résoudre ce problème. En attendant, j'ai désactivé le changement d'application pour votre application (ce qui signifie que vous n'obtiendrez pas la boîte de dialogue « Ouvrir cette page sur Facebook ») afin que vous puissiez terminer le processus de connexion.

Salut, j'ai le même problème. Existe-t-il une solution pour ce flux ?

Version de l'éditeur Unity : 2019.4.23f1
Version du SDK Unity : 9.1.0
Plate-forme et version d'installation : iOS version 14.4.2

Cette page vous a été utile?
0 / 5 - 0 notes