Signal
The Signal extension allows marketers to send a "signal" to their apps through the Adobe Experience Platform Mobile SDKs. This signal might tell the Mobile SDKs or the apps to complete tasks, such as send PII-labeled data, to trigger a postback to a third-party ad-network and open an app deep link or URL. To ensure that signals are sent or are activated, the marketers need to configure triggers and traits in the Data Collection UI.
The Signal extension allows you to send postbacks to third-party endpoints and open URLs, such as web URLs or application deep links, when using rules actions in the Data Collection UI.
To send PII data to external destinations, the PII action can trigger the Rules Engine when certain triggers and traits match. When setting a rule, you can also set the PII action for a Signal event. The collectPii API can then be used to trigger the rule and send the PII data to a remote server.
To get started with Signal extension, complete the following steps:
- Add the Signal extension to your app.
- Define the necessary rules in the Data Collection UI.
- (Optional) When using Send PII actions in the Data Collection UI, implement the APIs to collect PII data and send it to the configured third party destination.
For more information about creating and configuring a rule in the Data Collection UI, see Rules.
Add the Signal extension to your app
Include Signal extension as an app dependency
Add MobileCore and Signal extensions as dependencies to your project.
Android Kotlin
Add the required dependencies to your project by including them in the app's Gradle file.
implementation(platform("com.adobe.marketing.mobile:sdk-bom:3.+"))
implementation("com.adobe.marketing.mobile:core")
implementation("com.adobe.marketing.mobile:signal")
data-variant=warning
data-slots=text
Android Groovy
Add the required dependencies to your project by including them in the app's Gradle file.
implementation platform('com.adobe.marketing.mobile:sdk-bom:3.+')
implementation 'com.adobe.marketing.mobile:core'
implementation 'com.adobe.marketing.mobile:signal'
data-variant=warning
data-slots=text
iOS CocoaPods
Add the required dependencies to your project using CocoaPods. Add following pods in your Podfile:
use_frameworks!
target 'YourTargetApp' do
pod 'AEPCore','~> 5.0'
pod 'AEPSignal','~> 5.0'
end
Initialize Adobe Experience Platform SDK with Signal Extension
Next, initialize the SDK by registering all the solution extensions that have been added as dependencies to your project with Mobile Core. For detailed instructions, refer to the initialization section of the getting started page.
Using the MobileCore.initialize API to initialize the Adobe Experience Platform Mobile SDK simplifies the process by automatically registering solution extensions and enabling lifecycle tracking.
Android Kotlin
data-variant=warning
data-slots=text
import com.adobe.marketing.mobile.LoggingMode
import com.adobe.marketing.mobile.MobileCore
...
import android.app.Application
...
class MainApp : Application() {
override fun onCreate() {
super.onCreate()
MobileCore.setLogLevel(LoggingMode.DEBUG)
MobileCore.initialize(this, "ENVIRONMENT_ID")
}
}
Android Java
data-variant=warning
data-slots=text
import com.adobe.marketing.mobile.LoggingMode;
import com.adobe.marketing.mobile.MobileCore;
...
import android.app.Application;
...
public class MainApp extends Application {
@Override
public void onCreate(){
super.onCreate();
MobileCore.setLogLevel(LoggingMode.DEBUG);
MobileCore.initialize(this, "ENVIRONMENT_ID");
}
}
iOS Swift
data-variant=warning
data-slots=text
// AppDelegate.swift
import AEPCore
import AEPServices
...
final class AppDelegate: NSObject, UIApplicationDelegate {
func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
MobileCore.setLogLevel(.debug)
MobileCore.initialize(appId: "ENVIRONMENT_ID")
...
}
}
iOS Objective-C
data-variant=warning
data-slots=text
// AppDelegate.m
#import "AppDelegate.h"
@import AEPCore;
@import AEPServices;
...
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[AEPMobileCore setLogLevel: AEPLogLevelDebug];
[AEPMobileCore initializeWithAppId:@"ENVIRONMENT_ID" completion:^{
NSLog(@"AEP Mobile SDK is initialized");
}];
...
return YES;
}
@end
Implement the Mobile SDK to send PII data to external destinations
To send PII data to external destinations, the PII action can trigger the Rules Engine when the configured triggers and traits match. When creating a rule, you can set the PII action for a Signal event, so that collectPii can trigger the rule and send the PII data.
For more information about collectPii and its usage, see collectPii.
For more information about how to configure the Signal postbacks in the Data Collection UI, see Signal extension and Rules Engine integration.