NBPF 推奨フロー

NBPF では、以下のように使用する機能について複数のフローが存在します。

◯ ログインフロー:3 種類

◯ ログアウトフロー:2 種類

◯ アイテム購入フロー:2 種類

◯ アイテム購入確認、補填フロー:4 種類

これら全てを実装する必要はありませんが、これらの特徴全てを知った上でどのフローを選択するか判断する必要があります。

ここでは、NBPF として推奨するフローを提示しつつ、他のフローとの違いについて解説します。

ここでは、以下の機能についてどのフローが推奨されるかを説明します。

ログインにおいては、「Hybrid フロー」を推奨します。

推奨する理由としては、Hybrid フローは画面遷移を必要とせず、Single Page Application を作りやすくなることがあげられます。

推奨する

ドキュメントリンク

説明

Hybrid フロー

ゲーム画面からログイン認証画面に画面遷移するのではなく、ゲーム画面とは別の新しいWindowとしてログイン認証画面が開かれる仕組みです。ユーザーがログイン認証画面(新しいWindow)での入力を終えて認可を受けると、ログイン認証画面のWindowが閉じることで、ユーザーは元のゲーム画面に戻ります。

 

Authorization Code Grant フロー

Game Server を利用した旧来通りの画面遷移を行う仕組みです。ユーザーはゲーム画面からログイン認証画面にページ遷移し、ログイン認証画面での入力を終えて認可を受けると、元のゲーム画面へページ遷移することで戻ります。

 

Client-Side フロー

Game Server を利用しないカジュアルゲーム向けの仕組みです。Game Server のログインセッション管理を行わないため、ユーザーデータの管理にはClient-Side Storageを使います。ログイン認証画面は、 画面遷移せずにログインするフロー と同じように、ゲーム画面とは別の新しいWindowとして開かれます

ログアウトにおいては、「シングルログアウト連携」を推奨します。

もしこの「シングルログアウト連携」を実装しなければ、例えばユーザー A が Mobage 本体でゲームと関わりなくログアウトをして、別のユーザ B として Mobage にログインをした場合に、ゲームではユーザーA、Mobage 本体ではユーザーBと混乱を招く状態ができあがってしまいます。

このような状態を避けるためにも、「シングルログアウト連携」の実装を推奨します。

推奨する

ドキュメントリンク

説明

シングルログアウト連携

Mobage Connect 上でユーザーがゲームと関わりなくログアウトした際に、Game Server がシングルログアウトを行うための仕組みです。

 

Mobage Connect からのログアウト

ゲームから明示的に Mobage Connect 上の ログインセッションを破棄させたい場合に利用する仕組みです。

アイテム購入処理と付与においては、「事前にアイテム登録されている場合」を推奨します。

推奨する理由としては、アイテム情報を登録、削除、変更するためのアイテム管理ツールを別途ご用意いただく必要がないため、工数を削減できる可能性があることと、Platformに事前登録することで、不正なアイテム情報によるアイテム購入をPlatform側でも抑止できることがあげられます。

推奨する

ドキュメントリンク

説明

事前にアイテム登録されている場合

Mobage Developers Japan(デベロッパーサイト)の管理画面を利用して、事前に Platform にアイテムを登録することができる仕組みです。アイテム情報を登録、削除、変更するためのアイテム管理ツールを別途ご用意いただく必要がありません。

 

事前にアイテム登録されてない場合

Mobage Developers Japan(デベロッパーサイト)での事前アイテム登録を行わず、アイテム情報をGame Serverにて管理する仕組みです。ゲームの運営チームのニーズに合ったアイテム管理ツールを柔軟に実装できますが、追加実装の必要があります。

アイテム購入が失敗したときの処理としては、「Server 側での非同期確認処理」と「バッチ処理での確認」の実装を強く推奨します。

「Server 側での非同期確認処理」を推奨する理由は、何らかの理由でアイテム付与されていないケースを即時に復旧できる手段であるためです。

バッチ処理での確認」を推奨する理由としては、Transaction の状態が closed になっていないものは、10 分後に Transaction の状態が自動的に canceld になりますので、ゲームサーバー側で Transaction の状態管理を行っている場合にゲームサーバーと同期をとって頂く際に必要になります。

推奨する

ドキュメントリンク

説明

Server 側での非同期確認処理

あらかじめ Mobage Developers Japan(デベロッパーサイト) に登録しておいた Subscriber Callback URI に、Platformから随時通知が送られてくる仕組みです。こちらに対応すると、 アイテム付与漏れを素早くリカバリすることができます。

 

Client 側での非同期確認処理

Client の localStorage 内に保存されている、 決済 Transaction を監視し、Client から Game Server に通知を送るための仕組みです。こちらに対応すると、 アイテム付与漏れを素早くリカバリすることができます。 ※ Client での即時確認処理との併用はできません。

 

Client 側での即時確認処理

Client の localStorage 内に保存されている、 決済 Transaction を即座に確認しし、Client から Game Server に通知を送るための仕組みです。こちらに対応すると、 アイテム付与漏れを素早くリカバリすることができます。 ※ Client での非同期確認処理との併用はできません。

バッチ処理での確認

Game Server が主体となり、定期的に未処理の Transaction の状態を網羅的に確認した上で、アイテム付与などの処理を完了させるための仕組みです。コインは引き落とされたのに、アイテムは付与されていない といったユーザーを減らすための最後の砦であるため、確実にユーザーへアイテム付与したい場合は、この確認手法を実装してください。

その他 Mobage JS SDK の提供する機能の内、「ショートカットアイコン作成支援機能」と「友達招待サービス」の実装を推奨します。

ネイティブアプリではインストール時に必ず作成されるショートカットアイコンですが、ブラウザアプリでは基本的にショートカットアイコンは作成されず、ユーザに作成してもらう必要があります。「ショートカットアイコン作成支援機能」により、「ショートカットアイコンの作成ガイド」を簡単に作れるようになり、ユーザの継続率を向上させる効果が期待できます。

また、「友達招待サービス」により、ユーザの口コミで多くのユーザを獲得してもらう効果が期待できます。

ゲームを成功させるために必要な施策であると考えられるため、実装を推奨します。

推奨する

ドキュメントリンク

説明

ショートカットアイコン作成支援機能

「ショートカットアイコン作成を促す」ガイドをどのページからも呼び出すことが可能となる仕組みです。

友達招待サービス

招待を送ったユーザーと招待を受け取ったユーザーの両方にインセンティブを付与することができる仕組みです。

 

チャット機能

ユーザ同士がリアルタイムにメッセージをやりとりできる Chat の Widget をアプリケーション内に作成できる仕組みです。ゲームの仕様として必要な場合に実装してください。

 

  • 2016/04/14
    • 決済トランザクションの有効期間を10分に修正
  • 2016/03/25
    • JS SDK 3.3.1 公開に伴い、Client 側での即時確認処理を追加

 

PREVIOUS

Topic

NEXT

Mobage 非会員向け開発の注意点