環境
Unity 2019.3.12f1
macOS Catalina 10.15.4
はじめに
共有機能はSocial Connectorを使用すれば簡単にできるとのことなので使ってみました。
私の能力では結構はまってしまったので実装手順をメモ
前提
Admob広告を使用するためGoogleMobileAdsのパッケージをインポートしている。
今回使用したバージョンはV5.1.0です。
手順
1.ダウンロード
2.Unityにインポート
3.FileProviderに対応させる(Androidのみ)
3-1.ファイル場所の移動
3-2.マニフェストファイルの変更
4.書き込み設定変更(Androidのみ)
5.コードを書く
6.ボタンに割り当てる
1.ダウンロード
https://github.com/anchan828/social-connector#fileproviderに対応する
2.Unityにインポート
Unity側でAsset > Import Package > Custom Packageから
SocialConnector.unitypackageを選択
3.FileProviderに対応させる(Androidのみ)
ダウンロードページにはこう書かれています。
>引用始まり
>引用終わり
これをやるうえで注意しないといけないのは
GoogleMobileAdsのパッケージをインポートした時点で
PluginsフォルダとAndroidフォルダができあがっていること
結局なにをするのかというと次の2つです。
3-1.ファイル場所の移動
3-2.マニフェストファイルの変更
3-1.ファイル場所の移動
SocialConnector>Plugins>Androidの3つのファイルを
GoogleMobileAdsのパッケージをインストールすると生成される
Plugins>Android に入れる
3-2.マニフェストファイルの変更
先ほど移動した3つのファイルの一つであるAndroidManifestを編集
providerでかこまれているうちのandroid:authoritiesの内容を変更
4.書き込み設定変更(Androidのみ)
Player設定/その他の設定/書き込み許可をExternal(SDCard)に変更
5.コードを書く
using System.Collections; using System.Collections.Generic; using UnityEngine; using System;//DateTimeを使うとき必要 public class Kyouyuu : MonoBehaviour { //このShare()関数をボタンに割り付ける public void Share() { StartCoroutine(ShareScreenShot()); } IEnumerator ShareScreenShot() { //ファイル名が重複しないように実行時間を付与。 string fileName = DateTime.Now.ToString("ScreenShot yyyy-MM-dd HH.mm.ss") + ".png"; //スクリーンショット画像の保存先を設定。 string imagePath = Application.persistentDataPath + "/" + fileName; //スクリーンショットを撮影 ScreenCapture.CaptureScreenshot(fileName); // キャプチャを保存するので1フレーム待つ yield return new WaitForEndOfFrame(); // Shareするメッセージを設定 string text = "ツイート内容はここにかく \n#ハッシュタグ "; string URL = "宣伝のURL"; //一秒待つ これをやらないとうまくできない yield return new WaitForSeconds(1); //Shareする SocialConnector.SocialConnector.Share(text, URL, imagePath);//スクショいれる時 //SocialConnector.SocialConnector.Share(text, URL, null);//画像入れない時 } }
6.ボタンに割り当てる
自分の好きなボタンに割り当てる
おわりに
いろいろ格闘したわけですが、
苦労してネットからひろった情報は
Social Connectorのダウンロードページにかいてあるという始末。
これからはダウンロードページの説明よく読まなければ。。。