Unityで作ったARアプリのスコアをTwitterで共有できるようにしたかった。
いろいろ調べたら素晴らしいプラグインがあったので、こちらを利用してみました。
Social Connector
開発者はユニティ・テクノロジーズ・ジャパンのけーご(@kyusyukeigo)さん。
公開されたのはかなり前らしいけど、この記事を書いている9日前にも更新が入っているので安心して使えそう。
zlib Licenseで公開されているので、ライセンス表示を行えば商用利用も問題ないはずです。
使い方
上記のGithubから"Clone" or "Download ZIP"でソースコードを取得する。
取得したソースをUnityプロジェクトのAssets以下にコピーする。コピーした後に気付いたけど、unitypackageもあるのでそちらをインポートしてもよい。(というかそっちの方がいい気がする)
LICENSE.txtの内容を記述するのを忘れずに!
実装してみる
"シェア"ボタンを押したら、onClickShareが実行されて、ソーシャル共有のUIが表示される動きを想定してます。
画面キャプチャなしでテキスト、URLを共有したい場合は1行のコードで動いた。
public void onClickShare () { SocialConnector.SocialConnector.Share ("ツイートしたいテキスト", "https://twitter.com/jyuko49", null); }
画面キャプチャを共有したい場合、CaptureScreenshotで取得した画像を第三引数に渡せばいいのだけれど、スクリーンショットと共有UIを処理を連続して実行すると画像の添付がされていなかった。
キャプチャ処理が終わるまで間隔を空けた方がよさそうだったので、コルーチンを使ってCaptureScreenshotの後に中断を入れたら違和感なく動きました。
public void onClickShare () { StartCoroutine ("_share"); } private IEnumerator Sample() { Application.CaptureScreenshot ("image.png"); yield return null; var shareText = "Unityからツイートするテスト"; var shareUrl = "https://twitter.com/jyuko49"; var imagePath = Application.persistentDataPath + "/image.png"; SocialConnector.SocialConnector.Share (shareText, shareUrl", imagePath); }
iOSからTwitterへのツイートしか動作確認してないですが、
あとは普通にツイートボタンを押すだけで、画像付きのツイートができました。
Unityからツイートするテストhttps://t.co/nxu09iyLe4 pic.twitter.com/jQ5sTDWgl6
— jyuko🐼 (@jyuko49) 2018年4月3日
まとめ
プラグインのおかげですごく簡単でした。