Skip to content

zyra/ngx-facebook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

71fe8c9 · Apr 2, 2017
Apr 2, 2017
Apr 2, 2017
Mar 28, 2017
Apr 1, 2017
Apr 1, 2017
Mar 31, 2017
Apr 2, 2017
Jun 3, 2016
Apr 2, 2017
Apr 2, 2017
Apr 1, 2017
Apr 1, 2017
Apr 1, 2017
Apr 2, 2017
Mar 31, 2017
Apr 1, 2017
Apr 2, 2017

Repository files navigation

Angular2 Facebook SDK

This is a wrapper for the official Facebook JavaScript SDK. It makes it easier to use Facebook SDK with Angular 2 by providing components, providers and types.



NPM NPM

npm CircleCI Travis Sauce Test Status

Sauce Test Status



Installation

1. Install via NPM:

npm i --save ng2-facebook-sdk

2. Add the Facebook JavaScript SDK to your index.html

<script type="text/javascript" src="https://connect.facebook.net/en_US/sdk.js"></script>

3. Import FacebookModule into your app's root module

import { FacebookModule } from 'ng2-facebook-sdk';

@NgModule({
  ...
  imports: [
    FacebookModule.forRoot()
  ],
  ...
})
export class AppModule { }

If you only want to use FacebookService only, without using the other components, then you can import it in your app's module instead of FacebookModule.

4. Inject FacebookService and call the init method (optional):

This method must be called before using login or api methods. It is not required for other methods/components.

import { FacebookService, InitParams } from 'ng2-facebook-sdk';

...

export class MyComponentOrService {

  constructor(private fb: FacebookService) {

    let initParams: InitParams = {
      appId: '1234566778',
      xfbml: true,
      version: 'v2.8'
    };

    fb.init(initParams);

  }

}





Documentation

You can view complete and detailed documentation by visiting https://zyramedia.github.io/ng2-facebook-sdk/.





Example Usage

You can view our example project here and/or view its source code here



Example of login with Facebook

import { FacebookService, LoginResponse } from 'ng2-facebook-sdk';

@Component(...)
export class MyComponent {

  constructor(private fb: FacebookService) { }

  loginWithFacebook(): void {

    this.fb.login()
      .then((response: LoginResponse) => console.log(response))
      .catch((error: any) => console.error(error));

  }

}



Example of sharing on Facebook

import { FacebookService, UIParams, UIResponse } from 'ng2-facebook-sdk';

...

share(url: string) {

  let params: UIParams = {
    href: 'https://github.com/zyramedia/ng2-facebook-sdk',
    method: 'share'
  };

  this.fb.ui(params)
    .then((res: UIResponse) => console.log(res))
    .catch((e: any) => console.error(e));

}



Example of adding a Facebook like button

<fb-like href="https://github.com/zyramedia/ng2-facebook-sdk"></fb-like>



Example of playing a Facebook video

Basic video component usage:

<fb-video href="https://www.facebook.com/facebook/videos/10153231379946729/"></fb-video>

Advanced video component usage:

<fb-video href="https://www.facebook.com/facebook/videos/10153231379946729/" (paused)="onVideoPaused($event)"></fb-video>
import { Component, ViewChild } from '@angular/core';
import { FBVideoComponent } from 'ng2-facebook-sdk';

@Component(...)
export class MyComponent {

  @ViewChild(FBVideoComponent) video: FBVideoComponent;

  ngAfterViewInit() {
    this.video.play();
    this.video.pause();
    this.video.getVolume();
  }

  onVideoPaused(ev: any) {
    console.log('User paused the video');
  }

}





Disclaimer

A large portion of this module's documentation is copied from the official Facebook Docs. This is to make sure that everything is as clear as possible, and consistent with the way Facebook explains it.