Jitsi Meet Iphone

The Jitsi Meet iOS SDK provides the same user experience as the Jitsi Meet app,in a customizable way which you can embed in your apps.

Sample applications using the SDK

If you want to see how easy integrating the Jitsi Meet SDK into a native application is, take a look at thesample applications repository.

We need React native developers who can customise the Jitsi meet sdk for android, based on the requirements. Experience working in React native and Jitsi meet is required. Kompetens: Android, Mobile App Development, PhoneGap, Java, iPhone. Jitsi Meet is one of the emerging video conferencing apps today. It is an open-source communication software that is free, easy to use, and requires little to no onboarding. It encrypts all your calls and does not sell your data.

Usage

There are 2 ways to integrate the SDK into your project:

  • Using CocoaPods
  • Building it yourself

Using CocoaPods

The recommended way for using the SDK is by using CocoaPods. In order todo so, add the JitsiMeetSDK dependency to your existing Podfile or createa new one following this example:

Replace JitsiMeetSDKTest with your project and target names.

Bitcode is not provided in the prebuilt SDK, so turn it off for your project.

The SDK uses Swift code, so make sure you select Always Embed Swift Standard Librariesin your project.

Since the SDK requests camera and microphone access, make sure to include therequired entries for NSCameraUsageDescription and NSMicrophoneUsageDescriptionin your Info.plist file.

In order for app to properly work in the background, select the 'audio' and 'voip'background modes.

Last, since the SDK shows and hides the status bar based on the conference state,you may want to set UIViewControllerBasedStatusBarAppearance to NO in yourInfo.plist file.

Building it yourself

  1. Install all required dependencies.

  2. Build it:

After successfully building Jitsi Meet SDK for iOS, the 2 resulting XCFrameworks will be in the ios/sdk/out directory.

API

JitsiMeet is an iOS framework which embodies the whole Jitsi Meet experience andmakes it reusable by third-party apps.

To get started:

  1. Add a JitsiMeetView to your app using a Storyboard or Interface Builder,for example.

  2. Then, once the view has loaded, set the delegate in your controller and loadthe desired URL:

JitsiMeetView class

The JitsiMeetView class is the entry point to the SDK. It a subclass ofUIView which renders a full conference in the designated area.

delegate

Property to get/set the JitsiMeetViewDelegate on JitsiMeetView.

join:JitsiMeetConferenceOptions

Joins the conference specified by the given options.

Iphone

leave

Leaves the currently active conference.

hangUp

The localParticipant leaves the current conference.

setAudioMuted

Sets the state of the localParticipant audio muted according to the muted parameter.

sendEndpointTextMessage

Sends a message via the data channel to one particular participant or to all of them.If the to param is empty, the message will be sent to all the participants in the conference.

In order to get the participantId, the PARTICIPANT_JOINED event should be listened for,which data includes the id and this should be stored somehow.

Universal / deep linking

In order to support Universal / deep linking, JitsiMeet offers 2 classmethods that you app's delegate should call in order for the app to follow thoselinks.

If these functions return NO it means the URL wasn't handled by the SDK. Thisis useful when the host application uses other SDKs which also use linking.

And also one of the following:

JitsiMeetViewDelegate

This delegate is optional, and can be set on the JitsiMeetView instance usingthe delegate property.

It provides information about the conference state: was it joined, left, did itfail?

All methods in this delegate are optional.

conferenceJoined

Called when a conference was joined.

The data dictionary contains a 'url' key with the conference URL.

conferenceTerminated

Jitsi Meet Ios Share Screen

Called when a conference was terminated either by user choice or due to afailure.

The data dictionary contains an 'error' key with the error and a 'url' keywith the conference URL. If the conference finished gracefully no errorkey will be present.

conferenceWillJoin

Called before a conference is joined.

The data dictionary contains a 'url' key with the conference URL.

enterPictureInPicture

Called when entering Picture-in-Picture is requested by the user. The app shouldnow activate its Picture-in-Picture implementation (and resize the associatedJitsiMeetView. The latter will automatically detect its new size and adjustits user interface to a variant appropriate for the small size ordinarilyassociated with Picture-in-Picture.)

The data dictionary is empty.

participantJoined

Called when a participant has joined the conference.

The data dictionary contains information of the participant that has joined.Depending of whether the participant is the local one or not, some of them arepresent/missing.isLocalemailnameparticipantId

participantLeft

Called when a participant has left the conference.

The data dictionary contains information of the participant that has left.Depending of whether the participant is the local one or not, some of them arepresent/missing.isLocalemailnameparticipantId

audioMutedChanged

Called when audioMuted state changed.

Jitsi Meet Iphone

Jitsi Meet Ios Sdk

The data dictionary contains a muted key with state of the audioMuted for the localParticipant.

endpointTextMessageReceived

Called when an endpoint text message is received.

The data dictionary contains a senderId key with the participantId of the sender and a message key with the content.

Picture-in-Picture

Meet

JitsiMeetView will automatically adjust its UI when presented in aPicture-in-Picture style scenario, in a rectangle too small to accommodate its'full' UI.

Jitsi Meet SDK does not currently implement native Picture-in-Picture on iOS. Ifdesired, apps need to implement non-native Picture-in-Picture themselves andresize JitsiMeetView.

If delegate implements enterPictureInPicture:, the in-call toolbar willrender a button to afford the user to request entering Picture-in-Picture.

Dropbox integration

To setup the Dropbox integration, follow these steps:

Jitsi Meet Ios

  1. Add the following to the app's Info.plist and change <APP_KEY> to yourDropbox app key:

Jitsi Meet Ios Safari

  1. Make sure your app calls the Jitsi Meet SDK universal / deep linking delegate methods.