ダーク/ライト切り替え

UnityでSNSシェアボタンを実装してみた(NativeShare)【Unity6対応】

投稿日2024-12-30

Picture of the logo


目次

目次を読み込み中...

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ファイル作成

Unityエディタ画面
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にすると実機で動作しなくなるのでご注意下さい。
manifest
デフォルトでは

となっています。<!--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)への投稿

X投稿

# Discordへの投稿

Discord投稿

どちらのSNSにも画像つきで投稿できることを確認できました。 この端末にはこの2つしかインストールされてないので試せてませんが、他にも大抵のSNSにシェアできるはずです。

# 他の選択肢

最後に、他の選択肢についてですが、他にもSocial Connectorというアセットがあります。最終更新から5年近く経っており、今回はパスしました。今後気が向いたら挑戦してみるかもしれません・・・ また、有料のアセットであればもっと高機能なものが他にいくらでもあると思います。ビジネス利用などで高機能や信頼性を求めるのであれば、有料アセットを検討してみて下さい。






関連記事

GO言語サーバーとUnityクライアント(C#)をgRPCで接続テストしてみた【入門レベル】

blog

UnityでgRPCをする場合、Magic Onionを使うのがお手軽ですが、今回はGO言語でサーバーを構築してみたかったので最低限の接続機能を自作してみました。備忘録を兼ね書き残しておきます。

【Unity】文字列に禁止ワードが含まれているかチェックをする方法

blog

Unityで下品な単語など望ましくない言葉が含まれていないかをチェックする方法を紹介します

Unityでモザイク処理をする方法

blog

今回はUnityで画像にモザイク処理を掛ける方法を紹介します。標準機能では用意されていないようなのでカスタムシェーダーで実装します。

FirebaseStorageからUnityへファイルを読み込み、Resourcesに保存する

blog

UnityでFIREBASEのStorageサービスから画像ファイルをダウンロードしてシーン上に表示、保存するまでの簡単な手順紹介です。

UnityでFirebase Storeからデータを読み書きする

blog

FirebaseのFireStoreのデータをUnityから読み書きする手順を紹介します。入門レベル。

Unityで端末情報、IPアドレスを取得する方法

blog

Unityにて端末固有情報などをC#コードから取得する方法をまとめました。

UnityでTrail Rendererを使ってオブジェクトの軌跡を描画する

blog

今回はUnityでTrail Rendererを使ってオブジェクトの軌跡を描画する方法についてご紹介します。Trail Rendererを使うことで、オブジェクトがどのような軌跡を描いたかを可視化することができます。

【Unity】Json,CSVファイルを相互に変換する方法【備忘録】

blog

個人的備忘録も兼ねてUnityでインスペクタ上でテキストファイルを指定して、そのファイルから結果を取得する方法をいくつか紹介します。

【Unity】複数のシーンがあるアプリでシーン遷移を軽くするための工夫

blog

Unityでゲームアプリを作る際にシーンをまたぐ時に少しでもシーン遷移を軽くする方法を個人的備忘録も兼ねて書き残しておきます。

UNITYで扇形を作ってみた

blog

Unity上で扇形を作る機能が標準ではついてない?ようなので自作してみました。


スポンサーリンク

このサイトをシェアする