今回からはSNSに投稿する方法について書いていきます。まずはじめにFacebookに画像をシェアする方法について書きます。
パッケージをインポートする
まずはじめにUnityのFacebook SDKをインポートします。Facebookのページからダウンロードします。この時ページの言語設定が日本語だと最新のSDKをダウンロード出来ないので、英語にする必要があります。
パッケージがダウンロード出来たらすべてインポートしてしまいます。今回使用したSDKバージョンは7.1.0です。
Facebookにアプリを登録する
Facebook SDKを使うためにはFacebookにアプリを登録する必要があります。まず、デベロッパーページに行き、上部メニューのMy Appsを選択します。もし開発者登録がされていなければこのような画面になるので、Register Nowを押して開発者登録をします。
利用規約に同意し、開発者登録が済むとこのような画面になるので、iOSかAndroidを選択します。今回はiOSを選択しました。
OSを選択すると、このような画面になるので、アプリの名称を入力しFacebook App IDを作成します。
また、カテゴリーを聞かれるので作成するアプリに沿ったものを選択します。
これでアプリが登録できました。
UnityのFacebook SDKにApp IDを設定する
作成したアプリのApp IDをUnityに登録していきます。パッケージをインポートすると、メニューにFacebookが増えているので、FacebookのEdit Settingsを選択します。すると、Inspectorに設定画面がでてくるので、そこのApp NameとApp IDに今作ったものをそれぞれ入力します。App IDはMy Appsから作成したアプリを指定すると開くページに記載してあります。
Facebookにシェアするスクリプトを作成する
次は実際にFacebookにシェアするためのスクリプトを作成します。まずは名前空間にFacebookとFacebook.UnityとSystem.Collections.Genericを追加します。シェアを行うのはFBクラスなので、初期化されていなければ初期化します。
次に、初期化されたあとFacebookにログインするための処理を書いていきます。今回画像のシェアを行うため、ログインはLogInWithPublishPermissionsを使用し、Publish Actionの使用許可を同時に求めます。
そしてFacebook.APIを使用して画像をPOSTします。画像はAssets/Resourceフォルダに配置してあります。Resourceフォルダに置くことで、Resources.Load()メソッドを使って読み込む事ができるようになります。読み込んだ画像はbyte配列に変換し、WWWFormにバイトデータとして追加しています。
これで任意のタイミングでfacebookShareAction()メソッドを呼び出すことで画像がシェアされるようになります。
終わりに
今回はFacebookに画像をシェアする方法について書きました。今回書いた内容はシェアする方法のうちの一つで、他にはダイアログを出したりする方法もあります。ちなみにこの方法だとアプリがユーザーに変わって投稿しているので、Facebookに審査に出す必要があります。
今回はFacebookだったので、次回はTwitterに投稿する方法について書いていこうと思います。
では、また。