Build Cross Platform Video Chat Apps With Xamarin

Similar documents
Xamarin for C# Developers

Steps to Set Up the Environment of Xamarin in Visual

ArcGIS Runtime SDK for.net: Building Xamarin Apps. Rich Zwaap Thad Tilton

Introduction to Xamarin Cross Platform Mobile App Development

Take Your Team Mobile with Xamarin

Agenda. Overview of Xamarin and Xamarin.Android Xamarin.Android fundamentals Creating a detail screen

ANDROID SDK. Developers Guide

Xamarin Mobile Application Development Cross Platform C And Xamarin Forms Fundamentals

Introduction to Mobile Development

XAMARIN Application Development - Workshop

Azure Mobile Apps and Xamarin: From zero to hero. Nasos Loukas Mobile Team KYON

Index. Alessandro Del Sole 2017 A. Del Sole, Beginning Visual Studio for Mac,

Developing Mobile Apps with Xamarin and Azure

ArcGIS Runtime: Building Cross-Platform Apps. Mike Branscomb Michael Tims Tyler Schiewe

[ :25:55.588] [Info] Installation ID: 04cdabde-1d90-49ee-9df5-7daeed7f6d51 [ :25:55.594] [Info] Operating system: Mac OS X

Take Your Oracle Forms on the Road Using ADF Mobile. Mia Urman, OraPlayer & Denis Tyrell, Oracle Corporation

HOW TO BUILD A CUSTOM CONTROL IN XAMARIN.FORMS

MS_40541 Build Native Cross-Platform Mobile Apps with a Shared C# Business Logic for ios, Android, and UWP in C#.NET with Xamarin and Visual Studio

ArcGIS Runtime SDK for.net Building Apps. Rex Hansen

Lifecycle Callbacks and Intents

We re here to help. Erik Polzin. Colby Williams. Engineer Partner Team. Director Partners and Channels. +1 (415)

CS378 -Mobile Computing. Anatomy of and Android App and the App Lifecycle

Xamarin Mobile Application Development: Cross-Platform C# And Xamarin.Forms Fundamentals By Dan Hermes READ ONLINE

OpenWells Cross-Platform Mobile Application

Cross-Platform Mobile Platforms and Xamarin. Presented by Mir Majeed

Understand applications and their components. activity service broadcast receiver content provider intent AndroidManifest.xml

ArcGIS Runtime SDK for.net Building Apps. Antti Kajanus David Cardella

Come and Get Excited about Azure Mobile Services and Xamarin.Forms

Austin Mobile.NET Develops Group

Visual Basic.NET for Xamarin using Portable Class Libraries

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen

What s New in imessage Apps

Razvoj multiplatformskih mobilnih aplikacija sa Xamarin Forms. Andrej Radinger, MVP, Mobendo

CS378 - Mobile Computing. Anatomy of an Android App and the App Lifecycle

Xamarin. MS (IT), 4 th Sem. HOD, Dept. Of IT, HOW DOES XAMARIN WORKS?

ArcGIS App Strategies Ben

CS 370 Android Basics D R. M I C H A E L J. R E A L E F A L L

Mobile Development A Whirlwind Tour!

Introduction to Android

Overview of Activities

Cheetah Orion Ad Platform SDK Guide (for Android) V1.0

Connect and Transform Your Digital Business with IBM

ArcGIS Runtime SDK for Java: A Beginner s Guide. Mark Baird JC Malott

EMBEDDED SYSTEMS PROGRAMMING Application Basics

SAURASHTRA UNIVERSITY

Building MyFirstApp Android Application Step by Step. Sang Shin Learn with Passion!

Modern App Architecture

Android ATC Android Security Essentials Course Code: AND-402 version 5 Hands on Guide to Android Security Principles

For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to

Android Application Development

CE881: Mobile & Social Application Programming

CS 235AM, Mobile Application Development: Android Spring 2016

Android App Development

Link-OS SDK for Xamarin README

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

Mobile Development Updates From #MSBuild 2017 &.NET Standard (& What It Means For You) Andrew Birch

Microsoft and Mobile. Jennifer Marsman Principal Developer Evangelist, Microsoft

CS260 Intro to Java & Android 04.Android Intro

Intro to Development for ios. Dave Koziol Arbormoon Software, Inc.

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

UNDERSTANDING ACTIVITIES

