Mobage ngCore Tips

はじめに

本ドキュメントは、Mobage ngCore SDK (以下ngCore)を使用して行うことの出来るTipsになります。インセンティブの与え方、イベント運用の方法等をまとめていきます。

ngCoreの招待機能

ngCoreでは現時点ではopenFriendPickerを使用する以外の方法で、招待メールをモバ友に対して送信することができません。openFriendPickerは元々既にゲームを始めているモバ友を"選択"する機能ですが、まだゲームを始めていないモバ友に対しては招待メールを送信することが可能です。送信したユーザー情報に関してはinvitedUserEmitterを設定することで、WebViewを閉じた時点でListenerにUserIdが送信されます。

招待の遷移

Social.Common.Service.openFriendPicker()をコールすると、下図の左上のようなWebViewが表示されます。下図はコールしてからinvitedUserEmitterに設定したListenerでUserIdを取得するまでの遷移図です。

invitedUserEmitterの実装例

招待したUserIdを取得するためにはopenFriendPickerをコールする前に、invitedUserEmitterを実装する必要があります。以下に実装例を記載します。

招待によるインセンティブ付与の方法

スマートフォンアプリにおける招待によるインセンティブ付与の方法は、例として以下の2通りがあります。スマートフォンアプリにはライフサイクルイベント等が用意されていないため、現状サーバーを介さずに招待承認後のインセンティブ付与はできません。

ClientAPIだけで、招待したユーザー全員分のインセンティブを付与する

  • Listenerから招待先ユーザーを取得し、その全てにインセンティブを付与します。
    この方法の場合、招待メールを送信した段階でインセンティブを与えてしまうことになるので、比較的軽めのインセンティブしか与えられないといったデメリットがあります。

サーバーを用いて招待情報を管理し、インセンティブを付与する

  • Listenerで招待先ユーザーを取得し、招待元ユーザーと招待先ユーザーの情報をサーバーへ保存しておきます。
  • 招待先のユーザーがゲームを開始したことをサーバーで検知したら招待元ユーザーへインセンティブ付与します。

上記実装の場合は、招待元ユーザーが複数いる場合にどのユーザー経由で始めたかが分かりません。
例えば、AさんとBさんがほぼ同時期にCさんへ招待を行い、Cさんがアプリを開始した場合は、

  • AさんとBさんの両者へインセンティブ付与する
  • 先勝ち、後勝ちのいずれかにする
  • UserIdを招待された側で入力させる
    などルールは自由に決定していただいて結構です。

Mobage ngCore SDK for iOSにおけるイベント運用の方法

Mobage ngCore SDK for iOSの場合、ライブアップデートが使用できません。通常ですとデータを更新する際は、再度AppleのiTunesConnectで申請を行わなければなりません。

ただし、ソースコードの改変が伴わないイベントであれば、セカンダリマニフェストを利用し、リソースを外部サーバーに配置することでリソースの更新が可能になり、適宜イベントを実施することができます。 セカンダリマニフェストの使用方法とリソースの更新方法の詳細を以下で説明します。

セカンダリマニフェストの使用方法

  • 通常のmanifest.jsonのように記載したmanifest.00.jsonのようなファイルを、manifest.jsonの場所と同じ階層のManifestsフォルダの中に格納します。
  • 下記コードのように実装することで、リソースをダウンロードすることができます。startメソッドの第一引数にはサーバーのリソース配置位置を設定します。(通常Mobage側にリソースを設置する場合は、Core.Capabilities.getContentUrl()を設定します。)
  • nodejsやngPackagerを使用してbakeを行います。
  • bakeを行った後に作成されたbuildフォルダ内のwebgame.00.ngmanifestと、manifest.00.jsonに記載されたリソースファイルをサーバー内に配置します(http://example.com内)。

リソースの更新方法

  • manifest.00.jsonを更新後のリソースに変更します。
  • 更新後にRebakeします。
  • bake終了後にbuildフォルダに作成されたセカンダリマニフェストに記載されたリソースと、webgame.00.ngmanifestをサーバー内に配置・上書きします(http://example.com内)。
上記手順で、リソースを更新することができます。ただし、manifest.00.jsonに記載されたリソースをmanifest.jsonに移動すると、リソースが消えてしまいますのでご注意ください。

日記への投稿

Mobage ngCore SDKから日記への投稿は以下のAPIを実装することで実現できます。

Social.JP.Service.openDiaryWriterでタイトルと本文を引数に与えて指定することが可能です。また、コールバックの引数isWroteから、日記を投稿したかどうかを判別することができます。ただし、タイトルと本文はユーザーが書き換え可能となっております。

Social.JP.Service.openDiaryWriterをコールすると、以下のような日記投稿画面(WebView)が表示されます。

JPLocalAPIなので、日本以外では使用出来ないためご注意ください。
スマートフォンブラウザー版のライフサイクルイベントには対応していませんので、コールバックの引数をその代替えとしてお使いください。

ミニメールの送信

Mobage ngCore SDKからミニメールを送信するには以下のAPIを実装することで実現できます。

Social.JP.Service.openMinimailSenderで宛先とタイトル、本文を引数に与えて指定することが可能です。また、コールバックの引数isSentから、ミニメールを送信したかどうかを判別することができます。ただし、タイトルと本文はユーザーが書き換え可能となっております。
Social.JP.Service.openMinimailSenderをコールすると、以下のようなミニメール送信画面(WebView)が表示されます。

JPLocalAPIなので、日本以外では使用出来ないためご注意ください
スマートフォンブラウザー版のライフサイクルイベントには対応していませんので、コールバックの引数をその代替えとしてお使いください。

評価誘導の方法

Mobage ngCore SDK からAppStoreや Google Play (旧 Android Market、以下 Google Play と表記) へのレビューや評価の誘導を行う場合、以下のように実装します。(以下は Google Playの例です)

更新履歴

  • 2012/08/07
    • Android Market→ Google Playに変更
  • 2012/04/18
    • 評価誘導の方法を修正。
  • 2012/04/06
    • 評価誘導の方法を追加
  • 2012/03/02
    • 新規作成

PREVIOUS

トピック

NEXT

iTunesConnectへのアップロード方法