This is the Urban Airship integration for the mParticle Apple SDK, built against the Airship SDK 19.x.
Add the Urban Airship kit package dependency in Xcode or in your Package.swift. Swift Package Manager resolves the mParticle SDK automatically as a transitive dependency, so you do not need a separate .package entry for mparticle-apple-sdk.
let mParticleVersion: Version = "9.0.0"
.package(
url: "https://github.com/mparticle-integrations/mparticle-apple-integration-urbanairship-19",
.upToNextMajor(from: mParticleVersion)
),Then add mParticle-UrbanAirship as a dependency of your target.
Add the kit dependency to your app's Podfile:
pod 'mParticle-UrbanAirship-19', '~> 9'After installing, rebuild and launch your app. With the mParticle log level set to Debug or higher, you should see the following in your Xcode console:
Included kits: { UrbanAirship }Push registration is not handled by the Airship SDK when the passive registration setting is enabled. This prevents out-of-the-box categories from being registered automatically.
Registering out-of-the-box categories manually can be accomplished by accessing the defaultCategories class method on MPKitUrbanAirship and setting them on the UNNotificationCenter:
UNUserNotificationCenter.current().requestAuthorization(options: [UNAuthorizationOptions.alert]) { (success, err) in
UNUserNotificationCenter.current().setNotificationCategories(MPKitUrbanAirship.defaultCategories())
}All mParticle user attributes are forwarded to Airship as tags which can be used to identify and segment your audience.
Most clients prefer for all tags to remain constant if set. But, a tag can be removed manually by invoking removeTag directly on the Airship SDK as shown below.
private func removeTag(key: String) {
if (!key.isEmpty) {
Airship.channel.editTags { editor in
editor.remove(key)
}
Airship.channel.updateRegistration()
}
}- (void)removeTag:(nonnull NSString *)key {
if (key && (NSNull *)key != [NSNull null] && ![key isEqualToString:@""]) {
[[UAirship channel] editTags:^(UATagEditor * _Nonnull editor) {
[editor removeTag:key];
[editor apply];
}];
[[UAirship channel] updateRegistration];
}
}| Platform | Minimum Version |
|---|---|
| iOS | 15.6 |