Surroundings
Our cell touchdown web page is opened from a Fb advert contained in the Fb iOS in-app browser. The web page comprises a CTA that ought to open our public Fb Web page:
https://www.fb.com/profile.php?id=REDACTED_PAGE_ID
The essential implementation is:
window.open(
"https://www.fb.com/profile.php?id=REDACTED_PAGE_ID",
"_blank",
"noopener",
);
The clicking handler runs accurately and unusual exterior hyperlinks work.
Precise conduct
On affected Fb iOS variations:
-
The consumer faucets the CTA from the touchdown web page.
-
Fb accepts the usual HTTPS Web page URL.
-
Fb converts it to an inside URL much like:
fb://profile/?id=REDACTED_PAGE_ID&wtsid=...
-
The in-app browser shows a clean web page titled
profileand by no means opens the native Fb Web page. -
Copying the hyperlink from the clean web page reveals the generated
fb://profileURL.
The wtsid worth is generated by Fb. Our touchdown web page by no means creates or appends it.
We additionally examined a public Fb put up URL:
https://www.fb.com/share/p/REDACTED_POST_TOKEN/
Fb transformed that URL to an inside fb://story/?... URL, however the outcome was the identical clean web page.
Direct fb:// check
We then detected the Fb iOS in-app browser and tried invoking the precise Scheme noticed above instantly inside the authentic click on occasion:
window.location.href = "fb://profile/?id=REDACTED_PAGE_ID";
On newer Fb iOS variations, that is silently ignored: the consumer faucets the CTA and nothing occurs. On an older Fb model put in on an older iOS machine, the identical strategy opens the goal Web page accurately.
Machine comparability
DeviceOSFacebook versionResultiPhone 11iOS 14.2FBAV/473.0.0.25.108Opens the native PageiPhone 8iOS 16.7.7FBAV/569.0.0.55.71HTTPS ends on a clean fb://profile web page; direct fb:// is ignorediPhone 16iOS 26.5.2Current model obtainable for the machine (FBAV not but recorded)Identical failure as iPhone 8Android check deviceAndroid 16FBAV/568.0.0.46.74Standard HTTPS with window.open works
The working iPhone 11 can not set up the newest Fb launch due to its older iOS model, so the App Retailer supplies Fb 473.0.0.25.108. The failing iPhone 8 runs the considerably newer Fb 569.0.0.55.71.
Approaches already examined
We now have examined all the following:
-
window.open(httpsUrl, "_blank", "noopener") -
window.location.assign(httpsUrl) -
The canonical Web page URL
-
https://m.fb.com/profile.php?id=... -
A public Fb put up/share URL
-
Direct
window.location.href = "fb://profile/?id=..."in the course of the consumer click on -
Machine and Fb in-app-browser detection utilizing the iOS-specific
FBAN/FBIOSmarker -
Cache-busting model parameters for all modified JavaScript assets
The Web page ID is right. The Web page opens from Fb search and in environments the place the navigation succeeds. The problem is reproducible with each Web page and put up routes, and the generated fb:// URL comes from Fb after receiving a standard HTTPS URL.
Questions
Is there a at present supported Meta API or documented URL for opening a Fb Web page from the Fb iOS in-app browser?
Alternatively, is there a documented method to inform fb.com to stay within the internet expertise and never convert the HTTPS URL to fb://profile or fb://story?
If neither conduct is supported, is the one dependable fallback to instruct customers to shut the in-app browser and seek for the Web page, or manually select Open in exterior browser?
Associated report
An analogous older report examined direct hyperlinks, JavaScript modifications, and server redirects to fb://web page, and located that they labored in exterior cell browsers however not constantly in Fb’s personal in-app browser:
