Segmentation

You can define your audience based on named users, attributes, tags, tag groups, and Airship channel IDs.

Named Users

Named Users allow you to associate multiple devices to a single user or profile that may be associated with more than one device, e.g., an end-user’s tablet and phone. A device can have only one Named User, and a single Named User should not be associated with more than 50 devices. Named Users provide the ability to directly set tags on them.

By default, Named Users can only be associated server-side. A 403 Forbidden response is returned if Named User association is attempted when client-side association is disabled. In order to associate a Named User through the application, you must change the application’s Named User security setting to allow Named Users to be set from devices. To enable this option, go to Settings » APIs & Integrations » Named Users.

 Note

Associating the channel with a Named User ID will implicitly disassociate the channel from the previously associated Named User ID, if an association existed.

Associating the Named User
UAirship.setNamedUser("NamedUserID")
Disassociating the Named User
UAirship.setNamedUser(null)

Attributes

Attributes are key-value pairs that you associate with your audience to help better target them with messages. Use attributes to target audiences with greater specificity than you would with tags. For more information see the attributes guide.

Channel Attributes Example
    UrbanAirship.editChannelAttributes()
        .setAttribute("device_name", "Bobby's Phone")
        .setAttribute("average_rating", 4.99)
        .removeAttribute("connection_type")
        .apply()

Tags

Tags allow you to attribute arbitrary metadata to a specific device. Common examples include favorites such as sports teams or news story categories.

Example
UAirship.setTags(["loves_cats", "shops_for_games"], function () {

    UAirship.getTags(function (tags) {
        tags.forEach(function (tag) {
            console.log("Tag: " + tag)
        })
    })

})

Tag Groups

Tag groups are configurable namespaces for organizing tags for the channel and Named User. Please view the Tag Groups documentation for more details. The Create and push to a tag group guides you through creating and using Tag Groups.

Channel Tag Group Example
UAirship.editChannelTagGroups()
        .addTags("loyalty", ["silver-member"])
        .removeTags("loyalty", ["bronze-member"])
        .apply()
Named User Tag Group Example
UAirship.editNamedUserTagGroups()
        .addTags("loyalty", ["silver-member"])
        .removeTags("loyalty", ["bronze-member"])
        .apply()

By default, Tag Groups cannot be modified from the device. In this case if a device attempts to modify Tag Groups, the modification will fail and the SDK will log an error. In order to change this setting, follow the steps in Manage Tag Groups.

Airship Channel IDs

The Channel ID is a unique identifier that ties together an application/device pair on a mobile device. The Channel ID is used to target pushes to specific devices using the Airship API. Once a Channel ID is created, it will persist in the application. It may or may not change when the application is reinstalled. For more information on platform-specific operation, see the Android and iOS documentation.

Don’t worry if this value initially comes back as null on your app’s first run (or after clearing the application data), as the Channel ID will be created and persisted during registration. To receive an event when the Channel ID is created, see Listening for Events.

Getting the Channel ID
UAirship.getChannelID(function (channelID) {
     console.log("Channel: " + channelID)
 })