手機遊戲開發紀事【15】iOS/Android 雙平台開發遭遇的問題

有在注意遊戲新聞的網友,最近應該都有注意到,蘋果官方表示將會大幅縮短App上架的審查時間的相關新聞。這個縮短時間的新聞,一般的玩家可能根本不知道它的作用,但是對於遊戲開發商來說,這個審查時間的縮短可以減低開發者在同時開發iOS/Android雙平台時所遭遇到的某些困擾。

App Store and Google Play【App Store 和 Google Play 是兩個最重要的平台】

在移動平台上,App Store(iOS)和Google Play(Android)是兩個主要的平台。雖然說Android佔有的市場比例較高,不過因為iOS的含金量較高,因此大多數的遊戲開發者都會選擇同時開發iOS以及Android的版本。當初在專案開啟的時候,公司也是希望專案能夠同時推出兩個版本。不過,在實務上卻發現有一些困擾。

公司希望iOS和Android版本同時推出除了有市場方面的考量外。另外一個原因,就是考慮到遊戲上市後進行行銷的受眾。如果兩個版本能夠同時推出,那麼一次的行銷就可以同時對兩個平台的使用者發生作用。否則若是兩個版本分先後推出,那麼在第一個版本的時候進行行銷,會有事倍功半的狀況。

不過,當我們的專案在進行時,卻發現了想要這麼做實務上有問題。App Store與Google Play在App上架的審查時間上有差異,Google Play上架App大多數的狀況下幾個小時就會通過,但是App Store的審查卻不只這個時間。就同業們的經驗,一般會抓三週左右的時間。而且這個時間還是App沒有被退件,不需要重新送審的狀況。

換句話說,就算我們的專案真的同時完成了iOS與Android的版本,將兩個版本分別上傳到App Store與Google Play上,實際的狀況應該都是Android的版本很快的就通過了審查可以發佈,但是iOS的版本卻還要等上兩到三週的時間。

說到這裡,也許有人會覺得這不是什麼問題。既然iOS的版本需要那麼多的時間才能通過審查,那麼就等iOS版通過後兩個版本一起開放就好了。的確,第一個版本的確可以用這個方法解決,但是各位有沒有想到,後續的更新版本該怎麼辦?

對於自製遊戲來說,遊戲的上架代表著開始接受玩家的測試。我們做遊戲,沒有人敢保證自己的遊戲絕對沒有Bug,也絕對沒有需要修正與調整的地方。當遊戲上架,玩家開始在玩的時候,如果發現了有什麼問題時,這個審查時間的差異就造成了遊戲開發者的困擾。

在遊戲的更新上,遊戲設計者都會盡量的將資料做成可以即時更新的模式。這樣當遇到需要更新的時候,只要將更新的資料上傳到更新伺服器,然後玩家手中的App就會收到有更新資料的提示,接下來App就會自動下載這些資料,然後重啟App讓遊戲使用最新的資料來執行。

但是,並不是所有的資料都可以透過這種方式來更新。如果遇到必須要更新App主程式的狀況,這個審查的時間差就會遊戲開發者就算想要更新,但卻必須等候App Store審查的狀況。當遊戲出現會造成當機的Bug時,遊戲開發者只能無力的等候App Store的審查,沒有辦法立刻解決。

在專案上架後,我們也曾經發生過遊戲中有個會造成當機(閃退)的Bug。好在當時我們的選擇是先上Android版,因此程式人員可以很快的修正這個Bug,並且很快的上傳到Google Play,幾個小時之後玩家更新的版本就沒有這個Bug了。如果當時是兩個版本同時上架,就連Android版本的玩家都要等到iOS版審查通過我們才能一起更新,那麼這個Bug可能會造成玩家好幾週的困擾。

要解決這個問題的另一個方法,就是把iOS與Android的伺服器切開,讓兩個版本各自獨立。不過這樣做,除了會將玩家分開讓使用iOS的玩家無法與Android的玩家互動外,當玩家更換設備換了不同平台時,玩家的資料需要遊戲公司手動來協助搬移,並不是好的作法。

由於在專案的開發中就發現了想要兩個版本同時推出的問題,因此當時專案的選擇是先上Android版,換句話說就是用Android版來測試,並且每週每週的更新遊戲的內容。等到Andoird版本穩定了,沒有什麼重大的Bug了,我們才將iOS版送測。

在iOS版上架後,專案又持續的進行了新內容的開發,為遊戲新增了一些功能。結果,在這個版本的送測上,我們再一次的遭遇到App Store的退件,而且被退件的原因並不是這一次新增加的部份,而是原本已經審查通過的舊內容。由於App Store的審查是人工進行,而不同的審查者對於審查規則的認定會有不同,所以發生了這個狀況。

為了修正這位審查員所提出的要求,讓我們這個版本被延誤了好一陣子,結果新版本推出的時間比起原本預期的晚了一個多月。這個時間上的延誤,對於遊戲的殺傷力還真是不小,而這也是審查時間差異所造成的影響。

在還沒有實際開發移動平台的產品之前,銀狐曾經和不少開發者交流過。當時曾經聽過一個說法『當你是iOS的開發者,你會越做越討厭Apple。』,身為iPhone使用者的銀狐,當時對這說法不是很瞭解,但是在實際經歷過移動平台產品的開發後,漸漸的理解為什麼會有這樣的說法。

移動平台的遊戲時間性很重要,大多數的產品都很快速的改版與增加遊戲內容。以我們的開發模式,幾乎都是邊做邊開放,這樣的模式遇到App Store這樣的審查週期非常的吃力。除非要開放的功能都是早就完成的,然後透過可以動態更新的內容來開啟,否則幾乎都會被審查時間給卡住。在這個時間就是金錢的移動平台戰場,Apple終於聽到了開發者的聲音,逐漸的縮短App審查的時間,對於開發者算是一個好消息吧。