[英]How to open Facebook / Twitter app from my iOS app in Xamarin?
我正在 C# 中使用 Xamarin 開發 iOS 應用程序。
我有一個“聯系人” UIViewController
,帶有一些按鈕,包括 Facebook 和 Twitter。
我需要使用我的應用程序中的特定 Facebook 頁面和 Twitter 個人資料打開 Facebook 和 Twitter 應用程序。
做到這一點的最佳方法是什么?
試試這個:
Device.OpenUri(new Uri("fb://page/page_id"));
Device.OpenUri(new Uri("twitter://user?user_id=userid"));
對於page_id
右鍵單擊頁面並選擇查看源頁面並找到 facebook 的page_id
與 twitter 相同的找到userid
除了接受的答案之外,以下是我在外部應用程序中打開鏈接的發現。
在瀏覽器中打開鏈接:
Device.OpenUri(new Uri(" http://example.in/index.html "));
要在 facebook 中打開群組:
Device.OpenUri(new Uri("fb://group/groupname"));
要在 facebook 中打開頁面:
Device.OpenUri(new Uri("fb://page/page_id"));
在 Instagram 中打開用戶:
Device.OpenUri(new Uri("instagram://user?username=yourUserName"));
要在 twitter 中打開用戶:
Device.OpenUri(new Uri("twitter://userName?user_id=userId"));
要打開郵件應用程序:
Device.OpenUri(new Uri("mailto:example@gmail.com"));
如果您使用 Xamarin.Forms,也可以使用這些方法:
await Launcher.OpenAsync(new Uri("your-link");
await Launcher.TryOpenAsync(new Uri("your-link");
await Launcher.CanOpenAsync(new Uri("your-link");
await Browser.OpenAsync("your-link");
據我所知,如果在您使用手機時安裝在手機上,瀏覽器將嘗試使用它的默認應用程序啟動 url:
BrowserLaunchMode.SystemPreferred
對於在我之后到達此頁面的人, 設備類已被棄用。 您現在應該使用Xamarin.Essentials包中的Launcher類。
這是 2021 年對我有用的代碼。如果已安裝,它將在 Twitter/Facebook 應用程序中打開,如果未安裝,它將在瀏覽器中打開
private async void OnTwitterClicked(object sender, EventArgs e)
{
if(!await Launcher.TryOpenAsync("twitter://user?user_id=762836470772097024"))
{
await Browser.OpenAsync("https://twitter.com/RingotanApp");
}
}
private async void OnFacebookClicked(object sender, EventArgs e)
{
if (!await Launcher.TryOpenAsync("fb://facewebmodal/f?href=https://www.facebook.com/RingotanApp"))
{
await Browser.OpenAsync("https://www.facebook.com/RingotanApp");
}
}
我使用這個工具來查找我的數字 Twitter ID。
Facebook 的另一個 URI 選項是"fb://page/1761091624175851"
,其中數字 ID 來自 Facebook 上的 "About --> More Info"。 但是,這個 URI 對我來說很笨拙 - 它會首先在應用程序中正常打開頁面,然后切換到facewebmodal
使用的網絡模式。 我建議不要使用它。
所有這些都在 Android 中進行了測試。 我沒有要測試的 iOS,但它大概也可以在那里工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.