Subscription Lists for the Apple SDK

Manage channel and contact subscription lists for topic-based messaging.

For information about Subscription Lists, including overview, use cases, and how to create subscription lists, see Subscription Lists.

Channel Subscription Lists

Channel subscriptions apply only to the single channel.

Channel subscription lists

// Modifying channel subscription lists
Airship.channel.editSubscriptionLists { editor in
    editor.subscribe("food")
    editor.unsubscribe("sports")
}

// Fetching channel subscription lists
let channelSubscriptions = try await Airship.channel.fetchSubscriptionLists()
// Modifying channel subscription lists
UASubscriptionListEditor *channelEditor = [UAirship.channel editSubscriptionLists];
[channelEditor subscribe:@"food"];
[channelEditor unsubscribe:@"sports"];
[channelEditor apply];

// Fetching channel subscription lists
[[UAChannel shared] fetchSubscriptionListsWithCompletionHandler:^(NSArray<NSString *> * _Nullable channelSubscriptionLists, NSError * _Nullable error) {
    // Use the channelSubscriptionLists
}];

Contact Subscription Lists

Contact subscriptions are set at the user-level and require a Channel scope specifying the types that the subscription list applies to.

Contact subscription lists

// Modifying contact subscription lists
Airship.contact.editSubscriptionLists { editor in
    editor.subscribe("food", scope: .app)
    editor.unsubscribe("sports", scope: .sms)
}

// Fetching contact subscription lists
let contactSubscriptions = try await Airship.contact.fetchSubscriptionLists()
// Modifying contact subscription lists
UAScopedSubscriptionListEditor *contactEditor = [[UAContact shared] editSubscriptionLists];
[contactEditor subscribe:"food" scope:"app"];
[contactEditor unsubscribe:"sports" scope:"sms"];
[contactEditor apply];

// Fetching contact subscription lists
[UAirship.contact fetchSubscriptionListsWithCompletionHandler:^(NSDictionary<NSString *,UAChannelScopes *> * _Nullable, NSError * _Nullable) {
    // Use the subscriptionLists
}];

Verifying Subscription Lists

To verify that subscription lists have been set correctly, look up the channel or contact in the Contact Management view. You can search by Channel ID or Named User ID to view the subscription lists associated with a channel or contact.