ゲーム画面付きシェアボタンを実装したいけどTwitter以外は要らない!

やっぱりシェアボタンがあるとユーザーさんに拡散してもらう機会が増えて宣伝にもなるので是非設置したいですよね!!!

そう思い立ち軽く調べた所、多くのサイトで「SocialConnector」を用いた実装方法を紹介されていたのですが、
それだと↓の画像ようにシェアメニューが表示され、ユーザーがシェア先を選んでそこから投稿するという流れになってしまいます。

ゲームのスコアってメールとかインスタとかに共有する人いる?

僕の偏見ですが、スコアの共有先って99%Twitterだと思うんですよね。
なのでユーザーさんの手数を減らしてあげることによって、より気軽に投稿してもらうためにTwitterオンリーのシェアボタンを実装しようと思います。

いざ、実装!

シェアボタンの入手、設置

Twitterのシェアボタン作成って滅茶苦茶ルールがあって面倒なので、今回は以下のURLから公式のものを使わせて貰います。
[ https://about.twitter.com/ja/company/brand-resources.html ]

今回は「ソーシャルアイコン」からダウンロードできる「Twitter_SocialIcon_Circle」を使います、適当にリザルトに設置してみたけど雰囲気と合わなすぎるな…

シェア機能の実装①

導入で「SocialConnector」を用いるとシェアメニューが出てしまうと言いましたが、過去バージョン(v0.2.9まで)はシェア先を限定できていたようです。
↓のリンクから「SocialConnector」のv0.2.9をダウンロードできます。
[ https://github.com/anchan828/social-connector/releases/tag/v0.2.9 ]

ダウンロードしたら現在のプロジェクトにインポートします。

シェア機能の実装②

適当なファイルに以下を記述します。

	//シェア
	public void Tweet()
	{
		StartCoroutine(_Tweet());
	}

	public IEnumerator _Tweet()
	{
		string screenShotPass = Application.persistentDataPath + "/screenShot.png";
		//前回の画像を消す
		File.Delete(screenShotPass);
		//スクリーンショット撮影
		ScreenCapture.CaptureScreenshot("screenShot.png");

		//なんかスクショ撮影のラグがあるから終わるまで待機
		while (true)
		{
			if (File.Exists(screenShotPass)) break;
			yield return null;
		}

		//投稿
		string tweetText = "";
		string tweetURL = "";
		SocialConnector.PostMessage(SocialConnector.ServiceType.Twitter,tweetText, tweetURL, screenShotPass);
	}

そしてシェアボタンを押したら上のTweet()を呼ぶようにすれば実装完了!

書き出して確認

エディター上だとうまく動かないので、書き出してテストします…

無事にツイート画面が表示されて実際の投稿も確認できました!!!!

お疲れ様です!!