Verifying the User's Phone Number

When the phone verification is enabled and an account is registered with a phone number, Kii Cloud will send an SMS message with a verification code. Your application should then ask the user to type in the verification code to complete the registration. Logging in with the specified phone number will only be allowed if the user previously submitted the correct verification code.

The phone verification is also launched when it is enabled and a user modifies their phone number. Logging in with the new phone number will be allowed after the user sends the code in the verification SMS message. The old phone number will be invalidated when the verification process is finished. You can use the KiiUser#getPendingPhone() method to check the old (pending) phone number.

Please Note: You must specify a valid mobile phone number in an international phone number format (starting with + and your country code) to properly begin the SMS verification process.

Enabling the verification

You can enable or disable the verification in the developer portal. For more information, see Toggle the verifciations.

By default, the verification feature is turned off.

Registering the verification code

After receiving the SMS verification code from the user, your application should call the verifyPhone method to complete the verification process.

  • // Get the currently logged-in user.
    KiiUser user = KiiUser.getCurrentUser();
    
    // Get a verification code.
    String code = "XYZXYZXYZ";
    
    try {
      // Verify the phone number using the code sent via SMS.
      user.verifyPhone(code);
    } catch (IOException e) {
      // Handle the error.
    } catch (AppException e) {
      // Handle the error.
    }
  • // Get the currently logged-in user.
    KiiUser user = KiiUser.getCurrentUser();
    
    // Get a verification code.
    String code = "XYZXYZXYZ";
    
    // Verify the phone number using the code sent via SMS.
    user.verifyPhone(new KiiUserCallBack() {
      @Override
      public void onVerifyPhoneCompleted(int token, Exception exception) {
        if (exception != null) {
          // Handle the error.
          return;
        }
      }
    }, code);

Setting custom SMS templates

You can customize the content of the SMS message on the developer portal.

See Configuring the phone (SMS) verification to learn more.

Resending the verification SMS message

The verification SMS will be sent automatically to the user when the user registration and the user attribute modification are made.

You can also request to resend the verification SMS. As shown in the sample code below, execute the requestResendPhoneVerificationCode method while the user is logged-in to request the resend of the verification SMS.

  • try {
      // Resend a verification SMS message.
      KiiUser.requestResendPhoneVerificationCode();
    } catch (IOException e) {
      // Handle the error.
    } catch (AppException e) {
      // Handle the error.
    }
    return null;
  • // Resend a verification SMS message.
    KiiUser.requestResendPhoneVerificationCode(new KiiUserCallBack() {
      @Override
      public void onRequestResendPhoneVerificationCodeCompleted(int token, Exception exception) {
        if (exception == null) {
            // Handle the error.
            return;
        }
      }
    });