ArcGIS for Developers: An Introduction. Moey Min Ken

XAMARIN MOBILE APPLICATION PDF

Tizen.NET. Transition of Tizen Developer Environment. Samsung Electronics S/W Center Sung-Jae Lee, Seungkeun Lee

Introduction to Android

INFRAGISTICS Xamarin 17.2 Volume Release Notes

Android Fundamentals - Part 1

Real-Time Embedded Systems

CPET 565 Mobile Computing Systems CPET/ITC 499 Mobile Computing. Lab & Demo 2 (Part 1-2) Hello-Goodbye App Tutorial

Tablet and Mobile. Desktop and Laptop. Telephone (Call-in & Call-out) Room Systems (Zoom Rooms & H.323/SIP)

Android Programmierung leichtgemacht. Lars Vogel

Welcome to Developing for Edge 04/06/2017

ACTIVITY, FRAGMENT, NAVIGATION. Roberto Beraldi

Xamarin Mobile Development For Android Cookbook

ArcGIS Runtime SDK for.net Getting Started. Jo Fraley

Android Exam AND-401 Android Application Development Version: 7.0 [ Total Questions: 129 ]

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

Walkthrough: Binding an ios Objective-C Library

Bootcamp Curriculum. Mobile Application Development - 7 Weeks. Training Curriculum. Mobile Application Development Curriculum 1. Cross Platform Design

Curriculum Vitae. Android Developer EDUCATION EDUCATION. Radioelectronics Electronic-optical machine building

Xamarin Crossplatform Application Development By Jonathan Peppers READ ONLINE

ArcGIS GeoEvent Server: Making 3D Scenes Come Alive with Real-Time Data

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

1. Implementation of Inheritance with objects, methods. 2. Implementing Interface in a simple java class. 3. To create java class with polymorphism

Consuming Office 365 REST API. Paolo Pialorsi PiaSys.com

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

INTRODUCTION TO ANDROID

OPENWELLS ON XAMARIN PLATFORM

ANDROID MOCK TEST ANDROID MOCK TEST IV

Building Android Apps In Easy Steps Using App Inventor

Android Ecosystem and. Revised v4presenter. What s New

Required Core Java for Android application development

Android Programming Lecture 2 9/7/2011

Supergeo Webinar. Make Enterprise GIS Data & Service Available Anytime, Anywhere. Oct 29, 2014

States of Activities. Active Pause Stop Inactive

Lifecycle-Aware Components Live Data ViewModel Room Library

Open Source Library Developer & IT Pro

Transcription:

Build Cross Platform Video Chat Apps With Xamarin Vidyo.io Webinar Series Philip Futernik The webcast will begin shortly. Please Senior Software Engineer stand by. November 15, 2017

Build Cross Platform Video Chat Apps With Xamarin Vidyo.io Webinar Series Philip Futernik Senior Software Engineer November 15, 2017

Upcoming Webinar Vidyo.io Getting Started Webinar Series: Topic: Recording Your Video Chat December 14 @ 2:00pm ET (11:00am PT) Presented by: Sachin Hegde We will email you an invitation next week! 3 Copyright 2017 Vidyo Inc., confidential, proprietary and patent pending information

Poll Time! How do you prefer to learn a new API?

Getting Started Series: Build Cross Platform Video Chat Apps With Xamarin Philip Futernik Senior Software Engineer November 16, 2017 5 Copyright 2017 Vidyo Inc., confidential, proprietary and patent pending information

Xamarin Overview System for Cross-Platform Development Cross Platform Targets IDE Share application logic Average 75% code shared Build for multiple OSs Primarily used for mobile Visual Studio (Windows) Visual Studio for Mac 6 Copyright 2017 Vidyo Inc., confidential, proprietary and patent pending information

Xamarin Overview App Types Xamarin.Android Xamarin.iOS Xamarin.Forms XML based UI builder AndroidManifest.xml: - assign permissions, Android versions, etc Activity life cycle methods: - OnCreate, OnStart, OnResume, etc Storyboard UI builder Entitlements.plist, Info.plist, app delegate View Controller life cycle methods: - ViewDidLoad, ViewWillAppear, ViewDidAppear, etc Allows devs to easily create native UI layouts that can be shared across ios and Android Includes more than 40 controls and layouts, which are mapped to native controls at runtime Life cycle methods: - OnStart, OnSleep, OnResume 7 Copyright 2017 Vidyo Inc., confidential, proprietary and patent pending information

