Salesforce iOS Integration

Table of Contents

Overview

The Bluedot SDK integration wrapper for Salesforce Marketing Cloud enables mobile apps to take advantage of the power of the Marketing Cloud and the superior accuracy, Geofence, Geolines™ and BLE Beacon triggering capabilities of the Bluedot SDKs. This documentation describes the steps required to integrate the Bluedot Point iOS SDK and MarketingCloudSDK using the BDSalesforceIntegrationWrapper framework in an iOS App.

BluedotPointSDK-Salesforce integration

This wrapper depends on both Salesforce MarketingCloudSDK and Point iOS SDK. These dependencies are managed by a cocoapod and will be installed after executing pod install command. To integrate it with you project, initialise a pod integration by executing

pod init

Then add the following pod into your Podfile

target 'MyApp' do
 pod 'BluedotPointSDK-Salesforce', '~> 1.0'
end

To install pods just execute pod install command. Once it has been done open your .xcworkspace.

Alternativelly, you can download an SDK manually: https://bluedot.io/wp-content/uploads/wrappers/BDSalesforceIntegrationWrapper.framework.zip This wrapper depends on Point iOS SDK v 1.13.0. A copy of the framework can be downloaded from the Downloads section of your Point Access Dashboard. Salesforce MarketingCloudSDK v5.2.1 can be downloaded from https://github.com/salesforce-marketingcloud/MarketingCloudSDK-iOS/releases/tag/v5.2.1.

To include BDSalesforceIntegrationWrapper in your project, drag all the framework into Embedded Binaries from ‘General’ of the project setting.

Figure 2. BDSalesforceIntegrationWrapper setup

Salesforce iOS MarketingCloudSDK Integration

To integrate MarketingCloudSDK you need to add MarketingCloudSDKConfiguration.json file to your project.

[{
 "name": "production",
 "appid": "__your app id__",
 "accesstoken": "__your access token__",
 "etanalytics": false,
 "pianalytics": false,
 "location": false,
 "inbox": false
 }]

And then add MarketingCloudSDKConfiguration.json to Copy Bundle Resources in your target’s Build Phases settings.

You can find more information here.

Bluedot Point iOS SDK Integration

Requirements

  1. Device and Operating System: all Apple devices running iOS 10.0+ and GPS capability
  2. Operating Environment: Data connection (only authentication and rule download), location services and bluetooth (optional, for Beacon only).
  3. Permissions: Background processing for location services, local notification.

To integrate PointSDK, please refer to the integration steps here.

The Bluedot Salesforce integration wrapper

 

To start the wrapper, the BDPointApiKey needs to be added to the application’ Info.plist.

Then you need to implement both BDPZoneEventReporterDelegate, BDPIntegrationManagerDelegate

BDIntegrationManager.instance.delegate = self;
BDZoneEventReporter.sharedInstance.delegate = self;
#pragma mark BDPZoneEventReporterDelegate

- (void)reportSuccessful
{
    // @"Successful";
}

- (void)reportFailedWithError:(NSError *)error
{
   // NSString *errorMessage = [NSString stringWithFormat:@"Zone event report error: %@", error.localizedDescription];
}

#pragma mark BDPIntegrationWrapperDelegate

- (void)configureMarketingCloudSDKSuccessful
{
    // @"MarketingCloudSDKStarted"; 
}

- (void)authenticatePointSDKSuccessful
{
    // @"PointSDK Started";
}

The the PointSDK needs to be started. We reccomend to start it from the AppDelegate if you want to use enhanced restart mode:

[BDIntegrationManager.instance authenticateMarketingCloudSDK];
[BDIntegrationManager.instance authenticateBDPoint];

GitHub Sample Project

A sample project which demonstrates the integration of JB4A iOS SDK, Bluedot Point iOS SDK using the BDSalesforceIntegrationWrapper is available on GitHub.

Created by Bluedot DevOps on February 24, 2018

Start the discussion