Androidはワンツーパンチ 三歩進んで二歩下がる

プログラミングやどうでもいい話

FacebookのAndroidアプリを作る。開発者登録〜FacebookアプリID取得

developers.facebook.com


AndroidFacebook SDKを使ったアプリを作成する場合、Facebookデベロッパーサイトでアプリを登録する必要があります。
その手順をまとめたいと思います。

(このエントリー作成時点のFacebook APIバージョンは2.0、Graph APIバージョンは2.4です。)

公式サイトもご覧ください。

1. Facebook開発者登録をする

Facebook開発者登録が済んでいない場合登録する必要があります。

https://developers.facebook.com/docs/apps/register
ここにアクセスします。

Create Developer Accountをクリックします。

プライバシーポリシーのところを「はい」にして、「登録」をクリックします。

f:id:sakura_bird1:20151003133651p:plain

完了ボタンをクリックします。

f:id:sakura_bird1:20151003133838p:plain

2.アプリを登録する

2-1.

Facebook開発者 - 開発者向けFacebook
ここにアクセスします。

タイトルバーから「New Apps」> 「Add a New App」を選択します。

すると次の画面が表示されますので、Androidを選択します。

1.で開発者登録をした場合は完了ボタンを押すと、この画面が表示されます。

f:id:sakura_bird1:20151003135000p:plain

入力欄が表示されますので、作成するアプリの名前を入力します。

f:id:sakura_bird1:20151003135258p:plain

「Create New Facebook App ID」ボタンをクリックします。

カテゴリ選択のダイアログが表示されますのでアプリのカテゴリを選択し、「Create App ID」ボタンをクリックします。

2-2.

SDKのダウンロードやエミュレータインストール用のAPKのダウンロードの案内が表示されます。
が、Android Studioを利用している場合、SDKをダウンロードする必要はないのでこちらからAndroid Studioにセットアップする方法を見た方がいいと思います。

developers.facebook.com


話は脱線しますが、Eclipseで以前のプロジェクト形式で取り込もうとしたらハマったことがあります。
できるだけAndroid Studioを使った方がよいです。sakura-bird1.hatenablog.com

2-3.パッケージ名とデフォルトアクティビティを登録する

f:id:sakura_bird1:20151003141029p:plain

パッケージ名とデフォルトアクティビティをそれぞれ記入します。
こちらは後から変更することが出来ます。
また、今は記入したくないという場合は、画面トップの「Skip Quick Start」ボタンをクリックして、アプリの設定画面から後から記入出来ます。

このパッケージ名を使用するか確認ダイアログが表示されますが、気にせず「Use this package name」をクリックします。

f:id:sakura_bird1:20151003141536p:plain

2-4. key hashを入力する

Development Key Hashesのところに開発者のPCで生成したハッシュ値を入力します。
リリース用のところはすでにkeystoreがあれば入力します。とりあえず今はDevelopmentの方だけでも大丈夫です。

ちなみに、Facebookサイトのやり方で生成したハッシュ値だと私の場合エラーになってしまいました。
現象はこちらと同じです。stackoverflow.com

仕方がないので、Javaコードからログを表示してそれを貼り付けました。

try{
        PackageInfo info = getPackageManager().getPackageInfo(
                "com.example.creeper", PackageManager.GET_SIGNATURES); // パッケージ名を自分のアプリにする
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:",Base64.encodeToString(md.digest(), Base64.DEFAULT));    // KeyHash:以降の文字列を使う

        }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

}


入力できたら「Next」ボタンをクリックします。

f:id:sakura_bird1:20151003143150p:plain


2-5. クイックスタート終了→App IDとApp Secret取得!

ここまできたらもうアプリIDは出来ています。

タイトルバーの「My Apps」> 今作成したアプリをクリックします。
App IDとApp Secretを控えておき、Androidアプリ内で指定します。

2-6. Key Hashesの設定

タイトルバーの「My Apps」> アプリ > Android > Key Hashes
に2-4で記入したハッシュ値を入力しておきます。

2-7. Single Sign OnをYesにする

2-6のついでにSingle Sign OnをYesにしておいた方がよいかと思います。
Single Sign Onについてこちらのサイトで説明してくださってます。

nex.fm


「Save Changes」ボタンをクリックします。

f:id:sakura_bird1:20151003144841p:plain


以上です。