Which flavor of Xamarin to use? Either way, you ll get fully native apps with shared business logic Xamarin.Forms Apps that require little platform specific functionality Code sharing is more important than custom UI Developers comfortable with XAML Xamarin.iOS / Xamarin.Android Apps with interactions that require native behavior Apps that use many platform specific APIs Apps where custom UI is more important than code sharing 8 Copyright 2017 Vidyo Inc., confidential, proprietary and patent pending information

Get started with free vidyo.io account Go to https://vidyo.io Create a free account Download SDKs - ios and Android for Xamarin development Start building! 9 Copyright 2017 Vidyo Inc., confidential, proprietary and patent pending information

Xamarin + Vidyo.io Important Notes Vidyo.io C# bindings: - Native C library ØAndroid: jar +.so ØiOS: dylib - C# source files To render video, Vidyo lib needs a handle to native control - Xamarin.iOS / Xamarin.Android : exposed in the UI control - Xamarin.Forms : create custom renderer for each platform 10 Copyright 2017 Vidyo Inc., confidential, proprietary and patent pending information

Code Walkthrough Include vidyo.io SDK Xamarin.iOS VidyoClient-iOSSDK: C# source files libvidyoclient.dylib Ø Build Action: Bundle Resource Xamarin.Android VidyoClient-AndroidSDK: C# source files libvidyoclient.so Ø Build Action: Android Native Library vidyoclient.jar Ø Build Action: Android Java Library Initialize vidyo.io ConnectorPKG.Initialize(); Xamarin.iOS Xamarin.Android ConnectorPKG.SetApplicationUIContext(this); ConnectorPKG.Initialize(); 11 Copyright 2017 Vidyo Inc., confidential, proprietary and patent pending information

Code Walkthrough (cont.) Create VidyoConnector object Xamarin.iOS // videoview is of type UIView Connector vc = new Connector(videoView.Handle, Connector.Connect orviewstyle.connectorviewstyledefault, 15, "warning info@ VidyoConnector info@vidyoclient", "", 0); Xamarin.Android // videoview is of type FrameLayout Connector vc = new Connector(videoView.Handle, Connector.Connector ViewStyle.ConnectorviewstyleDefault, 15, "warning info@vidy oconnector info@vidyoclient", "", 0); Render video Xamarin.iOS / Xamarin.Android vc. ShowViewAt(videoView.Handle, 0, 0, videoviewwidth, videoviewheight); 12 Copyright 2017 Vidyo Inc., confidential, proprietary and patent pending information

Code Walkthrough (cont.) Connect to video chat Xamarin.iOS / Xamarin.Android vc.connect("prod.vidyo.io", // host generatedtoken, // token Philip Futernik", // display name PhilipRoom", // resource ID this); // need to inherit Connector.IConnect interface // Implementation of Connector.IConnect interface: public void OnSuccess() { Console.WriteLine("OnSuccess"); } public void OnDisconnected(Connector.ConnectorDisconnectReason reason) { Console.WriteLine("OnDisconnected: " + reason); } public void OnFailure(Connector.ConnectorFailReason reason) { Console.WriteLine("OnFailure: " + reason); } 13 Copyright 2017 Vidyo Inc., confidential, proprietary and patent pending information

Code Walkthrough (cont.) Disconnect from video chat vc.disconnect(); Xamarin.iOS / Xamarin.Android Cycle Camera Xamarin.iOS / Xamarin.Android vc.cyclecamera(); 14 Copyright 2017 Vidyo Inc., confidential, proprietary and patent pending information

Demo

Finding Help Available Resources How-To Videos - https://vidyo.io/how-to-videos/ Ready to deploy samples - https://developer.vidyo.io/packages - https://github.com/vidyo Get Help - https://support.vidyo.io - https://stackoverflow.com/ (Use the vidyo tag when asking question) 16 Copyright 2017 Vidyo Inc., confidential, proprietary and patent pending information

Please follow us on Twitter Vidyo.io @vidyo_io

Thank you! Philip Futernik pfuternik@vidyo.com Twitter philnbass https://vidyo.io Twitter - @Vidyo_io LinkedIn vidyo-io https://github.com/vidyo