因为我将要开始一个新的Xamarin项目,我想集成格子客户端与该项目。客户需要建立该项目与Xamarin表单(iOS和Android)。你能给我一些教程或文档,可以参考在Xamarin表单(iOS和Android)集成格子。
gkn4icbw1#
我们需要更改iOS项目中的info.plist和assemblyInfo.cs类。对于iOS,您需要在info.plist文件的NSAppTransportSecurity字典中将NSAllowsArbitaryLoads键添加为YES。
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
iOS 13中已弃用@ UIWebview。因此,您需要使用wkwebview而不是webview。将以下代码添加到应用程序的iOS平台项目中的AssemblyInfo.cs文件
// Opt-in to using WkWebView instead of UIWebView. [assembly: ExportRenderer(typeof(WebView), typeof(Xamarin.Forms.Platform.iOS.WkWebViewRenderer))]
在你的页面/UI中添加web视图并命名为“webView”。在后面的代码中,添加以下代码。
using System; using System.Diagnostics; using System.Web; using Foundation; using Xamarin.Forms; namespace PlaidLinkXamarinForms { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); var publickey = "YOUR_PUBLIC_KEY"; var env = "Sandbox"; //development, production var product = "auth"; //transactions, auth, identity, income, assets, investments, liabilities var clientName = "PlaidLinkXamarinForms" var url = "https://cdn.plaid.com/link/v2/stable/link.html?isWebview=true&key=" + publickey + "&env=" + env + "&product=" + product + "&selectAccount=true&clientName=" + clientName + "&isMobile=true"; webView.Source = url; webView.Navigating += async (sender, e) => { if (e.Url.ToLower().Contains("plaidlink:")) { e.Cancel = true; } else { e.Cancel = false; } var linkScheme = "plaidlink"; var scheme = new Uri(e.Url); var param = HttpUtility.ParseQueryString(e.Url); var actionScheme = scheme.Scheme; var actionType = scheme.Host; if(actionScheme == linkScheme) { switch (actionType) { case "connected": Debug.WriteLine("Successfully Connected"); break; case "exit": Debug.WriteLine("Exit"); break; case "event": Debug.WriteLine($"Event name: {param["event_name"]}"); break; default: Debug.WriteLine($"Link action detected: {actionType}"); break; } } }; } } }
在此之前,你应该配置你的帐户格子网站。在那里你会得到一些关键,你必须添加到上述代码。
1条答案
按热度按时间gkn4icbw1#
我们需要更改iOS项目中的info.plist和assemblyInfo.cs类。
对于iOS,您需要在info.plist文件的NSAppTransportSecurity字典中将NSAllowsArbitaryLoads键添加为YES。
iOS 13中已弃用@ UIWebview。因此,您需要使用wkwebview而不是webview。将以下代码添加到应用程序的iOS平台项目中的AssemblyInfo.cs文件
在你的页面/UI中添加web视图并命名为“webView”。在后面的代码中,添加以下代码。
在此之前,你应该配置你的帐户格子网站。在那里你会得到一些关键,你必须添加到上述代码。