簡體   English   中英

Xamarin(Android / iOS)深度鏈接-通過URL打開應用程序(自定義或不自定義)

[英]Xamarin (Android/iOS) Deep Linking - Opening App via URL (custom or not)

我使用Sharepoint和Office365制作了一個網站,並使用Xamarin制作了一個用於Android和iOS的應用程序。 用戶通過電子郵件接收通知,並附加了我網站上的一些URL。 從移動設備打開這些URL時,我想將其打開到應用程序中,但是在實現該URL時遇到了很多問題。

我知道有兩種打開鏈接的方法,可以使用通用鏈接(iOS)進行深層鏈接-應用程序鏈接(Android)或使用自定義URL方案。

  • 嘗試實施自定義URL方案時,我發現Outlook,Gmail和其他電子郵件應用無法識別什么是自定義鏈接,而是將自定義鏈接顯示為簡單文本,因此在移動設備上不可單擊鏈接。 因此example:// something不能從電子郵件中單擊。 關於如何解決這個問題的任何想法?

  • 嘗試實施Universal Links(iOS)時,您需要將AASA(蘋果應用程序站點關聯)文件上傳到您的域,該文件必須位於域的根目錄或.//known /文件夾。 問題是,使用Sharepoint和Office365建立網絡時,無法將文件放在這些位置。 蘋果公司的支持告訴我,唯一的解決方案是更改網絡,在我看來,這是不可能的。

我僅使用intent-filters通過Android應用程序實現了電子郵件中的打開鏈接。 這項工作正常,但我需要在Android和iOS中打開相同的鏈接。

我可以將鏈接的格式從https://mywebbexample.com更改為myapp://example.com,這是沒有問題的。

對如何進行有任何想法嗎?

謝謝。

從第一個來源很難復制。 這是您在xamarinhelp.com上注冊Uri Scheme的方式 ,有關如何通過url示例創建啟動移動應用的示例:

Device.BeginInvokeOnMainThread(() => {
    Xamarin.Forms.Device.OpenUri(new Uri("skype://555-1111"));
});

自定義方案已通過Gmail等進行了過濾,因此您可以通過以下方式實現此目的:

<a href="my-app://deep-link" href="https://example.com/?link=123" href="my-app://deep-link">Open in app</a>

如果您使用常規https鏈接,請按用戶代理將Android和iOS設備分開,然后使用301或302 HTTP重定向重定向到my-app:// deep-link。 或Android版本(如果其為用戶代理)。 我在工作中正在這樣做,並且效果很好,所以對您來說也應該這樣做嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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