Basic embedding

Brid SDK Integration

BridSDK gives you the factory methods to pair the player with your player id that you set up in BRID CMS. Each Player (BVPlayer), is created with the help of your credentials (which includes the ID of your player, playlist ID etc. BVPlayer places itself within the Container view you have at your disposal, which is basically a UIView, it is now on you to:

  1. Setup a BVObject data object where you can configure a player instance using your credentials
  2. Give it a container view in which to display them
    The container view (UIView) by itself will retain the @weak reference of BVPlayer view but not BVPlayer itself which in addition to the view contains logic and networking so the player will not work unless stored as a @strong reference.

Example 1:
If you have one container view that is not reusable, create one variable

Example 2:
If you have reusable viewers (UITableView, UICollectionView), create an array var player: [BVPlayer] in which you save the players and in each preparation of a new reusable cell (UITableCell) re-adjust the view from the player list

//Example 1
@property (nonatomic) BVPlayer *player;

//Example 2
@property (nonatomic) <BVPlayer *> *player;
//Example 1
var player: BVPlayer?

//Example 2
var player: [BVPlayer]?

Type of Brid Data

Player with single video

#import "ViewController.h"
#import <BridSDK/BridSDK.h>
  
@interface ViewController ()

@property (nonatomic) BVPlayer *player;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    player = [[BVPlayer alloc] initWithData:[[BVData alloc] initPlayerID:<int> forVideoID:<int>] forView:<UIView>]
    
}

@end
import UIKit
import BridSDK

class ViewController: UIViewController {
    
    var player: BVPlayer?

    override func viewDidLoad() {
        super.viewDidLoad()
                player = BVPlayer(data: BVData(playerID: <Int32>, forVideoID: <Int32>), for: <UIView>)  
    }

}

Player with playlist

#import "ViewController.h"
#import <BridSDK/BridSDK.h>
  
@interface ViewController ()

@property (nonatomic) BVPlayer *player;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    player = [[BVPlayer alloc] initWithData:[[BVData alloc] initPlayerID:<int> forPlaylistID:<int>] forView:<UIView>]
    
}

@end
import UIKit
import BridSDK

class ViewController: UIViewController {
    
    var player: BVPlayer?

    override func viewDidLoad() {
        super.viewDidLoad()
        player = BVPlayer(data: BVData(playerID: Int32, forPlaylistID: Int32), for: <UIView>)   
    }

}

Player with playlist by channel and option from what page and how many to load

#import "ViewController.h"
#import <BridSDK/BridSDK.h>
  
@interface ViewController ()

@property (nonatomic) BVPlayer *player;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    player = [[BVPlayer alloc] initWithData:[[BVData alloc] initPlayerID:<int> forChanneltID:<int> page:<int> item:<int>] forView:<UIView>]
    
}

@end
import UIKit
import BridSDK

class ViewController: UIViewController {
    
    var player: BVPlayer?

    override func viewDidLoad() {
        super.viewDidLoad()
        player = BVPlayer(data: BVData(playerID: Int32, forChanneltID: Int32, page: Int32, item: Int32), for: <UIView>) 
    }

}

Player with latest videos playlist and option from what page and how many to load

#import "ViewController.h"
#import <BridSDK/BridSDK.h>
  
@interface ViewController ()

@property (nonatomic) BVPlayer *player;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    player = [[BVPlayer alloc] initWithData:[[BVData alloc] initPlayerID:<int> forLatestID:<int> page:<int> item:<int>] forView:<UIView>]
    
}

@end
import UIKit
import BridSDK

class ViewController: UIViewController {
    
    var player: BVPlayer?

    override func viewDidLoad() {
        super.viewDidLoad()
        player = BVPlayer(data: BVData(playerID: Int32, forLatestID: Int32, page: Int32, item: Int32), for: <UIView>)   
    }

}

Player with a video by tag playlist, it loads video with tag string and option from what page and how many to load

#import "ViewController.h"
#import <BridSDK/BridSDK.h>
  
@interface ViewController ()

