簡體   English   中英

如何在 Xamarin 中從我的 iOS 應用程序打開 Facebook / Twitter 應用程序?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM