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 complete 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
    5
    6
    InviteContent inviteContent = InviteContent
            .createBuilder()
            .withSubject("Hey mate, look what I've found")
            .withText("Check this game [APP_INVITE_URL]. It’s amazing!")
            .withImageUrl("https://api.adorable.io/avatars/250/documentation_app.png")
            .build();
    
  2. Note, that you can use placeholder [APP_INVITE_URL] to customize position of the invite url in withText(...) method. All available placeholders are defined in InviteTextPlaceholders class.

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

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    GetSocial.sendInvite(InviteChannelIds.EMAIL, inviteContent, new InviteCallback() {
        @Override
        public void onComplete() {
            Log.i("GetSocial", "Customized invitation via EMAIL was sent");
        }
    
        @Override
        public void onCancel() {
            Log.i("GetSocial", "Customized invitation via EMAIL was cancelled");
        }
    
        @Override
        public void onError(Throwable throwable) {
            Log.e("GetSocial", "Customized invitation via EMAIL failed, error: " + throwable.getMessage());
        }
    });
    

    Or via GetSocial UI:

    1
    2
    3
    GetSocialUi.createInvitesView()
        .setCustomInviteContent(inviteContent)
        .show();
    

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

1
2
3
4
5
6
7
Bitmap inviteImage = ...; // get your image here
InviteContent inviteContent = InviteContent
            .createBuilder()
            .withSubject("Hey mate, look what I've found")
            .withText("Check this game [APP_INVITE_URL]. It’s amazing!")
            .withImage(inviteImage)
            .build();

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 the 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
    final List<InviteChannel> inviteChannels = GetSocial.getInviteChannels();
    
    for (InviteChannel inviteChannel : inviteChannels) {
        final String channelId = inviteChannel.getChannelId();
        final int displayOrder = inviteChannel.getDisplayOrder();
    
        Log.i("GetSocial", channelId + ", order: " + 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?

πŸ˜€ πŸ™