10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ionic/CordovaアプリでFacebookログイン

Last updated at Posted at 2014-11-30

CordovaアプリでFacebookログインを実現するためにしたことメモ。ionicを使ったが、cordova系ならだいたい同じかと思う

1. Facebookでアプリ登録

Facebook Developersにてアプリを新規で登録する

2. phonegap-facebook pluginをセットアップ

pluginディレクトリにプラグインをcloneする

$ cd {APP_ROOT}/plugin
$ git clone https://github.com/Wizcorp/phonegap-facebook-plugin.git

3. プラットフォーム毎の設定

Android

key hashを生成しFacebook developerに登録

下記コマンドでkey hashを生成する

$ keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

パスワードはandroidを入力する。(じゃないとうまいいかなかった)

生成したkey hashをfacebook developerにて登録する

プラグインにアプリIDとアプリ名をセットする

$ cordova -d plugin add  plugins/phonegap-facebook-plugin --variable APP_ID=1234567890 --variable APP_NAME="your-app-name"

iOS

プラグインにアプリIDとアプリ名をセットする。(もしやandoridでやっておけばいらないかも)

$ cordova -d plugin add  plugins/phonegap-facebook-plugin --variable APP_ID="1234567890" --variable APP_NAME="your-app-name”

Web

ionicの場合はplugin内のjsファイルを下記のようにコピーする。(じゃないとうまくいかなかった)

$ cp plugins/phonegap-facebook-plugin/www/js/facebookConnectPlugin.js www/js/

www/index.htmlのbodyすぐ下に下記タグを記入する

<div id="fb-root"></div>
<script src="js/facebookConnectPlugin.js"></script>

AppIDのセット

angular.module('yourApp',['ionic','ngCordova'])
.config(function($cordovaFacebookProvider){
    $cordovaFacebookProvider.setAppID(1234567890);
})
;

Tips: facebookでのドメイン設定

localhostで動かす場合はfacebook developersにてSite URLをhttp://localhost:8100/のようにlocalhostを含むURLを指定した後、ドメインをlocalhostとして設定する

4. 実装

使い方は下記のような感じ。こう書くことで全てのデバイスで同じように動く

anglar.module('myConrollers',[])
.controller('loginController', function( $scope, $cordovaFacebook ){
  $scope.login = function(){
    $cordovaFacebook.login(["public_profile", "email"])
    .then(function(success) {
        console.log("facebook id:" + success.authResponse.userID );
    });
  };
});
10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?