Adobe Experience Platform Assurance
This extension enables capabilities for Project Griffon.
Project Griffon is a beta product. To use it, you must accept the terms on https://experience.adobe.com/griffon.
To get started with Project Griffon in your app, you'll need to:
  1. 1.
    Install the AEP Assurance extension in Experience Platform Launch
  2. 2.
    Add AEP Assurance SDK extension library to your app
    1. 1.
      Import AEP Assurance into your app
    2. 2.
      Register and implement extension APIs

Install the AEP Assurance extension in Experience Platform Launch

Follow these steps to add the install the extension in Experience Platform Launch:
  1. 1.
    In Experience Platform Launch, click the Extensions tab.
  2. 2.
    On the Catalog tab, locate the AEP Assurance extension, and click Install.
  3. 3.
    Follow the publishing process to update SDK configuration.

Add AEPAssurance to your app

Import the library to your app code

Android
iOS
React Native
Flutter
Cordova
Unity
Xamarin
Java
  1. 1.
    Add the following libraries in your project's build.gradle file:
    1
    implementation 'com.adobe.marketing.mobile:core:1+'
    2
    implementation 'com.adobe.marketing.mobile:assurance:1+'
    Copied!
  2. 2.
    Import the Project Griffon libraries with the other SDK libraries:
    1
    import com.adobe.marketing.mobile.Assurance;
    2
    import com.adobe.marketing.mobile.MobileCore;
    Copied!
Add the library to your project via your Cocoapods Podfile
1
pod 'ACPCore'
2
pod 'AEPAssurance'
Copied!
Import the Project Griffon libraries along with other SDK libraries:

Objective-C

1
#import "ACPCore.h"
2
#import "AEPAssurance.h" // <-- import the AEPAssurance library
Copied!

Swift

1
import ACPCore
2
import AEPAssurance // <-- import the AEPAssurance library
Copied!

React Native

  1. 1.
    Install AEP Assurance.
    1
    npm install @adobe/react-native-aepassurance
    Copied!
    1.1 Link
    • React Native 0.60+
CLI autolink feature links the module while building the app.
  • React Native <= 0.59
1
react-native link @adobe/react-native-aepassurance
Copied!
Note For iOS using cocoapods, run:
1
cd ios/ && pod install
Copied!
  1. 1.
    Import the extension.
    1
    import {AEPAssurance} from '@adobe/react-native-aepassurance';
    Copied!
  2. 2.
    Get the extension version.
    1
    AEPAssurance.extensionVersion().then(version => console.log("AdobeExperienceSDK: AEPAssurance version: " + version));
    Copied!

Flutter

  1. 1.
    Install AEP Assurance.
    Flutter install instructions for AEP Assurance can be found here.
  2. 2.
    Import the extension.
    1
    import 'package:flutter_assurance/flutter_assurance.dart';
    Copied!
  3. 3.
    Get the extension version.
    1
    String version = await FlutterAEPAssurance.extensionVersion;
    Copied!

Cordova

  1. 1.
    After creating your Cordova app and adding the Android and iOS platforms, the AEPAssurance extension for Cordova can be added with this command:
    1
    cordova plugin add https://github.com/adobe/cordova-aepassurance.git
    Copied!
  2. 2.
    Get the extension version.
    1
    AEPAssurance.extensionVersion(function(version) {
    2
    console.log("AEPAssurance version: " + version);
    3
    }, function(error) {
    4
    console.log(error);
    5
    });
    Copied!

C#

  1. 1.
    After importing the AEPAssurance.unitypackage, the AEP Assurance extension for Unity can be added with the following code in the MainScript:
    1
    using com.adobe.marketing.mobile;
    Copied!
  2. 2.
    Get the extension version.
    1
    AEPAssurance.extensionVersion();
    Copied!

C#

  1. 1.
    After adding the iOS or Android AEP Assurance NuGet package, the Assurance extension can be added by this import statement:
    1
    using Com.Adobe.Marketing.Mobile;
    Copied!
  2. 2.
    Get the extension version.
    1
    AEPAssurance.ExtensionVersion();
    Copied!

Register AEPAssurance with Mobile Core

Android
iOS
React Native
Flutter
Cordova
Unity
Xamarin
Registering the extension with Core, sends Experience Platform SDK events to an active Project Griffon session. To start using the extension library, you must first register the extension with the Mobile Core extension.

