Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Conversation

As long as a conversation is active one can register and receive the events provided by this class and call the methods. Once the conversation is closed this API object will be destroyed and no more event callbacks will be called. Any subsequent calls will fail.

Use the CLOSE event to de-init any code connected to this conversation.

Hierarchy

  • Conversation

Index

Events

Static CALL_STATE_CHANGE

CALL_STATE_CHANGE: "callStateChange" = "callStateChange"

Event emitted when the CallState of this conversation changes.

see

on for listener registration

Static CLOSE

CLOSE: "close" = "close"

Event emitted when the conversation is closed.

This may happen due to a UI-navigation or an API-call.

see

on for listener registration

Static CONNECTION_STATE_CHANGE

CONNECTION_STATE_CHANGE: "connectionStateChange" = "connectionStateChange"

Event emitted when the ConnectionState of this conversation changes.

see

on for listener registration

Static END

END: "end" = "end"

Event emitted when the conversation ends.

see

on for listener registration

Methods

closeConversation

  • closeConversation(): Promise<void>
  • Closes this conversation locally.

    When called, the connection to this conversation is closed and the overview is displayed.

    Note that:

    • Closing does NOT end the conversation.
    • The person does NOT leave the conversation.
    • All Conversation api instances for this conversation will be destroyed.

    The conversation can be joined again either via the UI or using UnbluApi.openConversation.

    see

    CLOSE fired after this call.

    see

    endConversation for details on ending a conversation.

    see

    [[leavingConversation]] for details on leaving a conversation.

    see

    destroy for details on destroying a conversation.

    Returns Promise<void>

    A Promise that resolves to null or is rejected with a UnbluApiError if the call fails.

destroy

  • destroy(): void
  • Destroys this conversation API instance.

    Calling destroy will unregister all event listeners and prohibit any further calls to this object. Once the conversation is destroyed, any subsequent calls will reject the returned promise with UnbluErrorType.ILLEGAL_STATE as reason.

    Note that:

    • Destroying does NOT close the conversation .
    • Destroying does NOT end the conversation.
    • Destroying does NOT leave the conversation.
    • Other instances of the same Conversation will NOT be destroyed.

    This call simply destroys this local API instance to the conversation.

    A destroyed but still open conversation can be accessed again using UnbluApi.getActiveConversation.

    see

    isDestroyed

    see

    closeConversation for details on how to close a conversation

    see

    endConversation for details on how to end a conversation

    Returns void

endConversation

  • endConversation(): Promise<void>
  • Ends and closes this conversation.

    If the local person doesn't have the right to end the conversation, the returned promise will be rejected with the unblu error type UnbluErrorType.ACTION_NOT_GRANTED.

    see

    END fired after this call.

    see

    closeConversation for details on closing a conversation.

    Returns Promise<void>

    A Promise that resolves to null or is rejected with a UnbluApiError if the call fails.

getCallState

  • see

    CALL_STATE_CHANGE If you need to listen to changes.

    Returns Promise<CallState>

    A promise that resolves to the current call state of the local user or is rejected with a UnbluApiError if the call fails.

getConnectionState

  • Returns the current connection state the conversation is in.

    If the connection is lost, the conversation will automatically try to reconnect using an exponential back-off strategy. If a fatal error is detected, the state will change to ConnectionState.ERROR.

    If this happens, the conversation is in it's terminal state. A dialog or other UI will be displayed to the user with details on the failure. The conversation is not automatically closed in this case. It may either be closed through a manual action by the visitor (confirming the error) or via the API.

    see

    CONNECTION_STATE_CHANGE If you need to listen to changes.

    Returns Promise<ConnectionState>

    A promise that resolves to the current connection state of the conversation or is rejected with a UnbluApiError if the call fails.

getConversationId

  • getConversationId(): string
  • Returns the ID of this conversation.

    Returns string

getConversationState

  • Returns the current state the conversation is in.

    see

    END If you need to listen to changes of the end event.

    Returns Promise<ConversationState>

    A promise that resolves to the current state of the conversation or is rejected with a UnbluApiError if the call fails.

isDestroyed

  • isDestroyed(): boolean
  • Returns weather this conversation is destroyed or not.

    Conversations are either destroyed if destroy is called or the conversation is closed. This usually happens when the user navigates back to an overview or into an other conversation.

    see

    destroy

    see

    CLOSE

    Returns boolean

    Weather this conversation is destroyed or not.

leaveConversation

  • leaveConversation(): Promise<void>
  • Leaves and closes this conversation.

    By leaving, the visitor is removed from the active participant list of the conversation. Once a conversation is left, the visitor can not re-open it. It will not be visible in the conversation history either.

    If the local person doesn't have the right to leave the conversation, the returned promise will be rejected with the unblu error type UnbluErrorType.ACTION_NOT_GRANTED.

    see

    CLOSE fired after this call.

    see

    closeConversation for details on closing a conversation without leaving.

    Returns Promise<void>

    A Promise that resolves to null or is rejected with a UnbluApiError if the call fails.

off

  • off(event: ConversationEventType, listener: Listener): boolean
  • Removes a previously registered listener

    Parameters

    • event: ConversationEventType

      The event to unregister from.

    • listener: Listener

      The listener to remove.

    Returns boolean

on

  • on(event: "connectionStateChange", listener: ConnectionStateListener): void
  • on(event: "callStateChange", listener: CallStateListener): void
  • on(event: "end", listener: function): void
  • on(event: "close", listener: function): void
  • Registers an event listener for the given event.

    see

    CONNECTION_STATE_CHANGE

    Parameters

    • event: "connectionStateChange"

      The call state change event.

    • listener: ConnectionStateListener

      The listener to be called.

    Returns void

  • Registers an event listener for the given event.

    see

    CALL_STATE_CHANGE

    Parameters

    • event: "callStateChange"

      The call state change event.

    • listener: CallStateListener

      The listener to be called.

    Returns void

  • Registers an event listener for the given event.

    see

    END

    Parameters

    • event: "end"

      The end event.

    • listener: function

      The listener to be called.

        • (): void
        • Returns void

    Returns void

  • Registers an event listener for the given event.

    see

    CLOSE

    Parameters

    • event: "close"

      The close event.

    • listener: function

      The listener to be called.

        • (): void
        • Returns void

    Returns void

startAudioCall

  • startAudioCall(): Promise<void>
  • Starts a voice call in this conversation.

    • If a call is already active, this call will be ignored.
    • If the local person doesn't have the right to start a voice call, the returned promise will be rejected with the unblu error type UnbluErrorType.ACTION_NOT_GRANTED.
    see

    CALL_STATE_CHANGE If you need to listen to changes.

    Returns Promise<void>

    A Promise that resolves to null or is rejected with a UnbluApiError if the call fails.

startVideoCall

  • startVideoCall(): Promise<void>
  • Starts a video call in this conversation.

    • If a call is already active, this call will be ignored.
    • If the local person doesn't have the right to start a video call, the returned promise will be rejected with the unblu error type UnbluErrorType.ACTION_NOT_GRANTED.
    see

    CALL_STATE_CHANGE If you need to listen to changes.

    Returns Promise<void>

    A Promise that resolves to null or is rejected with a UnbluApiError if the call fails.