Install the Airbridge Flutter SDK and implement the necessary settings following the steps below.
The Airbridge Flutter SDK can be installed using the method below. After installation, you can verify whether the SDK has been properly installed through testing.
1. Add the following code to the dependencies block in the pubspec.yaml file.
dependencies: # Replace $HERE_LATEST_VERSION with latest version # - Versions: https://pub.dev/packages/airbridge_flutter_sdk/versions # - Example: airbridge_flutter_sdk: 0.0.0 airbridge_flutter_sdk: $HERE_LATEST_VERSION2. Open Terminal at the root directory of the project and run the following command.
Note that the Airbridge Flutter SDK only works for Flutter versions 1.20.0 or later and Dart versions 2.12.0 or later.
flutter pub getNote
Install only one version of the SDK, either the general SDK or the restricted SDK.
Depending on policies and environments, restrictions on collecting device IDs like GAID and IDFA may be required. When installing the Restricted SDK version, the device IDs are not collected.
Install the Restricted SDK using the method below.
1. Add the following code to the dependencies block in the pubspec.yaml file.
dependencies: # Replace $HERE_LATEST_VERSION with latest version # - Versions: https://pub.dev/packages/airbridge_flutter_sdk/versions # - Example: airbridge_flutter_sdk: 0.0.0 airbridge_flutter_sdk_restricted: $HERE_LATEST_VERSION2. Open Terminal at the root directory of the project and run the following command.
flutter pub getThe initialization methods for iOS and Android are different. Refer to the methods described below.
Note that the YOUR_APP_NAME and YOUR_APP_SDK_TOKEN can be found on the [Settings]>[Tokens] page in the Airbridge dashboard.
Add the following code to the AppDelegate class file in the iOS module of the project.
import airbridge_flutter_sdk override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { AirbridgeFlutter.initializeSDK(name: "YOUR_APP_NAME", token: "YOUR_APP_SDK_TOKEN")}#import <airbridge_flutter_sdk/AirbridgeFlutter.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [AirbridgeFlutter initializeSDKWithName:@"YOUR_APP_NAME" token:@"YOUR_APP_SDK_TOKEN"];}import airbridge_flutter_sdk override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { AirbridgeFlutter.initializeSDK(name: "YOUR_APP_NAME", token: "YOUR_APP_SDK_TOKEN")}#import <airbridge_flutter_sdk/AirbridgeFlutter.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [AirbridgeFlutter initializeSDKWithName:@"YOUR_APP_NAME" token:@"YOUR_APP_SDK_TOKEN"];}If an application class is not defined in the Android module of the project, create one.
Add the following code to the android/app/src/main/java/.../MainApplication.kt file.
import co.ab180.airbridge.flutter.AirbridgeFlutterimport android.app.Application class MainApplication: Application() { override fun onCreate() { super.onCreate() AirbridgeFlutter.initializeSDK(this, "YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN") }}import co.ab180.airbridge.flutter.AirbridgeFlutter;import android.app.Application; public class MainApplication extends Application { @Override public void onCreate() { super.onCreate(); AirbridgeFlutter.initializeSDK(this, "YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN"); }}import co.ab180.airbridge.flutter.AirbridgeFlutterimport android.app.Application class MainApplication: Application() { override fun onCreate() { super.onCreate() AirbridgeFlutter.initializeSDK(this, "YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN") }}Register the application class created earlier in the AndroidManifest.xml file of the Android module of the project as follows.
<application android:name=".MainApplication" ...> ...</application>Attention
When issues arise due to Airbridge SDK backup rule merge conflicts, please refer to the backup rule configuration in the troubleshooting guide.
Configure the SDK settings to use the Airbridge Flutter SDK.
{ "autoDetermineTrackingAuthorizationTimeoutInSecond": number, "isHandleAirbridgeDeeplinkOnly" : boolean}Create an airbridge.json file at the top level of the Flutter project folder, input the JSON as above, and configure the SDK settings.
Don't input values for keys that are not necessary for your service.
For detailed guidance on the individual key values, refer to the links listed below.
Note
The functions necessary to ensure compliance with privacy policies should be reviewed with legal counsel.
In the iOS environment, the IDFA can only be collected when users provide consent for data tracking through the App Tracking Transparency (ATT) prompt.
Event collection should be delayed until the user allows tracking. If the install event is collected before the user allows tracking through the ATT prompt, the install event data will lack an identifier, making performance measurement difficult. We recommend setting a sufficient delay time for event collection to collect identifiers.
1. Prepare the text you will use in the ATT prompt.
2. Provide the ATT prompt following this guide provided by Apple.
3. If the install event is not collected, the Airbridge Flutter SDK delays collecting install events for 30 seconds until the user allows tracking each time the app is launched. If the user exits the app before deciding whether to allow tracking, the SDK will not collect the install event and will try again at the next app launch.
In the SDK settings, configure autoDetermineTrackingAuthorizationTimeout to set a sufficient delay time for collecting install events. The default value is 30 seconds, and it can be set to up to 3600 seconds (1 hour).
When using the DeepLink Plan, it is recommended that the
setAutoDetermineTrackingAuthorizationTimeoutparameter be set to 0 seconds when configuring the ATT prompt.As the DeepLink Plan does not support attribution using identifiers, the
setAutoDetermineTrackingAuthorizationTimeoutparameter should be set to 0 seconds to seamlessly redirect users who have already installed the app to the intended in-app location as configured in the deferred deep link.
Deep linking allows you to redirect users from ads to specific locations within your app. The data collected from the tracking link enables you to monitor the performance of the deep link in Airbridge.
When a user clicks on the Airbridge tracking link, the scheme deep link embedded in the tracking link is converted into an Airbridge Deep Link, which can be either an HTTP deep link or a scheme deep link. This Airbridge Deep Link redirects the user to the desired app location. Then, the Airbridge SDK converts the Airbridge Deep Link back to the original scheme deep link embedded in the tracking link and passes it to the app.
Example scheme deep link embedded in the tracking link: YOUR_SCHEME://product/12345
Examples of Airbridge Deep Links
HTTP deep link format 1: https://YOUR_APP_NAME.airbridge.io/~~~
HTTP deep link format 2: https://YOUR_APP_NAME.abr.ge/~~~
Scheme deep link format: YOUR_SCHEME://product/12345?airbridge_referrer=~~~
When the app is installed on the device and the tracking link is clicked, the app opens through the Airbridge Deep Link. The Airbridge SDK converts the Airbridge Deep Link into the scheme deep embedded in the tracking link and passes it to the app.
When the app is not installed on the device and the tracking link is clicked, the Airbridge SDK saves the Airbridge Deep Link. After the user is redirected to the app store or website and the app is installed and launched, the Airbridge SDK converts the saved Airbridge Deep Link into the scheme deep link embedded in the tracking link and passes it to the app.
For the deep linking setup, the deep link information entered to the Airbridge dashboard and the in-app location address for user redirection is required.
First, enter the deep link information into the Airbridge dashboard.
For the deep linking setup, the following information must be entered into the Airbridge dashboard.
iOS URI scheme: The Airbridge Deep Link is converted to a scheme deep link using the iOS URI scheme.
iOS App ID: The universal link domain of the Airbridge Deep Link is set using the iOS App ID.
Android URI scheme: The Airbridge deep link is converted to a scheme deep link using the Android URI scheme. This information is necessary for the App Link and URI scheme.
Package name: This is the Android app identifier necessary for the App Link and URI scheme.
Android sha256_cert_fingerprints: This is used for setting the App Link domain. This information is necessary for the App Link.
Attention
To properly redirect users as intended, submit different information for the production app and the development app.
Follow the steps below to submit the necessary information to the Airbridge dashboard.
1. Navigate to [Tracking Link]>[Deep Links] in the Airbridge dashboard.
2. Enter the iOS URI scheme in the iOS URI Scheme field. Include ://. For example, if the iOS URI scheme is demo, enter demo://.
3. In the Apple Developer Dashboard, navigate to [Identifier] of the app you want to set up the deep link. Find the App ID Prefix and Bundle ID.
4. The iOS App ID is in the format of App ID Prefix+ . + Bundle ID. Enter the iOS App ID into the iOS App ID field. For example, if the App ID Prefix is prefix and the Bundle ID is example, the iOS App ID is prefix.example.
For apps that use Google Play's Play App Signing, Google's servers re-sign the APK after the developer uploads it. This changes the Android sha256_cert_fingerprints, so you must register the final signing value from the Google Play Console—not from your local keystore—for App Links to work correctly. Register the Android URI scheme, package name, and Android sha256_cert_fingerprints in Airbridge according to your signing method.
Naviagate to [Tracking Link]>[Deep Links] in the Airbridge dashboard.
Enter the Android URI scheme into the Android URI Scheme field. Include ://. For example, if the URI scheme is demo, you must enter demo://.
Enter the package name in the Package name field.
Go to the Google Play Console and select your app.
Navigate to [App integrity].
Copy the SHA-256 certificate fingerprint from the App signing key certificate section.
Attention
Make sure to copy from the correct section. This page contains two certificate entries:
App signing key certificate ← Use this value
Upload key certificate ← Do NOT use this value
These are two different values. Registering the upload key certificate will cause App Links to stop working.
Enter the SHA256 value into the sha256_cert_fingerprints field.
Naviagate to [Tracking Link]>[Deep Links] in the Airbridge dashboard.
Enter the Android URI scheme into the Android URI Scheme field. Include ://. For example, if the URI scheme is demo, you must enter demo://.
Enter the package name in the Package name field.
You need to find the sha256_cert_fingerprints. Run the following command from the keystore file you are deploying.
keytool -J-Duser.language=en -list -v -keystore YOUR_KEYSTORE.keystoreFind the SHA256 value in the results. The SHA256 value is the sha256_cert_fingerprints.
Certificate fingerprints: MD5: 4C:65:04:52:F0:3F:F8:65:08:D3:71:86:FC:EF:C3:49 SHA1: C8:BF:B7:B8:94:EA:5D:9D:38:59:FE:99:63:ED:47:B2:D9:5A:4E:CC SHA256: B5:EF:4D:F9:DC:95:E6:9B:F3:9A:5E:E9:D6:E0:D8:F6:7B:AB:79:C8:78:67:34:D9:A7:01:AB:6A:86:01:0E:99Enter the SHA256 value into the sha256_cert_fingerprints field.
Naviagate to [Tracking Link]>[Deep Links] in the Airbridge dashboard.
Enter the Android URI scheme into the Android URI Scheme field. Include ://. For example, if the URI scheme is demo, you must enter demo://.
Enter the package name in the Package name field.
Go to the Google Play Console and select your app.
Navigate to [App integrity].
Copy the SHA-256 certificate fingerprint from the App signing key certificate section.
Attention
Make sure to copy from the correct section. This page contains two certificate entries:
App signing key certificate ← Use this value
Upload key certificate ← Do NOT use this value
These are two different values. Registering the upload key certificate will cause App Links to stop working.
Enter the SHA256 value into the sha256_cert_fingerprints field.
Naviagate to [Tracking Link]>[Deep Links] in the Airbridge dashboard.
Enter the Android URI scheme into the Android URI Scheme field. Include ://. For example, if the URI scheme is demo, you must enter demo://.
Enter the package name in the Package name field.
You need to find the sha256_cert_fingerprints. Run the following command from the keystore file you are deploying.
keytool -J-Duser.language=en -list -v -keystore YOUR_KEYSTORE.keystoreFind the SHA256 value in the results. The SHA256 value is the sha256_cert_fingerprints.
Certificate fingerprints: MD5: 4C:65:04:52:F0:3F:F8:65:08:D3:71:86:FC:EF:C3:49 SHA1: C8:BF:B7:B8:94:EA:5D:9D:38:59:FE:99:63:ED:47:B2:D9:5A:4E:CC SHA256: B5:EF:4D:F9:DC:95:E6:9B:F3:9A:5E:E9:D6:E0:D8:F6:7B:AB:79:C8:78:67:34:D9:A7:01:AB:6A:86:01:0E:99Enter the SHA256 value into the sha256_cert_fingerprints field.
After entering the deep link information into the Airbridge dashboard, an additional setup is required to enable the following.
App launch with Airbridge deep links
Airbridge deep link event collection
User redirection with Airbridge deep links
For detailed instructions, refer to the information below.
Perform the following setup to enable app launch with Airbridge Deep Links after the user clicks on a tracking link.
1. For the scheme deep link setup, navigate to [YOUR_PROJECT]>[Info]>[URL Types] in Xcode.
2. Click + and enter the iOS URI scheme you submitted to the Airbridge dashboard into the URL Schemes field.
Attention
When entering the iOS URL scheme, exclude
://.
3. For the Universal Link setup, navigate to [YOUR_PROJECT]>[Signing & Capabilities] in Xcode.
4. Click + Capability to add Associated Domains.
5. Add applinks:YOUR_APP_NAME.airbridge.io and applinks:YOUR_APP_NAME.abr.ge to Associated Domains.
YOUR_APP_NAME is the App Name.
Attention
If you are using or plan to use the Password AutoFill feature, you must add the Webcredentials domain. A situation may arise where the domain of the password saved through the Password AutoFill feature appears as airbridge.io or abr.ge to your app users.
Refer to this article for more details.
1. For the scheme deep link setup, add an intent filter to the Activity that handles deep links in the AndroidManifest.xml.
The intent filter you add must use the Android URI Scheme you submitted to the Airbridge dashboard.
<activity ...> ... <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="YOUR_SCHEME" /> </intent-filter> ...</activity>Attention
Always use separate
<intent-filter>tags. If you add all<data>tags to a single<intent-filter>tag, deep links may not open your app properly.
2. For the App Links setup, add an intent filter under the Activity that handles the deep link in the AndroidManifest.xml.
YOUR_APP_NAME is the App Name.
<activity ...> ... <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="http" android:host="YOUR_APP_NAME.abr.ge" /> <data android:scheme="https" android:host="YOUR_APP_NAME.abr.ge" /> </intent-filter> <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="http" android:host="YOUR_APP_NAME.airbridge.io" /> <data android:scheme="https" android:host="YOUR_APP_NAME.airbridge.io" /> </intent-filter> ...</activity>Attention
Always use separate
<intent-filter>tags. If you add all<data>tags to a single<intent-filter>tag, deep links may not open your app properly.
To pass the deep link events to the Airbridge SDK, the Airbridge.trackDeeplink function should be called at the top of the OS callback triggered when the app is opened through a deep link.
Add the following code to the ios/YOUR_PROJECT_NAME/AppDelegate.swift file.
import airbridge_flutter_sdk...// when app is opened with scheme deeplinkoverride func application( _ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool { // track deeplink AirbridgeFlutter.trackDeeplink(url: url) return true}...// when app is opened with universal linksoverride func application( _ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { // track deeplink AirbridgeFlutter.trackDeeplink(userActivity: userActivity) return true}#import <airbridge_flutter_sdk/AirbridgeFlutter.h>...// when app is opened with scheme deeplink- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options { // track deeplink [AirbridgeFlutter trackDeeplinkWithUrl:url]; return YES;}...// when app is opened with universal links- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler { // track deeplink [AirbridgeFlutter trackDeeplinkWithUserActivity:userActivity]; return YES;}import airbridge_flutter_sdk...// when app is opened with scheme deeplinkoverride func application( _ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool { // track deeplink AirbridgeFlutter.trackDeeplink(url: url) return true}...// when app is opened with universal linksoverride func application( _ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { // track deeplink AirbridgeFlutter.trackDeeplink(userActivity: userActivity) return true}#import <airbridge_flutter_sdk/AirbridgeFlutter.h>...// when app is opened with scheme deeplink- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options { // track deeplink [AirbridgeFlutter trackDeeplinkWithUrl:url]; return YES;}...// when app is opened with universal links- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler { // track deeplink [AirbridgeFlutter trackDeeplinkWithUserActivity:userActivity]; return YES;}Add the following code to the android/app/src/main/kotlin/.../MainActivity.kt file.
import co.ab180.airbridge.flutter.AirbridgeFlutterimport android.content.Intent...override fun onResume() { super.onResume() AirbridgeFlutter.trackDeeplink(intent)}...override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) setIntent(intent)}import co.ab180.airbridge.flutter.AirbridgeFlutter;import android.content.Intent;...@Overrideprotected void onResume() { super.onResume(); AirbridgeFlutter.trackDeeplink(intent);}...@Overridepublic void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent);}import co.ab180.airbridge.flutter.AirbridgeFlutterimport android.content.Intent...override fun onResume() { super.onResume() AirbridgeFlutter.trackDeeplink(intent)}...override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) setIntent(intent)}When an Airbridge Deep Link is executed, it is converted into a scheme deep link and passed to the OnDeeplinkReceived callback. If a deep link other than an Airbridge Deep Link is executed, the deep link is passed directly to the callback without without being converted.
Use the deep link passed to the callback to redirect the user to the intended destination.
Airbridge.setOnDeeplinkReceived((deeplink) { // show proper content using url});To pass only Airbridge Deep Links to the callback, set isHandleAirbridgeDeeplinkOnly in the SDK settings to true. For more information, refer to this section.
When a user clicks on a tracking link with deferred deep linking capabilities and your app is not installed on the device, the Airbridge SDK retrieves the deep link as follows.
After initialization, the Airbridge SDK attempts to collect a deep link when all of the following conditions are met. When the app is closed before collection, the Airbridge SDK considers it as if there has not been an Airbridge Deep Link.
The Airbridge.startTracking function is called with the opt-in settings in place. Or, opt-in has not been set.
The user's response to the ATT prompt has been determined. Or, the event collection delay time configured regarding the ATT prompt has expired.
Deferred deep links are automatically passed to OnDeeplinkReceived, so no additional setup is required.
The SDK functionality test and deep link test allow you to check whether the SDK and deep linking work as intended.
Follow the instructions below for additional setup.
Attention
Optional settings. Configure only if necessary.
Note
The Airbridge Flutter SDK must be v4.1.2 or later.
The deep links passed through the setOnDeeplinkReceived method of the Airbridge Flutter SDK include not only Airbridge Deep Links but also deep links from other solutions.
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';...Airbridge.setOnDeeplinkReceived((url) { // show proper content using url});By configuring isHandleAirbridgeDeeplinkOnly to true in the SDK settings, only Airbridge Deep Links will be passed to the setOnDeeplinkReceived callback. In this way, you can handle the deep links from other solutions separately from the Airbridge Deep Links.
Attention
Flutter SDK v.4.3.0 or later is required.
Tracking links are links that are embedded in ads for data collection. When users click on the ad, the tracking link is used to pass the touchpoint data to Airbridge, allowing for ad attribution.
Also, users who click on the ad with a tracking link can be redirected to a specific destination.
Use the createTrackingLink function to create tracking links. Refer to the code examples and the parameter details below.
static void createTrackingLink({ required String channel, required Map<String, dynamic>? option, required void Function(AirbridgeTrackingLink) onSuccess, void Function(String)? onFailure})Use the option parameter in the createTrackingLink function to configure tracking link options.
Use the onSuccess callback in the createTrackingLink function to pass the AirbridgeTrackingLink.
/// Holds variable types of tracking-link that move user/// to specific page of app and track click-event.class AirbridgeTrackingLink { /// A tracking-link url contains short mapping-id of option final String shortURL; /// A qrcode image-url of tracking-link final String qrcodeURL;}Refer to the example codes below.
Airbridge.createTrackingLink( channel: "test_channel", option: { AirbridgeTrackingLinkOption.CAMPAIGN: 'test_campaign', AirbridgeTrackingLinkOption.DEEPLINK_URL: 'YOUR_SCHEME://...', AirbridgeTrackingLinkOption.FALLBACK_IOS: 'store', AirbridgeTrackingLinkOption.FALLBACK_ANDROID: 'store', AirbridgeTrackingLinkOption.FALLBACK_DESKTOP: 'https://example.com/' }, onSuccess: (trackingLink) => { // Handling created tracking-link }, onFailure: (error) => { // Handling error })Airbridge.createTrackingLink( channel: "test_channel", option: { AirbridgeTrackingLinkOption.CAMPAIGN: 'test_campaign', AirbridgeTrackingLinkOption.DEEPLINK_URL: 'sample://home', AirbridgeTrackingLinkOption.FALLBACK_IOS: 'https://example.com/', AirbridgeTrackingLinkOption.FALLBACK_ANDROID: 'https://example.com/', AirbridgeTrackingLinkOption.FALLBACK_DESKTOP: 'https://example.com/' }, onSuccess: (trackingLink) => { // Handling created tracking-link }, onFailure: (error) => { // Handling error })Airbridge.createTrackingLink( channel: "test_channel", option: { AirbridgeTrackingLinkOption.CAMPAIGN: 'test_campaign', AirbridgeTrackingLinkOption.FALLBACK_IOS: 'store', AirbridgeTrackingLinkOption.FALLBACK_ANDROID: 'store', AirbridgeTrackingLinkOption.FALLBACK_DESKTOP: 'https://example.com/' }, onSuccess: (trackingLink) => { // Handling created tracking-link }, onFailure: (error) => { // Handling error })Airbridge.createTrackingLink( channel: "test_channel", option: { AirbridgeTrackingLinkOption.CAMPAIGN: 'test_campaign', AirbridgeTrackingLinkOption.FALLBACK_IOS: 'https://example.com/', AirbridgeTrackingLinkOption.FALLBACK_ANDROID: 'https://example.com/', AirbridgeTrackingLinkOption.FALLBACK_DESKTOP: 'https://example.com/' }, onSuccess: (trackingLink) => { // Handling created tracking-link }, onFailure: (error) => { // Handling error })Key Value | Reference |
|---|---|
autoDetermineTrackingAuthorizationTimeoutInSecond | |
isHandleAirbridgeDeeplinkOnly |
Name | Required or Optional | Type | Description |
|---|---|---|---|
channel | Required | String | The ad channel where the tracking link is used |
option | Required | Map<String, dynamic> | Options for creating tracking links |
onSuccess | Required | void Function(AirbridgeTrackingLink) | Success callback |
onFailure | Optional | void Function(String) | Fail callback |
Key | Type | Description |
|---|---|---|
AirbridgeTrackingLinkOption.CAMPAIGN | String | The campaign credited with the winning touchpoint or conversion. |
AirbridgeTrackingLinkOption.AD_GROUP | String | The ad group credited with the winning touchpoint or conversion. |
AirbridgeTrackingLinkOption.AD_CREATIVE | String | The ad creative credited with the winning touchpoint or conversion. |
AirbridgeTrackingLinkOption.CONTENT | String | The content credited with the winning touchpoint or conversion. |
AirbridgeTrackingLinkOption.TERM | String | The search term credited with the winning touchpoint or conversion. |
AirbridgeTrackingLinkOption.SUB_ID | String | The sub publisher that generated the touchpoint. |
AirbridgeTrackingLinkOption.SUB_ID_1 | String | The 1st level sub-sub publisher that generated the touchpoint. |
AirbridgeTrackingLinkOption.SUB_ID_2 | String | The 2nd level sub-sub publisher that generated the touchpoint. |
AirbridgeTrackingLinkOption.SUB_ID_3 | String | The 3rd level sub-sub publisher that generated the touchpoint. |
AirbridgeTrackingLinkOption.DEEPLINK_URL | (Custom Scheme URL String) | Deeplink URL |
AirbridgeTrackingLinkOption.DEEPLINK_STOPOVER | Boolean | Whether to enable the stopover feature of Deeplink |
AirbridgeTrackingLinkOption.FALLBACK_IOS | ("store" | Web URL String) | ios fallback when app is not installed |
AirbridgeTrackingLinkOption.FALLBACK_ANDROID | ("store" | Web URL String) | android fallback when app is not installed |
AirbridgeTrackingLinkOption.FALLBACK_DESKTOP | (Web URL String) | desktop fallback when app is not installed |
AirbridgeTrackingLinkOption.FALLBACK_IOS_STORE_PPID | String | The ppid for the Custom Product Page in the Apple App Store. Enable the custom product page to be shown when landing in the App Store. |
AirbridgeTrackingLinkOption.FALLBACK_ANDROID_STORE_LISTING | String | The Custom Store Listing listing value for the Google Play Store. Enables the display of your custom store listing when landing on the Google Play Store. |
AirbridgeTrackingLinkOption.OGTAG_TITLE | String |
|
AirbridgeTrackingLinkOption.OGTAG_DESCRIPTION | String |
|
AirbridgeTrackingLinkOption.OGTAG_IMAGE_URL | (Web URL String) |
|
AirbridgeTrackingLinkOption.OGTAG_WEBSITE_CRAWL | ("desktop") | A customization of link-preview.. Airbridge crawl og-tag from response of FALLBACK_DESKTOP. |
AirbridgeTrackingLinkOption.CUSTOM_SHORT_ID | String | Configure the short ID of tracking links depending on your campaign or contents. |
AirbridgeTrackingLinkOption.IS_REENGAGEMENT | ("off" | "on_true" | "on_false") | Configure the Re-engagement parameter. The Re-engagement parameter has three options. |
Name | Type | |
|---|---|---|
shortURL | String | The short URL of the tracking link |
qrcodeURL | String | The QR code URL of the tracking link |
このページは役に立ちましたか?