@property (nonatomic) BVPlayer *player;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    player = [[BVPlayer alloc] initWithData:[[BVData alloc] initPlayerID:<int> forTag:<String> page:<int> item:<int>] forView:<UIView>]
    
}

@end
import UIKit
import BridSDK

class ViewController: UIViewController {
    
    var player: BVPlayer?

    override func viewDidLoad() {
        super.viewDidLoad()
        player = BVPlayer(data: BVData(playerID: Int32, forTag: String, page: Int32, item: Int32), for: <UIView>)   
    }

}

Player with custom single video object:

#import "ViewController.h"
#import <BridSDK/BridSDK.h>
  
@interface ViewController ()

@property (nonatomic) BVPlayer *player;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
  
    //Create video object
    Source *source = [[Source alloc] init];
    source.sd = @"<yourVideoUrl>"
    VideoData *videoObject = [[VideoData alloc] initWithVideo:<videoID> duration:"<durationVideo>" ageGateId:nil name:"nameOfVideo" _description:"<decription>" image:"<image>" thumbnail:"<imageThumbnail>" clickthroughUrl:nil thumb:<"<imageThumb>"> publish:nil mimeType:nil webp:nil monetize:nil liveimage:nil secureUrl:nil source:source traxcks:nil];
  
     //Init player
    player = [[BVPlayer alloc] singleVideo:<videoObject> layerID: <playerID>, for: <yourView]
}

@end
import UIKit
import BridSDK

class ViewController: UIViewController {
    
    var player: BVPlayer?

    override func viewDidLoad() {
        super.viewDidLoad()
      
        //Create video object
        let source = Source()
        source.sd = "<yourVideoUrl>"
        let videoObject = VideoData(video: <videoID>, duration: "<durationVideo>", ageGateId: nil, name: "nameOfVideo", _description: "<decription>", image: "<image>", thumbnail: "<imageThumbnail>", clickthroughUrl: nil, thumb: "<imageThumb>", publish: nil, mimeType: nil, webp: nil, monetize: nil, liveimage: nil, secureUrl: nil, source: source, tracks: nil)
      
        //Init player
        player = BVPlayer(singleVideo: videoObject, playerID: <playerID>, for: <yourView>)
    }

}

Player with custom playlist video objects:

#import "ViewController.h"
#import <BridSDK/BridSDK.h>
  
@interface ViewController ()

@property (nonatomic) BVPlayer *player;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
  
    //Create video objects
    Source *source = [[Source alloc] init];
    source.sd = @"<yourVideoUrl>"
    VideoData *videoObject = [[VideoData alloc] initWithVideo:<videoID> duration:"<durationVideo>" ageGateId:nil name:"nameOfVideo" _description:"<decription>" image:"<image>" thumbnail:"<imageThumbnail>" clickthroughUrl:nil thumb:<"<imageThumb>"> publish:nil mimeType:nil webp:nil monetize:nil liveimage:nil secureUrl:nil source:source traxcks:nil];
    NSMutableArray<VideoData *> *arrayVideo = [[NSMutableArray alloc] init];
    [arrayVideo addObject:videoObject];
  
     //Init player
    player = [[BVPlayer alloc] playlist:arrayVideo layerID: <playerID>, for: <yourView]
}

@end
import UIKit
import BridSDK

class ViewController: UIViewController {
    
    var player: BVPlayer?

    override func viewDidLoad() {
        super.viewDidLoad()
      
        //Create video objects
        let source = Source()
        source.sd = "<yourVideoUrl>"
        let videoObject = VideoData(video: <videoID>, duration: "<durationVideo>", ageGateId: nil, name: "nameOfVideo", _description: "<decription>", image: "<image>", thumbnail: "<imageThumbnail>", clickthroughUrl: nil, thumb: "<imageThumb>", publish: nil, mimeType: nil, webp: nil, monetize: nil, liveimage: nil, secureUrl: nil, source: source, tracks: nil)
        var arrayVideo = [VideoData]()
        arrayVideo.append(videoObject)
      
        //Init player
        player = BVPlayer(playlist: arrayVideo, playerID: <playerID>, for: <yourView)
    }

}

Did this page help you?