Java

  1. 1.
    Register the extension when you register other extensions.
    1
    public class MobileApp extends Application {
    2
    @Override
    3
    public void onCreate() {
    4
    super.onCreate();
    5
    MobileCore.setApplication(this);
    6
    MobileCore.configureWithAppId("yourAppId");
    7
    try {
    8
    Assurance.registerExtension();
    9
    MobileCore.start(null);
    10
    } catch (Exception e) {
    11
    // Log the exception
    12
    }
    13
    }
    14
    }
    Copied!
Registering the extension with Core sends Experience Platform SDK events to an active Project Griffon session. To start using the extension library, you must first register the extension with the Mobile Core extension.

Objective-C

1
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
2
[ACPCore configureWithAppId:@"yourAppId"];
3
[AEPAssurance registerExtension]; // <-- register AEPAssurance with Core
4
[ACPCore start:nil];
5
// Override point for customization after application launch.
6
return YES;
7
}
Copied!

Swift

1
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
2
ACPCore.configure(withAppId: "yourAppId")
3
AEPAssurance.registerExtension() // <-- register AEPAssurance with Core
4
ACPCore.start(nil)
5
// Override point for customization after application launch.
6
return true;
7
}
Copied!

JavaScript

When using React Native, register AEP Assurance with Mobile Core in native code as shown on the Android and iOS tabs.

Dart

When using Flutter, register AEP Assurance with Mobile Core in native code as shown on the Android and iOS tabs.

Cordova

When using Cordova, register AEP Assurance with Mobile Core in native code as shown on the Android and iOS tabs.

C#

Register the extension in the start() function:
1
using com.adobe.marketing.mobile;
2
using using AOT;
3
4
public class MainScript : MonoBehaviour
5
{
6
[MonoPInvokeCallback(typeof(AdobeStartCallback))]
7
public static void HandleStartAdobeCallback()
8
{
9
ACPCore.ConfigureWithAppID("yourAppId");
10
}
11
12
// Start is called before the first frame update
13
void Start()
14
{
15
AEPAssurance.registerExtension();
16
ACPCore.Start(HandleStartAdobeCallback);
17
}
18
}
Copied!
iOS
Register the AEPAssurance extension in your app's FinishedLaunching() function:
1
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
2
{
3
global::Xamarin.Forms.Forms.Init();
4
LoadApplication(new App());
5
AEPAssurance.RegisterExtension();
6
// start core
7
ACPCore.Start(startCallback);
8
return base.FinishedLaunching(app, options);
9
}
10
11
private void startCallback()
12
{
13
// set launch config
14
ACPCore.ConfigureWithAppID("yourAppId");
15
}
Copied!
Android
Register the AEPAssurance extension in your app's OnCreate() function:
1
protected override void OnCreate(Bundle savedInstanceState)
2
{
3
base.OnCreate(savedInstanceState);
4
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
5
LoadApplication(new App());
6
AEPAssurance.RegisterExtension();
7
8
// start core
9
ACPCore.Start(new CoreStartCompletionCallback());
10
}
11
12
class CoreStartCompletionCallback : Java.Lang.Object, IAdobeCallback
13
{
14
public void Call(Java.Lang.Object callback)
15
{
16
// set launch config
17
ACPCore.ConfigureWithAppID("yourAppId");
18
}
19
}
Copied!

Implement AEP Assurance session start APIs (iOS only)

The startSession API needs to be called to begin a Project Griffon session. When called, SDK displays a PIN authentication overlay to begin a session.
You may call this API when the app launches with a url (see code snippet below for sample usage)
iOS

startSession

Objective-C

Syntax

1
+ (void) startSession: (NSURL* _Nonnull) url;
Copied!

Example

1
- (BOOL)application:(UIApplication *)app openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
2
[AEPAssurance startSession:url];
3
return true;
4
}
Copied!
In iOS 13 and later, for a scene-based application, use the UISceneDelegate's scene(_:openURLContexts:) method as follows:
1
- (void) scene:(UIScene *)scene openURLContexts:(NSSet<UIOpenURLContext *> *)URLContexts {
2
UIOpenURLContext * urlContext = URLContexts.anyObject;
3
if (urlContext != nil) {
4
[AEPAssurance startSession:urlContext.URL];
5
}
6
}
Copied!

Swift

Example

1
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
2
AEPAssurance.startSession(url)
3
return true
4
}
Copied!
In iOS 13 and later, for a scene-based application, use the UISceneDelegate's scene(_:openURLContexts:) method as follows:
1
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
2
AEPAssurance.startSession((URLContexts.first!).url)
3
}
Copied!
Last modified 3mo ago