I am trying to get my app on the Google Play store. It is well over the 50MB limit at around 250MB. I have followed the tutorial found here: http://labs.exoa.fr/tutorial-unity-4-apk-splitting-google-play-obb/ This worked great when I started fresh with a new project, both in Unity and on Google Play. However, when I try to implement it in my existing project I get an error: This happens after I click the download button in the example. Any way to narrow down what setting I need change to get this working? The only hint I have is that I am using several prime31 plugins along with the Google Play OBB Downloader plugin. They both seem to want to modify the AndroidManifest.xml file, along with styles.xml, strings.xml, and main.xml. I have done my best to merge these manually, however I'm not really sure what some of it is doing. Any help would be appreciated!
Hey folks, I'm having a similar problem. Have you made any progress on this? We've never used the OBB downloader before and I'm not sure what settings could cause this problem. Thanks, Jared
Hey guys, I have the same problem now. Is anyone able to resolve this ? Sometimes I get "Download failed because you may not have purchased this app" and sometimes I get "Download failed because the resources could not be found"
"Download failed because resources could not be found" is due to propagation on Google's servers. You just need to wait a little longer before testing.
Hey Guys i'm hoping you can help me ... i have following problem ... i set up a test project with a downloaderscene and a game scene the downloader scene contains the obbdownloaderexample from this tutorial http://labs.exoa.fr/tutorial-unity-4...ogle-play-obb/ the downloaderscene trys to start the download ... after a few seconds it says that the download has finished but he it did not download anything ... is this supposed to happen since the App is not published yet or is there an error? Hope you can help me!
I'm having the exact same problem. Except for me its clearly downloading my obb file but it doesn't appear to be saving it anywhere. the mainpath is /storage/emulated/0/Android/obb/ <bundle identifier>/ <obb file name> Cannot find the obb file or this folder on my device. I'm running on nexus 4 (android 4.2.2 )
Also having this problem. Could this happen when the LVL is wrong or what could cause this? It can't be because I tried too soon after uploading the apk/obb, because that was 24 hours ago.
I just split the APK and upload the APK and the expansion file to Google Play. I didn't add the OOB downloader to my project but everything still works. No customer has complained. Not sure the OOB downloader is needed for Google Play.
I think it's only needed in a minority of cases where the OBB file is not automatically downloaded (apparently some devices will not download the expansion at the same time). I want to make sure that in these cases the customer will be able to automatically download the OBB, but I'm having trouble with that.
I will just ask here instead of creating a new thread. Is anyone else having problem RESUSING an OBB package? I bump bundle version and leave bundle version code but launching new build with the old obb on the proper place still gives "add level to build settings". Only way for me to getting it work properly is to bump OBB version as well - any ideas?
I've always had to use the exact OBB that came with the APK every time I made any changes, otherwise always had that error. This was even in cases where the OBB's were the same version code, name, and exact file size. I'm currently waiting a couple hours to make sure google has correctly set my OBB to the newer one in order to do a quick test. Not sure if there are any workarounds for faster testing when you need to download it from google.
All right, thanks straafe. Will put in a bug report - see what happens... Just got a one star rating saying "each update uses up 300MB more of sd card each time".... aaaarg sometimes I wish I could reach in to the screen and grab the person ....
In Unity 4.3 the plugin will crash the app/device any time it tries to do the download. I had to (re)install the 4.2.2 Unity to keep working on a project.
How do I split the APK and upload it to google play? I have a game and it is only 64,245kb. Can you send me a tutorial so I can learn how to do it?
I upload the apk and OBB to Google Play for about two days, but when I run the apk, I get "Download failed because the resources could not be found", how to solve this? I do a test demo as "http://labs.exoa.fr/tutorial-unity-4-apk-splitting-google-play-obb/". Is there some setting not right?
You may want to do some coding in removing the old obb files. (That's what I did for my project) for(int i=1; i < currentAndroidVersionNo; i++) { string obbFile = string.Format("{0}/main.{1}.{2}.obb", obbPath, i, <package_name>); if (File.Exists(obbFile)) { File.Delete(obbFile); } } This will delete all the unwanted (previous) obb files that is still on the device. You guys may want to take a look at this particular tutorial too. Hope it helps. http://smartkiran.wordpress.com/201...d-windows-also-works-on-mac-havent-tested-it/
hi, so this tutorial link does not exist no more. http://labs.exoa.fr/tutorial-unity-4...ogle-play-obb/ Has anyone know how to do it work at current environment? unity 4.3.4 newest. and asset store's unity official google obb downloader's reply, users says there are bugs on unity4.0 then how should I do now? Thx.
Bump. As Leegod mentioned, comments on the asset store for google obb downloader, say don't use it in Unity 4.0. Should you/shouldn't you use this asset? If not, what is the correct process for splitting APK and downloading OBB? Thx
I'm also trying to track this down. I had this working in my project for months, and then all of a sudden my ooh files stopped downloading. I wanted to re-download the package and see if i had accidentally changed something, but I can't find it anywhere. Is the package still the way to do this or is there a better way now?
For two weeks I was fighting this problem. My solution was to use a different browser to upload the obb. With Safari I had the problem that no obb file was found. The upload with Firefox works for me. You don't need to use the Google OBB Downloader-Asset. Split your app in unity3d. If your first scene is small enough, just upload the apk and the obb. Otherwise create an empty scene and put it in first position in build settings. In this scene you only have to load the next scene. When installing your app with Google Play your apk file and the matching obb file will be automatically downloaded and installed.
Been looking all over the internet for this, its crazy how it does not auto delete old obbs, my players must have about 8 now (all around 60mb each) ah well, at least i found out and can now fix it! ^_^ Thank you for being the only post within my 30mins search that had a solution!
This is helpful, however it does not work in my case. I don't know about other platforms but on Android, the old obb file names aren't necessarily named in the same format. On my devices, some are named with temp.*something*.packagename. If you are using GoogleDownloader like me, you can get the version number from the plugin easily by changing the private static int to public at GoogleDownloaderImpl.cs to grab the ObbVersion at m_ObbVersion. Here's my code to delete all old OBBs for anyone else looking. There's not a lot of examples on the web. Code (CSharp): void DeleteOldOBB() { m_obbDownloader = GooglePlayObbDownloadManager.GetGooglePlayObbDownloader(); m_obbDownloader.PublicKey = // YOUR PUBLIC KEY HERE string expPath = m_obbDownloader.GetExpansionFilePath(); var mainPath = m_obbDownloader.GetMainOBBPath(); int obbVersion = GooglePlayObbDownloader.ObbVersion; if(expPath != null) { DirectoryInfo dir = new DirectoryInfo(expPath); FileInfo[] info = dir.GetFiles("*.*"); // The file exists -> run event foreach (FileInfo f in info) { if (f.Name == "main." + obbVersion + <package_name> + ".obb") //YOUR PACKAGE NAME HERE { //Don't do anything Debug.Log("Keep this " + f.Name); } else { // There are other files in this folder, delete them File.Delete(expPath + "/" + f.Name); //To make sure it is deleted on android #if UNITY_ANDROID using (AndroidJavaClass jcUnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) using (AndroidJavaObject joActivity = jcUnityPlayer.GetStatic<AndroidJavaObject>("currentActivity")) using (AndroidJavaObject joContext = joActivity.Call<AndroidJavaObject>("getApplicationContext")) using (AndroidJavaClass jcMediaScannerConnection = new AndroidJavaClass("android.media.MediaScannerConnection")) using (AndroidJavaClass jcEnvironment = new AndroidJavaClass("android.os.Environment")) using (AndroidJavaObject joExDir = jcEnvironment.CallStatic<AndroidJavaObject>("getExternalStorageDirectory")) { jcMediaScannerConnection.CallStatic("scanFile", joContext, new string[] { expPath + "/" + f.Name }, null, null); } #endif } } } }