UnityでFacebookSDKを使う際の注意点

デフォルトのAndroidManifestでは横向きで動かない

FacebookSettingでRegenerate Android ManifestでAndroidManifestをジェネレートできますが、このままでは横向きで動きません。

<activity android:name="com.facebook.LoginActivity" android:screenOrientation="landscape" android:configChanges="keyboardHidden|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">

このようにandroid:screenOrientation=”landscape”とlandscapeとして指定する必要があります。

Facebook側に登録するHashがkeystoreの状況によって変わってくる

Facebookと連携するアプリを作る場合、FacebookSettingのDebug Android Key Hashの値をサイト側に登録しますが、
この値が、アプリをPlayストアに公開できる状態にしているかどうかで変わってしまいます。
アプリに公開できるというのは、自分でkeystoreを作っているかどうかです。

UnityのFacebookSettingで見えているHashをいくらサイトに登録しても動きません
実際に必要なのは、以下のようにコマンドラインから実行したときの値を登録します。

本番用

こっちの値をサイトに登録します。

keytool -exportcert -alias hoge -keystore user.keystore | openssl sha1 -binary | openssl base64

デバッグ用

こっちの値はFacebookSettingに表示されている値。
keystoreを自分で作っていない場合は、ここの値でOK。

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

Android Facebook SDK: Key hash does not match any stored key hashes when uploading google play – Stack Overflow
android – How to generate Key Hash for facebook SDK In Mac – Stack Overflow
Unity Android using Facebook SDK, missing Debug Android KeyHash – Stack Overflow
このあたりハマっている人多いよー

FB.Login (“email,publish_actions”, LoginCallback)の第一引数には気をつけよう

Facebookログイン Version2.0(アプリのパーミッション仕様変更)

ここをちゃんと指定しないと動かなかったです。
とくに空っぽではダメで、何かしらのパーミッションは自分で指定する必要があります。

FB.Login ("email,publish_actions", LoginCallback);
Facebook Perfect GuideBook 2014年改訂版
森嶋 良子 鈴木 麻里子 田口 和裕
ソーテック社
売り上げランキング: 11,234