概要
Unityの機能として、マルチプラットフォーム対応という長所があります。
現状のマルチプラットフォームだけでは、一度書いたコードをそれぞれに「ビルドできる」って機能は有り難い上この上ないですが、実は書くプラットフォームに向けた機能「課金、ゲームセンター(ソーシャル)」はそれぞれのプラットフォームに向けた「Plugin」の書き方をしなくてはいけません。
ネイティブコードの苦労
勿論、ネイティブのコードを書けるなら「そもそもUnity使うの?」って所から始まり、書けない前提があった時に、学習コストの規模は想像したくもないでしょう。
たったひとつの機能を追加したいがために、何十時間の時間を費やす事はしないでしょう。
おまけに勉強したはいいけど、実装以降その言語を使う事も無ければ、潰しも聞かないとなると厄介です。
例を挙げるならば、
Android ⇒ Java or C++(JNI)
iOS ⇒ C or C++ or Obj-C
となるでしょう。
C系の言語であればスキルの幅として下地を固められるかもしれませんが、C++で、かつ2Dのゲームであれば、そもそもUnityである必要があるのかと考える事もあるかと思われます。
Javaに至っては、「よしUnityだ!」と、ゲームの世界に飛び込んだWindowsプログラマーの皆さんはC#としての互換性は期待できるかもしれません。
ただ諸手を上げて向合いたいかは別ですが…
そこで、AssetStoreから、以下の2点のAssetをご紹介したいと思います。
Native Plugin
Android、iOSの各プラットフォームに向けたAssetがStans' Assetさんから販売されています。以下の2点です。
Android Native Plugin
http://u3d.as/5rZ
iOS Native
http://u3d.as/4vF
このStan'sAssetさんですが、何がいいってメールサポートのレスポンスがとにかく早い!
自分も助けていただきましたが、こういった所がユーザー心理として有り難いですね。
このAssetでやれる事
課金〜ソーシャル、ポップアップ、アプリレビューなど、パッと思いつく標準の機能はほぼ実装されています。おまけに、iOSなどはビルドした時のフレームワークの追加なども自動で行なってくれます。
つまりは、Assetの仕様を理解する事で、ネイティブコードには触らずに全て実装できるという事です!
注意点
Androidのビルドに関して、Androidマニフェストと言われる設定ファイルがあるのですが、メディアとしての広告追加、広告出稿時の効果測定のSDKなどを、他のプラグインを埋め込む際に気をつけなくてはなりません。
設定によってはどちらかが機能しなかったり、アプリが急に落ちたりなどの可能性があります。