Integration

To add your app to your dataset in the Personalization UI, do the following.

  1. Log in to the Personalization UI, and choose the desired dataset.

    For an initial integration, we recommend using a non-production dataset.

  2. From the left-hand menu, choose Mobile > Native App Setup.

    If this feature is disabled for your dataset, contact the Personalization support team to enable it.

  3. In the Platform drop-down menu, select iOS.

  4. Enter an App Name.

  5. Enter the Bundle ID from Xcode. To retrieve the Bundle ID from Xcode, select the app Target, the General tab, and look under the first Identity section for Bundle Identifier.

  6. Click Create New App.

Personalization supports two modes of integration:

The Personalization iOS SDK is available as a static vendored XCFramework via CocoaPods version 1.10 and higher. To integrate via CocoaPods, add a dependency on the Evergage pod, as shown in the following example.

Next, proceed to initialize and start the Personalization SDK.

For a manual integration, do the following.

  1. Extract the SDK zip file.
  2. Drag the Evergage.xcframework folder from a Finder window onto the left Project Navigator pane in your Xcode project.
    • In the resulting Add files popup window:
      • Ensure Copy items if needed is checked. Some apps will be unable to build/archive without this step, reporting a not found error.
      • Ensure your app target(s) are checked.
      • Click Finish.
  3. Clean build products and rebuild your app.

Troubleshooting Manual Integrations

If you encounter build problems during manual integration, do the following to troubleshoot.

  • In the Project navigator, click the top/root project/workspace
  • For each applicable app target:
    • Click the app target under Targets
    • Click the General tab and then the Build Settings tab
    • Check the Link Frameworks Automatically setting is YES.
    • Under the General tab and Linked Frameworks and Libraries section, ensure the following have been added:
      • UIKit.framework
      • SystemConfiguration.framework
      • CoreGraphics.framework
      • QuartzCore.framework
      • libz.tbd
      • UserNotifications.framework (can be Optional/weak-linked)

Next, proceed to initialize and start the Personalization SDK.

For sample code in Objective-C and Swift to call in your UIApplicationDelegate -willFinishLaunchingWithOptions implementation to initialize and start the Personalization SDK, see the Evergage class documentation.

You can use other methods in the Evergage class to add information about the user. In the startup example code, setting the [Evergage userId] provides Personalization with the user's authenticated ID. If the user's ID is unknown at startup, you could call this method later to then send the user's ID with subsequent events.

  • To know more about tracking events and actions and sending them to Personalization, see the Tracking Guide.