@adobe/react-native-aepedgebridge
is a wrapper around the iOS and Android Adobe Experience Platform Edge Bridge to allow for integration with React Native applications.
The Edge Bridge mobile extension provides seamless routing of data to the Adobe Experience Platform Edge Network for existing SDK implementations. For applications which already make use of the MobileCore.trackAction and/or MobileCore.trackState APIs to send data to Adobe Analytics, this extension will automatically route those API calls to the Edge Network, making the data available for mapping to a user's XDM schema using the Data Prep for Data Collection.
[!IMPORTANT] Edge Bridge serves primarily as a migration aid for applications that are already using Adobe Analytics within their implementation.
For new applications being developed with the Adobe Experience Platform Mobile SDKs, it is strongly recommended to use the
Edge.sendEvent
API of the Edge Network extension.
The Edge Bridge extension has the following peer dependencies, which must be installed prior to installing the Edge Bridge extension:
See Requirements and Installation instructions on the main page
Install the @adobe/react-native-aepedgebridge
package:
cd MyReactApp
npm install @adobe/react-native-aepedgebridge
Install the Adobe Experience Platform Edge Network extension in your mobile property and configure the default Datastream ID by following the steps in the Edge Network extension documentation.
Note
Experience Platform Edge Bridge does not have a corresponding extension card in the Data Collection UI; no changes to a Data Collection mobile property are required to use Edge Bridge.
Then register the Edge Bridge extension with the Mobile Core. Note that initializing the SDK should be done in native code, additional documentation on how to initialize the SDK can be found here.
Initialization Example
iOS
// AppDelegate.h
@import AEPCore;
@import AEPEdge;
@import AEPEdgeIdentity;
@import AEPEdgeBridge;
...
@implementation AppDelegate
// AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// TODO: Set up the preferred Environment File ID from your mobile property configured in Data Collection UI
NSString* ENVIRONMENT_FILE_ID = @"YOUR-APP-ID";
NSArray *extensionsToRegister = @[AEPMobileEdgeIdentity.class,
AEPMobileEdge.class,
AEPMobileEdgeBridge.class
];
[AEPMobileCore registerExtensions:extensionsToRegister completion:^{
[AEPMobileCore configureWithAppId: ENVIRONMENT_FILE_ID];
...
}];
return YES;
}
@end
Android
import com.adobe.marketing.mobile.MobileCore;
import com.adobe.marketing.mobile.Edge;
import com.adobe.marketing.mobile.edge.identity.Identity;
import com.adobe.marketing.mobile.edge.bridge.EdgeBridge
...
import android.app.Application;
...
public class MainApplication extends Application implements ReactApplication {
...
// TODO: Set up the preferred Environment File ID from your mobile property configured in Data Collection UI
private final String ENVIRONMENT_FILE_ID = "YOUR-APP-ID";
@Override
public void on Create(){
super.onCreate();
...
MobileCore.setApplication(this);
MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID);
MobileCore.registerExtensions(
Arrays.asList(Identity.EXTENSION, Edge.EXTENSION, EdgeBridge.EXTENSION),
o -> Log.d("MainApp", "Adobe Experience Platform Mobile SDK was initialized")
);
}
}
In your React Native application, import the Edge Bridge extension as follows:
import {EdgeBridge} from '@adobe/react-native-aepedgebridge';
For tutorials on implementing Edge Bridge and Data Prep mapping, refer to the Edge Bridge tutorials.
Validating Edge Bridge events through Edge workflow using the Event Transations view or Analytics Events 2.0 view in Assurance.
Returns the version of the client-side Edge Bridge extension.
Syntax
extensionVersion(): Promise<string>
Example
EdgeBridge.extensionVersion().then(version => console.log("AdobeExperienceSDK: Edge Bridge version: " + version));