「Unity/画像共有/SocialConnector」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→組み込み方法) |
(→組み込み方法) |
||
| 行13: | 行13: | ||
==組み込み方法== | ==組み込み方法== | ||
| − | #SocialConnector.unitypackage をAssets/Import/ | + | #SocialConnector.unitypackage をAssets/Import/CustomImportを選択して、以下ファイルを入れる。 |
| − | + | Plugins | |
| + | Android | ||
| + | res | ||
| + | xml | ||
| + | filepaths.xml | ||
| + | SocialConnector | ||
| + | Editor | ||
| + | SocialConnectorPostProcess.cs | ||
| + | Plugins | ||
| + | Android | ||
| + | AndroidManifest.xml | ||
| + | support-core-utils-25.3.1.aar | ||
| + | SocialConnector.mm | ||
| + | Sample | ||
| + | Sample.cs | ||
| + | Sample.unity | ||
| + | SocialConnector.cs | ||
#SocialConnector/Plugins/Android/AndroidManifest.xmlをPlugins/Andoird/AndroidManifest.xmlへ移動 | #SocialConnector/Plugins/Android/AndroidManifest.xmlをPlugins/Andoird/AndroidManifest.xmlへ移動 | ||
2020年4月14日 (火) 13:57時点における版
SocialConnectorとは
unityから共有できるライブラリ
公式
https://github.com/anchan828/social-connector
追加される権限
androidの場合
android.permission.WRITE_EXTERNAL_STORAGE
iosの場合
プライバシーアクセス(NSPhotoLibraryUsageDescription)
組み込み方法
- SocialConnector.unitypackage をAssets/Import/CustomImportを選択して、以下ファイルを入れる。
Plugins
Android
res
xml
filepaths.xml
SocialConnector
Editor
SocialConnectorPostProcess.cs
Plugins
Android
AndroidManifest.xml
support-core-utils-25.3.1.aar
SocialConnector.mm
Sample
Sample.cs
Sample.unity
SocialConnector.cs
- SocialConnector/Plugins/Android/AndroidManifest.xmlをPlugins/Andoird/AndroidManifest.xmlへ移動
- SocialConnector/Plugins/Android/resをPlugins/Andoird/resへ移動
- 以下のように呼び出し。
string imagePath = Application.persistentDataPath + "/image.png";
ScreenCapture.CaptureScreenshot("image.png");
SocialConnector.SocialConnector.Share(message, "https://github.com/anchan828/social-connector", imagePath);
android,iosともにテキストのshereができた。画像キャプチャのshareもできた。
androidx対応
- support-core-utils-25.3.1.aarを削除
- core.aarがアプリに設定されてなければ、https://mvnrepository.com/artifact/androidx.core/core/1.2.0 からaarをダウンロードして同じ場所に設置。(dependencyエラーが起こった場合はaarは不要なので削除しよう)
- 以下ファイルのandroid.support.v4.content.fileproviderからandroidx.core.content.FileProviderへ置換
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application android:theme="@style/UnityThemeSelector" android:icon="@drawable/app_icon" android:label="@string/app_name">
<activity android:label="@string/app_name" android:name="com.unity3d.player.UnityPlayerActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
<provider android:name="androidx.core.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:enabled="true" android:exported="false" android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/filepaths" />
</provider>
</application>
</manifest>
SocialConnector/SocialConnector.cs
var fileProvider = new AndroidJavaClass("androidx.core.content.FileProvider");
ios対応
以下エラーが出る場合
'autorelease' is unavailable: not available in automatic reference counting mode
xcode側/Build Phases/Compile SourcesのSocialConnector.mmをダブルクリックして -fno-objc-arc を追加
参考
http://nn-hokuson.hatenablog.com/entry/2018/05/16/195527
