Все наверное видели, как в играх можно поделиться экранам игры в соц сетях share, это фишка очень полезная, так как игрок хвастаясь игрой, рекламирует бесплатно Вас! Можно сказать скрытая реклама!
Вот как у меня:
А вот код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
// Повесить на кнопку где выбодите делиться в соц сетях public void ShareMe() { StartCoroutine( ShareScreenshot() ); } // Сам код public IEnumerator ShareScreenshot() { // Настройки плагина string shareText = "Правда не ложь?\n"; string gameLink = "Скачай игру на андроид, узнай 100 невероятных фактов!!! "+"\nhttps://play.google.com/store/apps/details?id=com.AntonBergovStudios.Pravda"; string subject = "Правда не ложь"; string imageName = "MyPic"; // without the extension, for iinstance, MyPic // wait for graphics to render yield return new WaitForEndOfFrame(); //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- PHOTO // create the texture Texture2D screenTexture = new Texture2D(Screen.width, Screen.height,TextureFormat.RGB24,true); // put buffer into texture screenTexture.ReadPixels(new Rect(0f, 0f, Screen.width, Screen.height),0,0); // apply screenTexture.Apply(); //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- PHOTO byte[] dataToSave = screenTexture.EncodeToPNG(); string destination = Path.Combine(Application.persistentDataPath,System.DateTime.Now.ToString("yyyy-MM-dd-HHmmss") + ".png"); File.WriteAllBytes(destination, dataToSave); if(!Application.isEditor) { // block to open the file and share it ------------START AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent"); AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent"); intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND")); AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri"); AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse","file://" + destination); intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_STREAM"), uriObject); intentObject.Call<AndroidJavaObject> ("setType", "text/plain"); intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), shareText + gameLink); intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_SUBJECT"), "SUBJECT"); intentObject.Call<AndroidJavaObject>("setType", "image/jpeg"); AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity"); currentActivity.Call("startActivity", intentObject); } } |