制作一款成功的Android的最大挑战是，使它在不同的设备上运行良好—-让应用在三星Galaxy S III上运行好很容易。就测试而言，我们混用内部测试和云端测试。共有50多部内部测试设备，各种屏幕尺寸、CPU和GPU的都有，但之后我们用基于云技术的方法。现在有许多云技术供应商，通过网络，你可以远程访问数公里之后的设备。我们动用了不下100部的设备。
我们有意设定了限制：Android 2.3是最低标准，最小屏幕分辨率是320 x 480像素。游戏可以在更老一点的设备上运行，但我们不保证那样能呈现好品质，我们希望玩家能获得良好的游戏体验。
例如，iPhone 5引发了新一轮屏幕革命，但同时，新游戏再也不必支持iPhone 3GS和它没有采用视网膜技术的屏幕分辨率。iOS的更新也很快，所以今天它足以支持iOS 6和iOS 5。
另一件关于iOS的事是，屏幕大小确实不同，但除此之外，设备的性能基本一致。有些设备有相同的芯片——iPhone 4S和新的iPad Mini、iPad 2和新的iPod Touch都采用相同的A5芯片。它们的RAM和性能其实是一样的。
这可能与Android开发商有关。说到iOS，你的iPhone 5和全世界的iPhone 5都一样。而如果是Galaxy S III，它的内部模式就有10到12种。差别是很小，但作为开发商，你应该意识到这个事实。
How the cloud helped social gaming firm Wooga prepare for its Android invasion
By David Meyer
Berlin’s highly successful games studio is moving into Android, starting off with a new version of the hit Diamond Dash. It seemed like a good time to get a snapshot developer perspective on coding for the big two mobile platforms.
Berlin’s Wooga has evolved into one of the top social games companies out there, initially just on Facebook but then, very successfully, on iOS as well. Now’s it’s moving into Android, with the first release, out today, being a new version of Diamond Dash.
There are a lot of interesting challenges in a shift like this, especially when you’re trying to provide a slick experience for Android’s enormous range of devices. Luckily, CEO Jens Begemann was more than forthcoming on the matter when I spoke to him ahead of the launch.
Meyer: How big is your push into mobile?
Begemann: At the moment a little more than half the team is working on mobile. A year ago it was 10 percent, but since then we’ve doubled our number of employees [to 250] and at the same time increased the share of people working on mobile.
You have many millions of users – how come you’re only targeting Android now?
A year ago, when we made this decision to invest heavily into mobile, we were very aware that we wouldn’t automatically be successful on mobile because we were successful on the web. Because of this, focus was extremely important. We decided to focus on one platform, and that was iOS. In the spring and summer, we saw downloads continue to grow and our new games were on the right track.
Diamond Dash is an extremely popular game – on Facebook we’ve seen 70 million people play it, and on iOS we had over 30 million downloads. We still have over 20 million active users every month, so the expectations from our fanbase are very high [regarding any new version]. We put up a page on November 21st where people could sign up for the Android version, and we have collected 850,000 email addresses.
How different was the experience, coding for Android?
You have so many devices out there, so many carriers, so many versions of Android. We don’t want to disappoint people and this has been the biggest challenge. Overall, development is obviously different for iOS than for Android, but I wouldn’t say one is easier than the other.
The amount of code we could take over from one platform to the other was relatively little. We could reuse graphics, but basically the game has been rewritten. We used Objective-C in the case of iOS and C++ on Android – it’s not such a huge difference, but because the APIs are different it was basically rewriting. This is to be expected if you don’t use something like Unity.
The biggest task in building a successful Android game is to make it run well on a large range of devices – it’s easy to make something run well on the Samsung Galaxy S III. In terms of testing, we used a mix of in-house testing and testing in the cloud. We have more than 50 devices in-house, covering a broad range of screen sizes, CPUs and GPUs, but then we use cloud-based solutions. There’s a couple of providers coming up just now, where via the internet you have remote access to devices running thousands of kilometers away. We do that currently for over 100 real devices.
So you’re covering a broad base then. How far back are you going, in terms of the Android versions you’ll support?
We set a limitation intentionally: we have said that Android 2.3 is required, and a minimum screen resolution of 320 x 480 pixels. The game would run on older devices, but we can’t ensure a good quality, and we want to make all users happy.
It used to be a truism that any developer should address iOS first. It certainly sounds like Android is a lot of work if you want to address it comprehensively, but is that offset by way in which Android is overtaking iOS by numbers? Also, there’s a bit more fragmentation of iOS itself these days, in terms of new resolutions and so on. In short, does that truism still hold?
Everybody has to make their own conclusions. Regarding fragmentation, what we see on iOS is that all the time Apple brings out new devices and OS versions, but we see that the upgrade cycle is very fast. This means devices that came out three years ago don’t need to be supported anymore and OS version that came out two years ago don’t need to be supported anymore.
For example, the iPhone 5 introduces a new screen resolution, but at the same time for new games you don’t need to support the iPhone 3GS and its non-Retina screen resolution anymore. The iOS upgrade cycle is also fast, so today it’s enough to support iOS 6 and iOS 5.
Wait – 3GS owners can run iOS 6, the latest version, but you’re still not going to support them?
For new games in early 2013, we won’t support the iPhone 3GS anymore. We want to create artwork that is really optimised for Retina, and the non-Retina market share is declining.
One other thing about iOS. It’s true you have different screen sizes, but besides that the devices behave unbelievably similarly. Some devices have the same chip – the iPhone 4S and the new iPad Mini and the iPad 2 and the new iPod Touch all have the same A5 chip. They’re virtually identical in terms of performance and RAM.
And this is something that may be relevant for Android developers. In the case of iOS, if you have an iPhone 5, that’s an iPhone 5 worldwide. With something like the Galaxy S III, internally it’s about 10-12 different models. They’re small and slight variations, but as a developer you should be aware of this fact.
So in other words, Android is still way more labor-intensive?
It depends a bit on the level of quality you’re aiming for and how broad you want to go. We try to support an awful lot of devices, so it’s a bit more work. But it’s encouraging that Google tries to standardize – the Nexus devices help.
Finally, any thoughts on being plugged into Facebook these days? Will that work the same on Android?
We obviously have experience from iOS and we don’t know how it will be on Android, but we expect it to be very similar. We have deep Facebook integration so you can see your score versus your friend’s score, and we found that makes the game much more interesting. People who log in with Facebook are about twice as active, and they monetize about nine times better – if they’re competing against their friends, they’re more likely to buy a power-up.（source：gigaom）