SDK methods

SDK Methods for Passenger

  1. Create a BusAuthSDKPassenger instance

import com.silencelaboratories.slbusauthsdk.BusAuthSDKPassenger;

String passengerSDKToken = "SLBusAuthPassenger:oCxbGDt18xJHe56K7koEIe";
BusAuthSDKPassenger busAuthSDKPassenger = BusAuthSDKPassenger.getInstance(context, passengerSDKToken);

2. Register OnPassengerEventListener

import com.silencelaboratories.slbusauthsdk.OnPassengerEventListener;
import com.silencelaboratories.slbusauthsdk.SDKConstants;

busAuthSDKPassenger.setOnPassengerEventListener(new OnPassengerEventListener() {
    @Override
    public void onSDKError(int error) {
        if (error == SDKConstants.NETWORK_ERROR) {
            // Network error
        }
        if (error == SDKConstants.INVALID_SDK_TOKEN) {
            // Invalid sdk token
        }
    }
    @Override
    public void onReceivedACK(byte[] ack) {
	    // Acknowledge Ticket From driver  
    }
});

3. Continuously Sending Passenger Identity as byte array

The maximum ticket length for trial is 20 bytes.

import com.silencelaboratories.slbusauthsdk.SDKConstants;

byte[] ticketBytes;
int result = busAuthSDKPassenger.sendTicket(ticketBytes);
result:
    SDKConstants.SUCCESS
    SDKConstants.BOARDING_IN_PROCESSING
    SDKConstants.INVALID_TICKET_LENGTH

4. Stop Sending Passenger Identity

busAuthSDKPassenger.stopSendTicket();

5. Close BusAuthSDKPassenger instance

busAuthSDKPassenger.close();

SDK methods for Driver

1. Create a BusAuthSDKDriver instance

import com.silencelaboratories.slbusauthsdk.BusAuthSDKDriver;

String driverSDKToken = "SLBusAuthDriver:hhIKXA1lmdjUJAXYAREwYS";
BusAuthSDKDriver busAuthSDKdriver = BusAuthSDKDriver.getInstance(context, driverSDKToken);

2. Start boarding on Driver side

import com.silencelaboratories.slbusauthsdk.BusAuthSDKDriver;
import com.silencelaboratories.slbusauthsdk.OnDriverEventListener;
import com.silencelaboratories.slbusauthsdk.SDKConstants;

String driverSDKToken = "SLBusAuthDriver:hhIKXA1lmdjUJAXYAREwYS";
BusAuthSDKDriver busAuthSDKdriver = BusAuthSDKDriver.getInstance(context, driverSDKToken);
busAuthSDKdriver.setOnDriverEventListener(new OnDriverEventListener() {
    @Override
    public void onReceivedTicket(byte[] ticketBytes) {
        // Received passenger identity ticket in byte array
    }
    @Override
    public void onReceivedError(int error) {
        if (error == SDKConstants.NETWORK_ERROR) {
            // Network error
        }
        if (error == SDKConstants.INVALID_SDK_TOKEN) {
           // Invalid sdk token
        }
    }
    @Override
    public void onReceivedACK(byte[] ack) {
	    // Acknowledge From passenger when receiving ticket  
    }    
});

int result = busAuthSDKdriver.startBoarding();
result:
    SDKConstants.SUCCESS
    SDKConstants.BOARDING_ALREADY_STARTED

3. Send Acknowledge ticket to detected passenger

int result = busAuthSDKdriver.sendAck(ticketBytes);
result:
    SDKConstants.SUCCESS
    SDKConstants.INVALID_TICKET_LENGTH

4. Stop boarding on Driver side

busAuthSDKdriver.stopBoarding();

5. Get detected passenger data

byte[] passengerData = busAuthSDKdriver.fetchPassengerData()

6. Close BusAuthSDKDriver instance

busAuthSDKdriver.close();

Last updated