UnityでTwitterだけのシェアボタンを作って画像付き投稿する方法

Social Connectorという、SNSでのシェア機能を簡単に実装できる素晴らしいアセットがあります。

しかし、これを普通に使ってしまうとTwitter、LINE、・・・といくつかのシェア方法をプレイヤーが選択してシェア、という流れになります。

もちろんこれでよければこのままで十分なのですが、個人的にシェア機能はTwitterだけでよくない・・・?と思っているので、シェア方法を選択する手間を省いてTwitterだけのシェアボタンを作りたいと思いました。

ということで、Twitterシェアに特化したSocial Connectorの導入方法をまとめます。
ちなみに画像付きのツイート、画像無しのツイート方法についてもご紹介します。

Social Connectorをダウンロードする

まずSocial Connectorをダウンロードするのですが、最新版は複数のシェア方法が選べてしまうバージョンなので、過去のバージョンをダウンロードします。

https://github.com/anchan828/social-connector/releases/tag/v0.2.9

上記サイトでバージョン0.2.9のSocialConnector.unitypackageをダウンロード。

ダウンロードしたUnityPackageをダブルクリックし、Unityプロジェクトにインポートします。

Sample.csを編集

インポートすると、以下のエラーが出ます。

Assets/Plugins/SocialConnector/Sample/Sample.cs(32,25): error CS0619: `UnityEngine.Application.CaptureScreenshot(string)’ is obsolete: `Application.CaptureScreenshot is obsolete. Use ScreenCapture.CaptureScreenshot instead (UnityUpgradable) -> [UnityEngine] UnityEngine.ScreenCapture.CaptureScreenshot(*)’

ただのサンプルですので、不要な場合はファイルごと削除してもらえばエラーは消えるのですが、一応このエラーの解消方法を。

Sample.csの32行目

Application.CaptureScreenshot("image.png");

となっているところを

ScreenCapture.CaptureScreenshot("image.png");

に変更してください。

これでエラーは消えるはず。

SocialConnector.mmを編集

インポートすると、Plugins > iOS 内に「SocialConnector.mm」というファイルがあると思います。

これを開き、まず9行目をコメントアウトします。


#import <QuartzCore/QuartzCore.h>
//#import "iPhone_View.h"
#import "Social/Social.h"

次に、中身は開かなくていいので、SocialConnector.mmを選択した状態でインスペクタを開き、
Platform settings > Framework dependencies の「Social」にチェックを入れます。

さらに、Platform settingsの一番下にある「Compile flags」のテキストボックスに「-fno-objc-arc」と入力します。

ツイート処理を実装する

Social Connectorの修正は終わったので、あとはボタンを作ってツイート処理を少し記述すれば完成。

適当なスクリプトに以下を記述します。


	public void TweetButton(){
		string text = "Your Score is 30000!! \n #GameTitle"
		string url = "https://itunes.apple.com/jp/app/id0000000000?mt=8";
		string image = "tweetImage.png";
		SocialConnector.PostMessage(SocialConnector.ServiceType.Twitter, text, url, image);
	}

textにはツイートする文章を(文字数に注意)、urlにはツイートするURLを(ストアURLやサポートページURL)、imageにはツイートに添付する画像の名前をそれぞれ入れてください。

画像添付が不要の場合は、imageにnullを代入します。

また、添付する画像はAssetsフォルダ(Projectの一番上のフォルダ)直下に「StreamingAssets」というフォルダを作り、その中に画像を入れてください。

空白文字を入れたり大文字小文字を間違えたりなど、フォルダ名のミスに注意。

あとはボタンを作って押されたら上記のTweetButton()を実行するようにすれば完成です!!

エディタでは確認できないので、一度ビルドして確認してみましょう。

コメント

  1. […] 参考サイト: UnityでTwitterだけのシェアボタンを作る方法(画像付き) […]

  2. こちらのブログでiOSビルド通りました。助かりました。こちらのtwitter実装は動きますが、その他Shareやその他SNS投稿は2021年現在は実行時エラーになりますね。トホホ