web-dev-qa-db-ja.com

Reactネイティブの開いているFacebookページ

React Native LinkingAPIを使用してFacebookページを開こうとしています。機能しません。Facebookアプリをインストールしています。試したことは次のとおりです。

_Linking.openURL('fb://page/<page_name>');
Linking.openURL('fb://profile/<profile_name>');
Linking.openURL('http://facebook.com/<page_name>');
_

Communications library:Communications.web(url)も使用してみました。 FacebookとInstagramでは機能しません。しかし、それはグーグルマップ、Appleマップ、ツイッター、その他の大物にとって魅力のように機能します。

私は何か間違ったことをしているのだろうか、それともアプリにディープリンクを適切に実装する方法についてFacebookからそれらの人々にいくつかのAndroid記事を送るべきか?彼らは明らかに彼らが何をしているのかわからないのだろうか?やっている。

5
Andrei

OK、Facebookを開く1つの方法を見つけました:

Linking.openURL('fb://page/PAGE_ID');
Linking.openURL('http://instagram.com/_u/USER_NAME');
Linking.openURL('http://instagram.com/_p/PICTURE');
10
Andrei

一般に、iOSを開こうとする前に、iOSのLinking.canOpenURL()を確認する必要があります。

また、プロトコルをinfo.plistの配列として次のように追加してください。

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>fb</string>
</array>

info.plistのXcodeプロジェクトでこれを行うこともできます。

1
AMB

同じ問題が発生していますが、解決できません。 onPress= {()=> Linking.openURL("https://www.SOME_SOCIAL.NETWORK")}onpressアクションを備えた複数のソーシャルネットワーキングボタンがあります。Twitter、Instagram、SnapChatにリンクしているボタンはすべて、インストールされている場合はアプリを開き、インストールされていない場合はSafariのWebページを開きます。インストールされています。唯一の外れ値はFacebookです。 onPress= {()=> Linking.openURL("https://www.facebook.com/")}などのオンプレスアクションを指定すると、アプリがインストールされている場合でも、リンクは常にSafariで開きます。

この奇妙な振る舞いのために、私は次のようにFacebookリンクのonpressアクションを処理しています。

`` `

  Linking.canOpenURL("fb://profile/XXXXXX").then(supported => {
    if (supported) {
      return Linking.openURL("fb://profile/XXXXXX");
    } else {
      return Linking.openURL("https://www.facebook.com/");
    }
  })

`` `

上記のコードは意図したとおりに機能しませんが、他には何も機能していないようです。

1
okTalk

ここでは何も機能しませんでしたが、いくつかのランダムな試行で、このソリューションが機能していることがわかりました:

Linking.openURL('fb://page/<ID-PAGE>');

そして、あなたがあなたのページIDを探しているなら、ここに小さなチュートリアルがあります: https://roadtoblogging.com/get-facebook-page-id/

0
codeinu

更新-2019年5月

// open via app

fb://facewebmodal/f?href=PAGE_NAME
0
matt93