- 2 Minutes to read
- Print
- DarkLight
Basic Automated Setup
- 2 Minutes to read
- Print
- DarkLight
Goal
This guide explains how to perform a basic automatic integration of the Mapp Cloud iOS SDK into your project. You'll only need to add one method and configure your plist file.
For more advanced manual integrations:
Procedure
Download the iOS SDK
Add the Import Statement
Objective-C
In yourAppDelegate.m
file, add this line:#import <AppoxeeSDK/AppoxeeSDK.h>
Swift
Add the following to your Objective-C bridging header:#import <AppoxeeSDK/AppoxeeSDK.h>
Configure
application:didFinishLaunchingWithOptions
: After importing the SDK, update theapplication:didFinishLaunchingWithOptions:
method inAppDelegate
:Objective-C:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[Appoxee shared] engageAndAutoIntegrateWithLaunchOptions:launchOptions andDelegate:nil with:L3]; return YES; }
Swift:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { Appoxee.shared()?.engageAndAutoIntegrateWithLaunchOptions(launchOptions, andDelegate: nil, with: .L3) return true }
Ensure the
AppoxeeConfig.plist
file is present in the project as this method relies on its configuration.Configuration Details
SDK Key and Data Center
Enter the SDK Key (provided during app configuration).
Set the
is_eu
flag based on your data center location:YES
for the EUNO
for the US
⚠️ Important: Mismatching the flag with your data center environment will result in the following error in Xcode:
[Appoxee Error] Network protocol error with HTTP code: 403
Server Enums
The
with
parameter in the integration method accepts enums for server selection:L3, EMC, or CROC are valid options provided by the account manager.
TEST is for development purposes only and should not be used in production.
Push Notification Permissions
By default, users are prompted for notification permissions at the first app launch.
To delay this and trigger the dialog later, use the
notificationDialog
parameter:
Objective-C:
[[Appoxee shared] engageAndAutoIntegrateWithLaunchOptions:launchOptions andDelegate:nil notificationDialog:NO with:L3];
Swift:
Appoxee.shared()?.engageAndAutoIntegrate(launchOptions: launchOptions, andDelegate: nil, notificationDialog: false, with: .L3)
Create the
AppoxeeConfig.plist
File: Create a file namedAppoxeeConfig.plist
in your project and include the following structure:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>inapp</key> <dict> <key>custom_fields</key> <array> <string>customString</string> <string>customNumber</string> <string>customDate</string> </array> <key>media_timeout</key> <integer>5</integer> </dict> <key>sdk</key> <dict> <key>app_id</key> <string>263177</string> <key>dmc_system_id</key> <integer>55</integer> <key>sdk_key</key> <string>5c59a5b6b52eb2.62524838</string> <key>jamie_url</key> <string>jamie-test.shortest-route.com</string> <key>is_eu</key> <true/> <key>open_landing_page_inside_app</key> <false/> </dict> </dict> </plist>
Using Cocoapods (Optional)
Add the following to your
Podfile
:target 'YourApp' do pod 'MappSDK' end
Run:
pod update
Additional Features
Push Permission Dialog: The push notification permission dialog appears by default on the first app launch. Refer to the documentation to customize its display logic.
Handle Foreground Notifications: From iOS 10 onward, you can decide whether to display notifications while the app is in the foreground. Learn more in the foreground notification guide.
Becoming a
UNUserNotificationCenterDelegate
: IF you choose to act as theUNUserNotificationCenterDelegate
, you must forward its methods to Appoxee. See details on UNUserNotificationCenterDelegate setup.
Troubleshooting
Error 403: Ensure the
is_eu
flag matches your data center.Landing Pages Not Opening Inside App: Check the
open_landing_page_inside_app
configuration.SDK Version Requirement: Features like delayed notification dialogs require SDK version 6.0.0 or above.