UnityアプリにSNSシェアボタンを手軽に実装する事が出来るアセットNativeShareを最新のUnity6に実装して、実際にandroid実機で動かすまでの手順を備忘録も兼ねて書き残しておこうと思います。X(旧Twitter)などへのシェア機能を実装してみたい方は参考にしてみてください。
# 【超重要】NativeShareの現状について
GitHubリポジトリには、こう書かれています。
NOTICE: This asset is no longer maintained! Consider using alternative sharing solutions that are actively being maintained. While using this package, expect issues when sharing a file/image/video with a text (see FAQ).
日本語に訳すと、
注意:このアセットはもう保守されていません!積極的にメンテナンスされている別の共有ソリューションを使うことを検討してください。このパッケージを使用している間、ファイル/画像/動画をテキストで共有する際に問題が発生することが予想されます (FAQ を参照してください)。
という事になります。つまり、今後アップデートはされないので、将来のUnityバージョンで動かなかったり、未知の不具合や脆弱性が発見されたりする可能性があるという事です。また、それらが修正される事もありません。予めご理解の上、ご利用お願いします。
万一発生した損害、トラブルについても、当方およびアセット製作者様は一切責を負いかねますので予めご了承下さい。
# テスト環境
- ・ Windows10
- ・ Unity6(6000.0.30f1)
- ・ NativeShare v1.5.3
# NativeShareインストール
Unity Hubで新規プロジェクトを作り、メニューのPackage ManagerでGitHubリポジトリからNativeShareをimportしてください。
# ボタンオブジェクト作成
まず、新規プロジェクトのヒエラルキー上に適当なボタンオブジェクト作成を作成して、下記のスクリプトをアタッチします。 スクリプトはGitHubリポジトリ サンプルコードからコピーしたものに少し手を加えたものです。 あと、class名は適当で構いません。
上記スクリプトをボタンオブジェクトにドラッグ&ドロップしてアタッチすれば完成です。
# Manifestファイル作成
android向けのビルドにはManifestファイルが必要になります。Manifestファイルの雛形は通常、C:\Program Files\unity\6000.0.30f1\Editor\Data\PlaybackEngines\AndroidPlayer\Apk
などにあります。
※Unityのバージョンにより異なっている場合があります。
これをプロジェクトのAssets/Plugins/Androidにコピーします。その後必要に応じて書き換えて行きます。ちなみにファイル名はAndroidManifest.xmlではなくUnityManifest.xmlとなっています。AndroidManifest.xmlにすると実機で動作しなくなるのでご注意下さい。
デフォルトでは
となっています。<!--Used when Application Entry is set to GameActivity, otherwise remove this activity block-->
以降の部分は不要なので削除する。その後Manual Setup for Androidの説明に従い
を追加します。 完成した UnityManifest.xmlはこんな感じになるはずです。
出来上がったマニフェストファイルを所定のディレクトリに配置したら、Android向けにビルドをします。
# 実機インストール
使用した端末:某中華製の格安Android端末 Androidバージョン:Android 12
テストした環境ではインストールも実行も上手く行きました。GithubのFAQを見ると、Android11やAndroid12での動作確認をしていたようです。もしかしたらAndroid13以降、将来のバージョンでは何か支障が出る可能性がありますので、その時には諦めて他のアセットを使いましょう。
# 動作テスト
今回テストした端末では正常に動作しました。画面上のボタンを押すとシェア機能の画面が表示されて各SNSへのシェアが可能となります。# X(旧Twitter)への投稿
# Discordへの投稿
どちらのSNSにも画像つきで投稿できることを確認できました。 この端末にはこの2つしかインストールされてないので試せてませんが、他にも大抵のSNSにシェアできるはずです。
# 他の選択肢
最後に、他の選択肢についてですが、他にもSocial Connectorというアセットがあります。最終更新から5年近く経っており、今回はパスしました。今後気が向いたら挑戦してみるかもしれません・・・ また、有料のアセットであればもっと高機能なものが他にいくらでもあると思います。ビジネス利用などで高機能や信頼性を求めるのであれば、有料アセットを検討してみて下さい。