async Task Setup()
        {
            var token = await GetIdentity();

            var accessManager = TwilioAccessManagerFactory.CreateAccessManager(token, this);

            client = TwilioIPMessagingSDK.CreateIPMessagingClientWithAccessManager(accessManager, this);

            client.Channels.LoadChannelsWithListener(new StatusListener
            {
                SuccessHandler = () =>
                {
                    generalChannel = client.Channels.GetChannelByUniqueName("general");

                    if (generalChannel != null)
                    {
                        generalChannel.Listener = this;
                        JoinGeneralChannel();
                    }
                    else
                    {
                        CreateAndJoinGeneralChannel();
                    }
                }
            });
        }
        async Task <bool> SetupAsync()
        {
            var task  = new TaskCompletionSource <bool>();
            var token = await TwilioHelper.GetTokenAsync();

            var accessManager = TwilioAccessManagerFactory.CreateAccessManager(token, this);

            Client = TwilioIPMessagingSDK.CreateIPMessagingClientWithAccessManager(accessManager, this);

            Client.Channels.LoadChannelsWithListener(new StatusListener
            {
                SuccessHandler = () =>
                {
                    GeneralChannel = Client.Channels.GetChannelByUniqueName("general");

                    if (GeneralChannel != null)
                    {
                        GeneralChannel.Listener = this;
                        JoinGeneralChannel();
                    }
                    else
                    {
                        CreateAndJoinGeneralChannel();
                    }

                    task.SetResult(true);
                }
            });

            return(await task.Task.ConfigureAwait(false));
        }
Exemplo n.º 3
0
        /*
         * Initialize the Twilio Conversations SDK
         */
        void initializeTwilioSdk()
        {
            TwilioConversations.SetLogLevel(TwilioConversations.LogLevel.Debug);

            if (!TwilioConversations.IsInitialized)
            {
                TwilioConversations.Initialize(ApplicationContext, new TwilioConversations.InitListener {
                    InitHandler = () => {
                        /*
                         * Now that the SDK is initialized we create a ConversationsClient and register for incoming calls.
                         */
                        // The TwilioAccessManager manages the lifetime of the access token and notifies the client of token expirations.
                        accessManager       = TwilioAccessManagerFactory.CreateAccessManager(accessToken, accessManagerListener());
                        conversationsClient = TwilioConversations.CreateConversationsClient(accessManager, conversationsClientListener());

                        // Specify the audio output to use for this conversation client
                        conversationsClient.AudioOutput = AudioOutput.Speakerphone;

                        // Initialize the camera capturer and start the camera preview
                        cameraCapturer = CameraCapturerFactory.CreateCameraCapturer(this, CameraCapturerCameraSource.CameraSourceFrontCamera, previewFrameLayout, capturerErrorListener());
                        startPreview();

                        // Register to receive incoming invites
                        conversationsClient.Listen();
                    },
                    ErrorHandler = err => {
                        Toast.MakeText(this,
                                       "Failed to initialize the Twilio Conversations SDK",
                                       ToastLength.Long).Show();
                    }
                });
            }
        }
Exemplo n.º 4
0
        async Task <bool> Conectar()
        {
            var task  = new TaskCompletionSource <bool>();
            var token = await TokenControll.RecuperarToken();

            var accessManager = TwilioAccessManagerFactory.CreateAccessManager(token, this);

            Client = TwilioIPMessagingSDK.CreateIPMessagingClientWithAccessManager(accessManager, this);

            return(await task.Task.ConfigureAwait(false));
        }