public static DynamicLink.IosParameters ToNative(this iOSParameters @this) { return(new DynamicLink.IosParameters.Builder(@this.BundleId) .SetAppStoreId(@this.AppStoreId) .SetFallbackUrl(@this.FallbackUrl == null ? null : Uri.Parse(@this.FallbackUrl)) .SetCustomScheme(@this.CustomScheme) .SetIpadFallbackUrl(@this.iPadFallbackUrl == null ? null : Uri.Parse(@this.iPadFallbackUrl)) .SetIpadBundleId(@this.iPadBundleId) .SetMinimumVersion(@this.MinimumAppVersion) .Build()); }
public static DynamicLinkiOSParameters ToNative(this iOSParameters @this) { var parameters = new DynamicLinkiOSParameters(@this.BundleId); parameters.AppStoreId = @this.AppStoreId; parameters.FallbackUrl = @this.FallbackUrl == null ? null : NSUrl.FromString(@this.FallbackUrl); parameters.CustomScheme = @this.CustomScheme; parameters.IPadFallbackUrl = @this.iPadFallbackUrl == null ? null : NSUrl.FromString(@this.iPadFallbackUrl); parameters.IPadBundleId = @this.iPadBundleId; parameters.MinimumAppVersion = @this.MinimumAppVersion; return(parameters); }
public void builds_long_dynamic_link() { var sut = CrossFirebaseDynamicLinks.Current; var iOSParameters = new iOSParameters( bundleId: "com.example.ios", appStoreId: "123456789", minimumAppVersion: "1.2.3"); var androidParameters = new AndroidParameters( packageName: "com.example.android", minimumVersion: 123); var googleAnalyticsParameters = new GoogleAnalyticsParameters( source: "orkut", medium: "social", campaign: "example-promo"); var itunesConnectAnalyticsParameters = new iTunesConnectAnalyticsParameters( providerToken: "123456", campaignToken: "example-promo"); var socialMetaTagParameters = new SocialMetaTagParameters( title: "Example of dynamic link", descriptionText: "This link works whether the app is installed or not!", imageUrl: "https://www.example.com/my-image.jpg"); var dynamicLink = sut .CreateDynamicLink() .SetLink("https://www.example.com/my-page") .SetDomainUriPrefix("https://example.com/link") .SetiOSParameters(iOSParameters) .SetAndroidParameters(androidParameters) .SetGoogleAnalyticsParameters(googleAnalyticsParameters) .SetiTunesConnectAnalyticsParameters(itunesConnectAnalyticsParameters) .SetSocialMetaTagParameters(socialMetaTagParameters) .BuildDynamicLink(); Assert.Equal( DeviceInfo.Platform == DevicePlatform.iOS ? "https://example.com/link/?ibi=com.example.ios&utm_source=orkut&st=Example%20of%20dynamic%20link&amv=123&ct=example-promo&utm_medium=social&link=https:%2F%2Fwww.example.com%2Fmy-page&imv=1.2.3&utm_campaign=example-promo&isi=123456789&pt=123456&sd=This%20link%20works%20whether%20the%20app%20is%20installed%20or%20not!&si=https:%2F%2Fwww.example.com%2Fmy-image.jpg&apn=com.example.android" : "https://example.com/link?utm_campaign=example-promo&ct=example-promo&pt=123456&sd=This%20link%20works%20whether%20the%20app%20is%20installed%20or%20not!&si=https%3A%2F%2Fwww.example.com%2Fmy-image.jpg&st=Example%20of%20dynamic%20link&amv=123&apn=com.example.android&ibi=com.example.ios&imv=1.2.3&isi=123456789&link=https%3A%2F%2Fwww.example.com%2Fmy-page&utm_medium=social&utm_source=orkut", dynamicLink.AbsoluteUri); }
public IDynamicLinkBuilder SetiOSParameters(iOSParameters parameters) { _iOSParameters = parameters; return(this); }
public IDynamicLinkBuilder SetiOSParameters(iOSParameters parameters) { _builder.SetIosParameters(parameters.ToNative()); return(this); }