유니티로 앱을 개발하고 배포하기전에 요 기능을 추가해주면 금상첨화이겠지요.

어떤기능이냐면, Share 기능. 사용자가 앱을 사용해보고 괜찮은것 같으면 친구나 주변 사람들에게 손쉽게 추천해 줄 수 있는 기능인데요, 구현 방법은 아래와 같아요.


일단 요 소스코드의 출처부터 남겨놓을께요.

https://github.com/tejas123/general-sharing-in-android-ios-in-unity


사용방법은, 각자의 클래스를 하나 만들던지, 아니면 이미 생성되어 있는 클래스에다가 아래 구현 코드를 복사해서 넣어줍니다.

맨위에, subject, body에는 각자 본인의 내용을 적어주면 되겠지요



public class MainScene : MonoBehaviour {


    // Share 해서 보낼때, 제목

    string subject = "Hey Cube";


    // 연결될 마켓 주소(링크)

    string body = "https://play.google.com/store/apps/details?id=com.eyen.shaperunner3d";


    // UI에서 Share 기능을 호출할 함수

    public void ShareApp()

    {

        SoundManager.instance.PlayExf(0);

        StartCoroutine(ShareAndroidText());

    }


    IEnumerator ShareAndroidText()

    {

        yield return new WaitForEndOfFrame();

        //execute the below lines if being run on a Android device

#if UNITY_ANDROID

        //Reference of AndroidJavaClass class for intent

        AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");

        //Reference of AndroidJavaObject class for intent

        AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");

        //call setAction method of the Intent object created

        intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));

        //set the type of sharing that is happening

        intentObject.Call<AndroidJavaObject>("setType", "text/plain");

        //add data to be passed to the other activity i.e., the data to be sent

        intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_SUBJECT"), subject);

        //intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TITLE"), "Text Sharing ");

        intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), body);

        //get the current activity

        AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

        AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");

        //start the activity by sending the intent data

        AndroidJavaObject jChooser = intentClass.CallStatic<AndroidJavaObject>("createChooser", intentObject, "Share Via");

        currentActivity.Call("startActivity", jChooser);

#endif

    }

}



자 이제 남은건 구현된 코드를 UI에 연결시켜주는 작업이 남았네요.  버튼 이벤트 등록하시는것 다 아시지요?

저는 구현된 코드를 Share라는 UI버튼에 연결시켜 주었답니다.



자 이렇게 하면 끝! 정말 간단하지요?

앱 배포전에 요 Share 기능 추가해서 배포하세요^^