title: What is the proper way to create user invite codes using Branch?
body: <p>I've been combing through the Branch.io Android docs and haven't come up with how to create user invite codes. I've gotten the basic Branch referral system working ok, but I'd like to assign each user a custom invite code similar to what you see with Uber and Airbnb.</p>
  <p><a href="https://i.stack.imgur.com/eFHdy.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/eFHdy.png" alt="UberEATS" /></a> <a href="https://i.stack.imgur.com/kose0.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/kose0.png" alt="Uber" /></a></p>
  <p>My current implementation looks like this:</p>
  <pre><code>    mSmsBranchUniversalObject = new BranchUniversalObject()
              .setCanonicalIdentifier(&quot;invite/sms&quot;)
              .setTitle(getString(R.string.simple_share_title))
              .setContentDescription(getString(R.string.default_share_desc))
              .addContentMetadata(&quot;userId&quot;, mUserId);
  
      mSmsLinkProperties = new LinkProperties()
              .setChannel(&quot;sms&quot;)
              .setFeature(&quot;sharing&quot;);
  
      mSmsBranchUniversalObject.generateShortUrl(getActivity(), mSmsLinkProperties, new Branch.BranchLinkCreateListener() {
          @Override
          public void onLinkCreate(String url, BranchError error) {
              if (error == null) {
                  mSmsShareLink = url;
              }
          }
      });
  
  @OnClick(R.id.iv_sms)
  public void smsShare() {
      Branch.getInstance(getActivity()).userCompletedAction(BranchEvent.SHARE_STARTED);
      Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(&quot;sms:&quot;));
      intent.putExtra(&quot;sms_body&quot;, getString(R.string.share_sms, mSmsShareLink));
      startActivity(intent);
  }
  </code></pre>
  <p>The following implementation gets me a link that looks something like this:</p>
  <pre><code>https://mydomain.app.link/A1BCdEf2gH
  </code></pre>
  <p>But I'd like to share something like: <strong>ADAM98</strong> (see screenshot above), and have the user enter it at checkout etc.</p>
  <p>Now creating an invite code manually for each user isn't much work, I could take the 1st four characters of the user's username and append some random characters to it. But then what do I do with it? I assumed that I would simply need to pass this code to <strong>.setAlias(mUserInviteCode)</strong> on <strong>mSmsLinkProperties</strong>.</p>
  <p>Am I on the right track here? What is the proper flow to implement this? How do you handle this invite code once received on the install?</p>