123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /*
- * Copyright (c) 2014, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
- #import <Foundation/Foundation.h>
- @class BFAppLink;
- /*!
- Provides a set of utilities for working with NSURLs, such as parsing of query parameters
- and handling for App Link requests.
- */
- @interface BFURL : NSObject
- /*!
- Creates a link target from a raw URL.
- On success, this posts the BFAppLinkParseEventName measurement event. If you are constructing the BFURL within your application delegate's
- application:openURL:sourceApplication:annotation:, you should instead use URLWithInboundURL:sourceApplication:
- to support better BFMeasurementEvent notifications
- @param url The instance of `NSURL` to create BFURL from.
- */
- + (BFURL *)URLWithURL:(NSURL *)url;
- /*!
- Creates a link target from a raw URL received from an external application. This is typically called from the app delegate's
- application:openURL:sourceApplication:annotation: and will post the BFAppLinkNavigateInEventName measurement event.
- @param url The instance of `NSURL` to create BFURL from.
- @param sourceApplication the bundle ID of the app that is requesting your app to open the URL. The same sourceApplication in application:openURL:sourceApplication:annotation:
- */
- + (BFURL *)URLWithInboundURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication;
- /*!
- Gets the target URL. If the link is an App Link, this is the target of the App Link.
- Otherwise, it is the url that created the target.
- */
- @property (nonatomic, strong, readonly) NSURL *targetURL;
- /*!
- Gets the query parameters for the target, parsed into an NSDictionary.
- */
- @property (nonatomic, strong, readonly) NSDictionary *targetQueryParameters;
- /*!
- If this link target is an App Link, this is the data found in al_applink_data.
- Otherwise, it is nil.
- */
- @property (nonatomic, strong, readonly) NSDictionary *appLinkData;
- /*!
- If this link target is an App Link, this is the data found in extras.
- */
- @property (nonatomic, strong, readonly) NSDictionary *appLinkExtras;
- /*!
- The App Link indicating how to navigate back to the referer app, if any.
- */
- @property (nonatomic, strong, readonly) BFAppLink *appLinkReferer;
- /*!
- The URL that was used to create this BFURL.
- */
- @property (nonatomic, strong, readonly) NSURL *inputURL;
- /*!
- The query parameters of the inputURL, parsed into an NSDictionary.
- */
- @property (nonatomic, strong, readonly) NSDictionary *inputQueryParameters;
- @end
|