Moments icon indicating copy to clipboard operation
Moments copied to clipboard

how to share recorded gif

Open stickylabdev opened this issue 6 years ago • 2 comments

how to do ? in android

stickylabdev avatar Jun 08 '18 22:06 stickylabdev

NOTE : This Is works only for Android/IOS.

yes you can definetly share GIF all you need to do just download a plugin for that which is called NativeShare you can download it from here : https://github.com/yasirkula/UnityNativeShare

it is also avilable in unity asset store: https://assetstore.unity.com/packages/tools/integration/native-share-for-android-ios-112731

just create a new scene and import that unity package

after that create a new script(give it a name you want).

then paste this code:

void Update() { if( Input.GetMouseButtonDown( 0 ) ) StartCoroutine( TakeSSAndShare() ); }

private IEnumerator TakeSSAndShare() { yield return new WaitForEndOfFrame();

Texture2D ss = new Texture2D( Screen.width, Screen.height, TextureFormat.RGB24, false );
ss.ReadPixels( new Rect( 0, 0, Screen.width, Screen.height ), 0, 0 );
ss.Apply();

string filePath = Path.Combine( Application.temporaryCachePath, "shared img.png" );
File.WriteAllBytes( filePath, ss.EncodeToPNG() );

// To avoid memory leaks
Destroy( ss );

new NativeShare().AddFile( filePath ).SetSubject( "Subject goes here" ).SetText( "Hello world!" ).Share();

// Share on WhatsApp only, if installed (Android only)
//if( NativeShare.TargetExists( "com.whatsapp" ) )
//	new NativeShare().AddFile( filePath ).SetText( "Hello world!" ).SetTarget( "com.whatsapp" ).Share();

}

after that for testing create a build for android and when you click on the screen you can share a screenshot to social media.

for the GIF file you just need this code

void Update() { if( Input.GetMouseButtonDown( 0 ) ) StartCoroutine( TakeSSAndShare() ); } private IEnumerator TakeSSAndShare() { yield return new WaitForEndOfFrame(); string filePath = Path.Combine( yourGIFfilepath , yourGIFname.gif ); //both perameters must be in string format. new NativeShare().AddFile( filePath ).SetSubject( "Subject goes here" ).SetText( "Hello world!" ).Share(); }

and after building apk when you click on screen you can share that gif file to social media. (Remember some social media platform does not support gif file format so just keep that in your mind).

Nameless77 avatar May 06 '20 10:05 Nameless77

it's been a while ,, im so sad , but thanks

stickylabdev avatar May 06 '20 23:05 stickylabdev