Как я могу открыть приложение Facebook (для определенной страницы) из React Native Linking? - PullRequest
4 голосов
/ 04 октября 2019
Linking.openURL('https://www.facebook.com/walmart')
Linking.openURL('fb://profile/walmart');
Linking.openURL('fb://page/walmart');
Linking.openURL('fb://facewebmodal/f?href=walmart')
Linking.openURL('https://www.facebook.com/n/?walmart');

Я пробовал все это, но все открывают веб-страницу вместо приложения. fb:// открывает приложение, но не переходит на конкретную страницу.

React-native 0.61.1

<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>fb</string>
        <string>instagram</string>
        <string>twitter</string>
        <string>whatsapp</string>
        <string>linkedin</string>
        <string>fbapi20130214</string>
        <string>fbapi20130410</string>
        <string>fbapi20130702</string>
        <string>fbapi20131010</string>
        <string>fbapi20131219</string>    
        <string>fbapi20140410</string>
        <string>fbapi20140116</string>
        <string>fbapi20150313</string>
        <string>fbapi20150629</string>
        <string>fbapi20160328</string> 
        <string>fbauth</string>
        <string>fbauth2</string>
        <string>fb-messenger-api20140430</string>
    </array>

1 Ответ

4 голосов
/ 06 октября 2019

Чтобы открыть определенную страницу facebook в приложении facebook, вам необходимо иметь уникальный идентификатор (PAGEID).

Как получить PAGEID?

Вариант 1: Использовать какой-либо сторонний сервис, например, например: https://findmyfbid.com/. Здесь вы можете просто ввести URL-адрес facebookстраницы.

Вариант 2: Откройте URL-адрес facebook страницы в своем браузере, щелкните правой кнопкой мыши изображение профиля и нажмите АДРЕС КОПИРОВАНИЯ ССЫЛКИ .

Адрес изображения профиля Walmart:

www.facebook.com / 159616034235 / photos / 10157225802004236 / PAGEID выделен.

Как открыть страницу в приложении FB?

На устройствах iOS: fb: // profile / PAGEID

На устройствах Android: fb: // page / PAGEID

ПРИМЕР КОДА:

const pageID = 159616034235; // Waltmart's ID 
const scheme = Platform.select({ ios: 'fb://profile/', android: 'fb://page/' });

const url = `${scheme}${pageID}`;

и затем вы можете использовать:

Linking.openURL(url);
...