facebook twitter hatena line email

「Unity/画像共有/NatShare」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(Androidビルド時にcore-1.6.0とjetified-core-1.0.0-rc02が競合するとき)
(テキストと画像共有)
行36: 行36:
 
         payload.Commit();
 
         payload.Commit();
 
     }
 
     }
     // 画像共有
+
     // キャプチャ画像共有
 
     void ShareImage()
 
     void ShareImage()
 
     {
 
     {
行44: 行44:
 
         payload.Commit();
 
         payload.Commit();
 
     }
 
     }
     // テキスト&画像共有
+
     // テキスト&キャプチャ画像共有
 
     void ShareTextImage()
 
     void ShareTextImage()
 
     {
 
     {
行53: 行53:
 
         payload.Commit();
 
         payload.Commit();
 
     }
 
     }
 +
    // 通常画像共有
 +
    void ShareImage()
 +
    {
 +
        Texture2D texture = image.texture;
 +
        var payload = new SharePayload();
 +
        payload.AddImage(screetexturenshot);
 +
        payload.Commit();
 +
    }
 +
    void
 +
    CanvasImage.texture
 
}
 
}
 
</pre>
 
</pre>

2023年4月5日 (水) 19:16時点における版

NatShareとは

画像共有プラグイン

androidはversion7.0以上のみ対応

参考:https://nobushiueshi.com/unitysns%E5%85%B1%E6%9C%89%E3%81%AFnatshare%E3%81%8C%E3%81%8A%E3%81%99%E3%81%99%E3%82%81/

DL&Import

NatShare(github):https://github.com/natmlx/NatShare

githubのcodeからNatSuite-mainをDLし、Assets以下に設置。

x NatShare(UnityAssets):https://assetstore.unity.com/packages/tools/integration/natshare-mobile-sharing-api-117705

UnityAssetsでのインストールは、coreが競合する恐れがあるので、やめておく。詳しくは下の競合項目を。

テキストと画像共有

using UnityEngine;
using UnityEngine.UI;
using NatSuite.Sharing;

public class SampleScene : MonoBehaviour
{
    void Start()
    {
        GameObject.Find("TextButton").GetComponent<Button>().onClick.AddListener(ShareText);
        GameObject.Find("ImageButton").GetComponent<Button>().onClick.AddListener(ShareImage);
        GameObject.Find("TextImageButton").GetComponent<Button>().onClick.AddListener(ShareTextImage);
    }
    // テキスト共有
    void ShareText()
    {
        var payload = new SharePayload();
        payload.AddText("ここに共有したいテキストを入力");
        payload.Commit();
    }
    // キャプチャ画像共有
    void ShareImage()
    {
        var screenshot = ScreenCapture.CaptureScreenshotAsTexture();
        var payload = new SharePayload();
        payload.AddImage(screenshot);
        payload.Commit();
    }
    // テキスト&キャプチャ画像共有
    void ShareTextImage()
    {
        var screenshot = ScreenCapture.CaptureScreenshotAsTexture();
        var payload = new SharePayload();
        payload.AddText("ここに共有したいテキストを入力");
        payload.AddImage(screenshot);
        payload.Commit();
    }
    // 通常画像共有
    void ShareImage()
    {
        Texture2D texture = image.texture;
        var payload = new SharePayload();
        payload.AddImage(screetexturenshot);
        payload.Commit();
    }
    void 
    CanvasImage.texture
}

Androidビルド時にcore-1.6.0とjetified-core-1.0.0-rc02が競合するとき

エラー詳細

java.lang.RuntimeException: Duplicate class android.support.v4.graphics.drawable.IconCompatParcelizer found in modules core-1.6.0-runtime.jar (androidx.core:core:1.6.0) and jetified-core-1.0.0-rc02-runtime.jar (:core-1.0.0-rc02:)

AdMobプラグインが、core-1.6.0を使ってるぽい。

対応方法

  1. NatShareプラグインをUnityAssetsからDLしてる場合は、githubからDLするように
  2. NatShare-main/Plugins/Android/core-1.0.0-rc02.aarを削除

参考:https://marumaro7.hatenablog.com/entry/natshareerror