Ouvrir le lien pour Facebook page à partir de l'application iOS
Je veux rediriger l'utilisateur de mon Application Facebook page, j'ai donc le code suivant:
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString: @"https://facebook.com/myAppsPage"]];
cela fonctionne très bien, si il n'y a pas de Facebook application sur le périphérique. Ensuite, le lien s'ouvre dans Safari.
Si il y a Facebook application installée sur l'appareil, puis après l'exécution de code ci-dessus Facebook app s'ouvre, mais il montre des utilisateurs de la timeline, c'est pas mon app de la page. J'ai essayé de changer le lien pour @"fb://pages/myAppsPage"
et à @"fb://profile/myAppsPage
, mais ce nouveau ouvert les utilisateurs de la timeline.
Donc, ma question est: comment puis-je ouvrir mes applications page dans safari, si il n'y a pas de Facebook app, ou dans Facebook app, si l'une est installé.
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser le facebook ID de la page plutôt que de la vanité de l'URL. Pour obtenir les pages de l'ID, entrez votre page vanité nom à l'URL suivant et copier la valeur de "id":
https://graph.facebook.com/yourappspage
Une fois que vous avez l'id, vous pouvez définir la méthode pour vérifier si FB est installé à l'aide de la canOpenURL méthode et de servir le contenu approprié pour les deux états:
fb://profile/xxxxx
qui fonctionne bien dans la version actuelle de Facebook app. Avait été chercher sur internet une solution, la suggestion de l'utilisation defb://page/xxxxx
qui n' pas de travail, pas de chargement de la page, probablement que c'est pour l'ancienne version de Facebook app.fb://profile/113810631976867
fonctionne toujours parce que c'est une page d'organisation, mais si j'ai insérer le nom d'utilisateur pour accéder au profil de l'utilisateur page -> j'ai "page non trouvée"! Toutes les solutions?LSApplicationQueriesSchemes
dans votre Info.plist et l'élémentfb
comme une chaîne de caractères de l'élément à l'intérieur de la matrice.J'ai été heureux de trouver skladek réponse, voici donc ma contribution: Swift + autres réseaux sociaux.
J'ai trouvé que j'avais besoin de 3 barres obliques pour twitter, et seulement 2 pour Facebook et Google+, je n'ai pas enquêter plus que ça...
À une tentative de refactoring:
Maintenant, vous pouvez appeler le:
Il semble que depuis la dernière réponse de Facebook ont changé le régime de pages (profil est le même qu'avant)
la
page_id
est maintenant la partie de l'URL de la requête.Afin de rediriger vers fb app, l'url doit être au format:
Assurez-vous également de la liste blanche
fb
régime dans vos applicationsInfo.plist
Dans le cas où il n'y aura aucune modification supplémentaire ou vous ne connaissez pas votre facebook page
page_id
, vous pouvez extraire le précise iOSfb
URL de votre Facebook source de la page web.al:ios:url
Vous devriez être capable de trouver:
Copier cette URL dans votre application, puis en appelant:
devrait faire l'affaire...
al:ios:url
Pour iOS 9, Vous devez la liste blanche l'url de votre application en appellera à l'aide de la LSApplicationQueriesSchemes clé dans votre Info.plist.
Vérifier ici.
Après beaucoup d'essais, j'ai trouvé une des solutions les plus efficaces:
Ordre des phrases "if else" varier à votre goût ...
En profiter!! 🙂
Swift 2.3
Pour le code, vous pouvez utiliser cet exemple:
Remarque: Si vous ne pouvez pas trouver le facebook id de profil vous pouvez utiliser le suivi de site pour le faire (https://findmyfbid.com/)
Pour Info.plist vous devez définir le suivi des paramètres:
Remarque: Pour ouvrir l'Info.plist sur le Mode Source
-Aller à l'Info.fichier plist et cliquez droit
-Sélectionner "Ouvrir Dans"
-Sélectionnez "Code Source"
-Mettre le code au-dessus de l'autre