Customizing Smart Invites

To provide better user experience Smart Invite content, order of invite channels in Smart Invites View and Invite Link domain can be customized. This guide shows the ways how it is possible to do.

Prerequisite

Content Customizations

Unfortunately not all invite channels allow the same level of customization, for instance, Twitter allow only custom message text and image, but not subject. Check the whole list of supported customizations.

Via Dashboard

GetSocial Dashboard provide an easy way to customize and localize Smart Invites content, check the full list of supported languages in Localization guide.

  1. Login to GetSocial Dashboard.
  2. Go to User Acquisition section → Smart Invites tab.
  3. Update content: provide localized subject, localized message text and image:

    GetSocial Dashboard - Customize Smart Invites

  4. By default Smart Invite link will be automatically appended at the end of the message text. To customize location of the link you can use placeholder [APP_INVITE_URL], e.g. “Check this game [APP_INVITE_URL]. It’s amazing!”.

  5. Optionally you can provide customized content for each Invite Channel:

    GetSocial Dashboard - Customize Smart Invites

  6. Press Save.

  7. On the client side changes will be visible after application restart.

Recommended Invite Image Size

Recommended image resolution is 1200x1080px. Bigger images will be downscaled.

No Image Option

If you set “No Image” option, it disables image for this Smart Invite Channel even if you’ve passed a custom image on the client side.
It could be useful to avoid charges for sending MMS instead of SMS.

On the Client Side

To enable dynamic Smart Invite content generation GetSocial provide client side API for content customization.

  1. The first step is to create InviteContent object:

    1
    2
    3
    4
    GetSocialMutableInviteContent* customInviteContent = [GetSocialMutableInviteContent new];
    [customInviteContent setSubject:@"Hey mate, look what I've found"];
    [customInviteContent setText:@"Check this game [APP_INVITE_URL]. It’s amazing!"];
    [customInviteContent setImageUrl:@"https://api.adorable.io/avatars/250/documentation_app.png"];
    
  2. Note, that you can use placeholder [APP_INVITE_URL] to customize position of the invite url in setText: ... method. All available placeholders are defined in GetSocialConstants.h header file with GetSocial_InviteContentPlaceholder_ prefix.

  3. Next, send customized invitation via GetSocial Data API:

    1
    2
    3
    4
    5
    6
    7
    [GetSocial sendInviteWithChannelId:GetSocial_InviteChannelPluginId_Email inviteContent:customInviteContent success:^{
        NSLog(@"Customized invitation via EMAIL was sent");
    } cancel:^{
        NSLog(@"Customized invitation via EMAIL was cancelled");
    } failure:^(NSError * _Nonnull error) {
        NSLog(@"Customized invitation via EMAIL failed, error: %@", error.description);
    }];
    

    Or via GetSocial UI:

    1
    2
    3
    GetSocialUIInvitesView* invitesView = [GetSocialUI createInvitesView];
    [invitesView setCustomInviteContent:customInviteContent];
    [invitesView show];
    

If you want to attach UIImage to the invitation on the client side, you can use setImage method instead of withImageUrl() method. Recommended resolution is 1200x1080px. Bigger images will be automatically downscaled on the backend:

1
2
3
4
5
UIImage *inviteImage = ...; // get your image here
GetSocialMutableInviteContent* customInviteContent = [GetSocialMutableInviteContent new];
[customInviteContent setSubject:@"Hey mate, look what I've found"];
[customInviteContent setText:@"Check this game [APP_INVITE_URL]. It’s amazing!"];
[customInviteContent setImage:inviteImage];

Invite Channels Order Customization

To improve organic user acquisition we recommend to adjust the order of Invite Channels according to your audience, e.g. if your app is mostly used in Asia, it make sense to put Kik and Kakao on the top; on the other hand if your app is popular in US - WhatsApp and Facebook Messenger provide better results.

GetSocial allows to customize the order of Invite Channels via Dashboard:

  1. Login to the GetSocial Dashboard.
  2. Go to User Acquisition section → Smart Invites tab.
  3. Drag and drop Invite Channels to order them:

    GetSocial Dashboard - Customize Smart Invites

  4. If you’re using GetSocial UI, after the app restart order of Invite Channels will be updated accordingly:

    Ordered Channels in Smart Invites View

  5. If you’re building your own UI for Smart Invites, order property is available on InviteChannel object:

    1
    2
    3
    4
    5
    6
    7
    8
    NSArray* inviteChannels = [GetSocial inviteChannels];
    
    [inviteChannels enumerateObjectsUsingBlock:^(GetSocialInviteChannel* inviteChannel, NSUInteger idx, BOOL * _Nonnull stop) {
        NSString* channelId = [inviteChannel channelId];
        NSInteger displayOrder = [inviteChannel displayOrder];
    
        NSLog(@"%@ , order: %ld", channelId, (long)displayOrder);
    }];
    

To customize the Smart Link added to the invites follow this guide.

Smart Link Customization

Next Steps

Give us your feedback! Was this article helpful?

πŸ˜€ πŸ™