ライフサイクルイベントの通知リクエスト

概要

ライフサイクルイベントとは、アプリケーションに対して発生したイベントをパートナーサーバーに通知するための仕組みです。 現在提供しているイベントは以下の通りです。

イベント

説明

addapp

アプリケーションをインストールした

removeapp

アプリケーションをアンインストールした

joingroup

ゲームの公式サークルに参加した

leavegroup

ゲームの公式サークルを退会した

postdiary

ゲームに関する日記を書いた

導入方法

Gadget XMLへの記述の追加

イベントの通知を受け取りを行うパートナーサーバ側の設定を記述します。

属性

rel

イベント種類 (event.addapp | event.removeapp | event.joingroup | event.leavegroup | event.postdiary)

href

パートナーサーバで通知を受けるためのURL = エンドポイントURL

method

エンドポイントURLへのリクエストの種類 (GET | POST)

通知リクエスト

リクエストの種類

addapp
  • アプリケーションを追加した際に発生するイベントです。

    パラメータ名

    説明

    eventtype

    イベントの種類 (event.addapp)

    opensocial_app_id

    アプリケーション ID

    id

    インストールしたユーザーのユーザID

    mbga_invite_from

    招待もとユーザのユーザID

    mbga_is_introduced

    外部友達紹介機能経由のインストールされたフラグ

    mbga_is_shellapp

    Shell App Framework か否かのフラグ 固定値 1

removeapp
  • アプリケーションをアンインストールした際のイベントです。

    パラメータ名

    説明

    eventtype

    イベントの種類 (event.removeapp)

    opensocial_app_id

    アプリケーション ID

    id

    アンインストールしたユーザーのユーザID

joingroup
  • ゲームの公式サークルに参加した際のイベントです。

    パラメータ名

    説明

    eventtype

    イベントの種類 "event.joingroup"

    opensocial_app_id

    アプリケーション ID

    id

    ゲーム公式サークルに参加したユーザーのユーザID

leavegroup
  • ゲームの公式サークルから退会した際のイベントです。

    パラメータ名

    説明

    eventtype

    イベントの種類 "event.leavegroup"

    opensocial_app_id

    アプリケーション ID

    id

    ゲーム公式サークルから退会したユーザーのユーザID

postdiary
  • ゲームに関する日記を書いた際のイベントです。

    パラメータ名

    説明

    eventtype

    イベントの種類 "event.postdiary"

    opensocial_app_id

    アプリケーション ID

    mbga_diary_id

    日記ID

    id

    ゲームに関する日記を書いたユーザーのユーザID

リクエストの形式

  • id:101さんに招待されて102さんがアプリケーションAをインストールしたとき

    http://www.example.com/addapp?opensocial_app_id=A&eventtype=event.addapp&id=102&mbga_invite_from=101&mbga_is_shellapp=1
    
  • id:101さん、id:102さん、id:103さんがアプリケーションAをインストールし、通知が同じタイミングのとき

    http://www.example.com/addapp?opensocial_app_id=A&eventtype=event.addapp&id=101&id=102&id=103&mbga_is_shellapp=1
    
  • id:101さんとid:102さんがアプリケーションAの公式サークルに参加した

    http://www.example.com/joingroup?opensocial_app_id=A&eventtype=event.joingroup&id=101&id=102
    
  • id:101さんがアプリケーションAに関する日記を書いたとき

    http://www.example.com/postdiary?opensocial_app_id=A&eventtype=event.postdiary&id=101&mbga_diary_id=10001
    

リクエストは OAuth による署名が適用されます。必ずAuthorizationリクエストヘッダの妥当性の確認を行ってください。

レスポンス

Status: 200
Content-Type: text/plain    

OK

これ以外のレスポンスを返した場合はエラーが起きたとみなして、次回の通知時に再送します。また、リクエストの送信を始めてからレスポンスを返すまでに 10秒以上かかった場合にもエラーと見なされます。通知エラーの発生回数が一定回数となった場合には、その通知は破棄されます。

通知頻度

エンドポイントへのイベント通知はユーザアクションからリアルタイムに行われるものではなくタイムラグが発生いたします。
通常は本番、Sandboxともに数分程度で通知されますが、システム負荷により送信遅延が発生いたします。
エンドポイントでは必ず受信成功のステータスコードとして200を返却するように実装をお願いいたします。

制限事項

現在、ライフサイクルイベントには以下の制限があります。

  • ユーザが、未インストール、もしくは、アンインストール状態の際の joingroup, leavegroup, postdiary は通知されません。
  • 外部友達紹介 mbga_is_introduced パラメータは Mobile と SmartPhoneWeb のみの機能となります。

参考資料

OpenSocial v1.0 Lifecycle Events
OpenSocial v0.9 Lifecycle Events
 

更新履歴

  • 2012/12/11
    • 新規作成

PREVIOUS

ライフサイクルイベント

NEXT

JavaScript API リファレンス