This lab is a quick taste for what Project Griffon can do to relieve you of your mobile implementation pain. Project Griffon is a new product innovation from Adobe that seeks to address data and experience validation use cases. For the purpose of this lab, we will use Project Griffon to:
This lesson focuses on getting the sample application project installed and running within the iPhone Simulator. The lessons here will all build upon this step, if you already have the application loaded into XCode and running, you can skip this step.
In this lesson, we will implement the client-side portion of Project Griffon, which will allow us to connect our application to the Project Griffon UI and inspect SDK events and behaviors. In this excercise, and the subsequent exercises in this lab, we will be adding code to the sample application. The places where code needs to be added have been pre-marked with the excercise step so they can easily be found. Feel free to cut and paste the code, but ensure that each code snippet is pasted into the application between the begin and end lines.
/*************** Begin L782 Exercise 1.1 ***************/
/*************** End L782 Exercise 1.1 *****************/
In this exercise, we will include the two header files necessary to use Project Griffon in an application.
#import "ACPGriffonBridge.h"
In this exercise, we we will initialize the Griffon Bridge Extension for the AEP SDKs - This will allow the inspection and validation of the AEP SDK within your application.
[ACPGriffonBridge registerExtension];
In this exercise, we will implement the passing of deep link URLs into Project Griffon, which will allow it to function within your application.
[ACPGriffonBridge startSession:url];
In this exercise, we will confirm that the previous implementation steps have been completed and that Project Griffon is now functioning within the application.
In this lesson, we will get our first look at the Project Griffon UI, as well as get the application and Project Griffon UI connected to each other.
Open the Chrome browser and navigate to https://griffon.adobe.com .
Login to the Web UI using the provided marketing cloud credentials.
Click the Create Session button in the upper right-hand corner of the Project Griffon UI.
Click the Start button in the resulting wizard.
Enter a session name that is unique to you. You can use your name, or you can use the unique identifier provided with your login information (this is to avoid confusion within the lab, as all attendees will be sharing the same company account).
Enter the base deeplink definition below in the Base URL section. The deeplink will be used to launch the app from a URL and initiate the Project Griffon session.
grifflab://default
Click on the Copy URL button to copy the application deep link for the session we created in the previous exercise. We will use this link to launch the sample application and initiate the Project Griffon session.
This step is only necessary when connecting to an application running in the simulator. When testing on a device you can just scan the QR Code to launch the deeplink automatically.
Switch back to the simulator, and open the Safari browser. If the sample application is still running, you can get back to the main iPhone screen by pressing CMD-Shift-H, or using the Hardware | Home menu item.
Paste the copied deeplink into the URL portion of the Safari browser and hit enter.
Confirm that you want to open the sample application.
When the application launches you should see the Connect to Griffon pin-entry screen.
Enter the pin code from the Project Griffon UI (located under the QR Code in the Create Session Dialog) and press Connect (note: the Connect button will not appear until a 4 digit pin code has been entered).
Verify that the device connected by checking the UI as well finding the Project Griffon icon overlayed on the sample application.
In this lesson, we'll learn how to inspect Adobe Experience Platform events as they flow through Project Griffon, and maybe even find a bug or two.
Browse through the sample application, and watch the events appear within Project Griffon.
We've noticed in our data that there's some weird action names coming in. The tracking for "New Game" seems to read "Newwwwwwwwwwwwwwwww Game"... Maybe a developer fell asleep on their keyboard?
Try clicking the Game button(on the main screen of the sample app) and inspecting the data it generates within Project Griffon.
Switch to Xcode and select the Find | Find in Workspace menu item (or CMD-SHIFT-F).
Search for the incorrect string, you can either cut and paste this from the Project Griffon UI, or simply type in 5 or 6 'w's.
Fix the code to read the correct string (or change it to something better if you want).
What if we wanted to use Project Griffon to track some of our application functionality, purely for debugging and verification reasons? We can! In this lesson we'll see how easy it is.
Open the file GameViewController.m within the Xcode Workspace.
Copy and paste the timer start statement below into GameViewController.m at the appropriate marker (Exercise 5.1-1).
CFAbsoluteTime downloadStartTime = CFAbsoluteTimeGetCurrent();
CFAbsoluteTime totalDownloadTime = CFAbsoluteTimeGetCurrent() - downloadStartTime;
ACPGriffonEvent* griffonDownloadEvent = [[ACPGriffonEvent alloc] initWithVendor:@"com.summit.lab"
type:@"download info"
payload:@{
@"time" : @(totalDownloadTime),
@"size" : @(data.length)
}];
[ACPGriffon sendEvent: griffonDownloadEvent];
Run the sample application by clicking the play button.
Start a new game to trigger our new Griffon Event.
In the Project Griffon UI, validate that your new event "download info" comes through, and see how long the download took.