SOOMLA是一款智能、免费又开源的跨平台框架,也是首款能够为移动游戏创建商店的平台,它的主要目的就是尽可能地帮助独立游戏开发者去取得游戏开发的成功。SMOOLA带有的多种功能,其中主要有Store模块、LevelUP模块和Profile模块,都是每个免费游戏真正所需的,帮你实现游戏中的商店构建、等级管理以及社交分享等功能。

SOOMLA框架:移动游戏分分钟创建个虚拟商店

  Store模块:

  通过使用简单易用的平台特定API,就可以轻松建立和管理自己的虚拟经济。无论是在应用内购买还是库存存储方面需要帮助,Store模块都是有求必应。

  特定的平台支付(IAP):SOOMLA的SDK融合了Google和Apple的IAP服务,所以开发者不用烦心游戏中的支付方式,只需考虑哪些东西需要购买。

  本地存储:SOOMLA将所有虚拟物品的剩余都保存在设备中,即使在没有网络的情况下,用户也可以使用虚拟物品。

  商店事件:能够通知你商店或虚拟经济中发生的任何事情。

  经济模型:SOOMLA的经济模型是经过与游戏开发者商讨后精心设计的,目标就是让你在任何地方都可以设计自己的虚拟经济。

  一个API解决所有问题:SOOMLA的API与你使用哪个原生平台和游戏引擎无关,只需通过它来实现对经济的处理和存储功能。

  LevelUP模块:

  每个游戏都拥有自己的设计,不过许多游戏都是反复使用相同的建模。为此,LevelUP提供的是一个独特的游戏设置模板,允许你快速又简单的管理游戏中的等级、成就、奖牌和分数等。

  游戏设计模型:SOOMLA的动态又灵活的LevelUP数据模型,让你可以轻松模拟游戏和管理其中的等级、分数和奖励等。

  LevelUP事件:通知游戏中发生的有趣的事情。比如,当用户打破记录或是开拓新的疆域时,LevelUP将会触发事件,进行通知。

  本地存储:LevelUp将在SOOMLA中通过键值数据库技术来加密保存游戏的状态,让LevelUP去照顾和查询在使用其模型对象的API时所要的帮助。

  可扩展:SOOMLA是一个可扩展的框架,在任何时候都可以将第三方的SDK插入到SOOMLA框架之中。

  Profile模块:

  Profile模块能够无缝连接到Store和LevelUP模块,允许你在游戏中添加社交功能(使用原生FB SDK),让你的用户可以参与进来。

  社交融合:Profile模块包含了流行的社交服务,使用统一的API,让你的用户去分享任何你想要展现的游戏中的内容。

  社交事件:运行SOOMLA时,可以让你知道任何与社交行为相关的信息。

  本地存储:通过“SOOMLA Secret”将用户的信息存储到SOOMLA中的键值数据库中加密。

  与Store和LevelUP连接:这就意味着,你可以将硬币奖励给那些分享链接的用户,或是创造其他方面的任务与奖励。

  代码示例:

  Android里的应用内购买:

  [java] view plaincopy

  

SOOMLA框架:移动游戏分分钟创建个虚拟商店

  

SOOMLA框架:移动游戏分分钟创建个虚拟商店

  //Create your implementation of IStoreAssets

  public class ExampleStoreAssets extends IStoreAssets {

  …

  /** Virtual Currencies **/

  public static final VirtualCurrency COIN_CURRENCY = new VirtualCurrency(

  …

  ”currency_coin” // item id

  );

  /** Virtual Currency Packs **/

  public static final VirtualCurrencyPack TEN_COIN_PACK = new VirtualCurrencyPack(

  …

  10, // number of currencies in the pack

  ”currency_coin”, // the currency associated with this pack

  new PurchaseWithMarket( // purchase type

  TEN_COIN_PACK_PRODUCT_ID, // product ID

  0.99) // initial price

  );

  /** Virtual Goods **/

  // Shield that can be purchased for 150 coins.

  public static final VirtualGood SHIELD_GOOD = new SingleUseVG(

  …

  new PurchaseWithVirtualItem(“currency_coin”, 150) // purchase type

  );

  // Pack of 5 shields that can be purchased for $2.99.

  public static final VirtualGood 5_SHIELD_GOOD = new SingleUsePackVG(

  …

  new PurchaseWithMarket( // purchase type

  SHIELD_PACK_PRODUCT_ID, // product ID

  2.99) // initial price

  );

  …

  }

  // Initialization

  public class StoreExampleActivity extends Activity {

  …

  protected void onCreate(Bundle savedInstanceState) {

  …

  IStoreAssets storeAssets = new ExampleStoreAssets();

  // This value is a secret of your choice. You can’t change it after you publish your game.

  Soomla.initialize(“[CUSTOM SECRET HERE]”);

  SoomlaStore.getInstance().initialize(storeAssets);

  /** The following are relevant only if your Billing Provider is Google Play **/

  // When you create your app in Google play Developer Console, you’ll find this key under the “Services & APIs” tab.

  GooglePlayIabService.getInstance().setPublicKey(“[YOUR PUBLIC KEY FROM THE MARKET]”);

  GooglePlayIabService.AllowAndroidTestPurchases = true;

  …

  }

  …

  }