==================================================== GS2-InGamePushNotification ==================================================== **Create Client** .. code-block:: lua in_game_push_notification_client = client('in-game-push-notification') .. contents:: 目次 :local: :depth: 2 Method ==================================================== ---------------------------------------------------- create_certificate ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:create_certificate(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end クライアント証明書を新規作成します MQTTサーバに接続するためのクライアント証明書の発行を行います。 1ユーザに対して発行できるクライアント証明書は同時に1つのみです。 異なるデバイスでMQTTサーバにアクセスする場合、クライアント証明書を削除して取り直すようにしてください。 - 消費クオータ: 10 Request ---------------------------------------------------- .. include:: control/CreateCertificateRequest.rst Response ---------------------------------------------------- .. include:: control/CreateCertificateResult.rst ---------------------------------------------------- create_game ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:create_game(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end ゲームを新規作成します GS2-InGamePushNotification の使用を開始するには、まずはゲームを作成します。 その後、ゲームに対してMQTTに接続するためのクライアント証明書の発行を依頼をします。 応答されたクライアント証明書と秘密鍵をデバイスに保存し、MQTTサーバへの接続に使用します。 サーバサイドから ユーザに対してプッシュ通知を出すことが出来ます。 その際にユーザがMQTTに接続している場合はMQTTを使用して通知を出します。 もし、ユーザがMQTTに接続していない場合の挙動は ゲームの設定で変更できます。 1つ目は何もしない。 2つ目は指定したURLに通知する。 3つ目は Firebase Cloud Messaging を使用してモバイルプッシュ通知する。です。 http/https を指定した場合、以下のフォーマットでURLにPOSTします。 { "_gs2_service": "gs2-in-game-push-notification", "userId": ユーザID "subject": サブジェクト, "body": ボディ, } APIリクエスト以外に各デバイスがMQTTサーバに新しく接続する際に クオータを10消費する点にご注意ください。 Request ---------------------------------------------------- .. include:: control/CreateGameRequest.rst Response ---------------------------------------------------- .. include:: control/CreateGameResult.rst ---------------------------------------------------- delete_certificate ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:delete_certificate(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end クライアント証明書を削除します。 - 消費クオータ: 10 Request ---------------------------------------------------- .. include:: control/DeleteCertificateRequest.rst Response ---------------------------------------------------- None ---------------------------------------------------- delete_game ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:delete_game(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end ゲームを削除します Request ---------------------------------------------------- .. include:: control/DeleteGameRequest.rst Response ---------------------------------------------------- None ---------------------------------------------------- describe_game ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:describe_game(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end ゲームの一覧を取得します Request ---------------------------------------------------- .. include:: control/DescribeGameRequest.rst Response ---------------------------------------------------- .. include:: control/DescribeGameResult.rst ---------------------------------------------------- describe_service_class ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:describe_service_class(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end サービスクラスの一覧を取得します Request ---------------------------------------------------- .. include:: control/DescribeServiceClassRequest.rst Response ---------------------------------------------------- .. include:: control/DescribeServiceClassResult.rst ---------------------------------------------------- describe_status ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:describe_status(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end ユーザステータスの一覧を取得します Request ---------------------------------------------------- .. include:: control/DescribeStatusRequest.rst Response ---------------------------------------------------- .. include:: control/DescribeStatusResult.rst ---------------------------------------------------- get_game ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:get_game(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end ゲームを取得します Request ---------------------------------------------------- .. include:: control/GetGameRequest.rst Response ---------------------------------------------------- .. include:: control/GetGameResult.rst ---------------------------------------------------- get_game_status ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:get_game_status(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end ゲームの状態を取得します Request ---------------------------------------------------- .. include:: control/GetGameStatusRequest.rst Response ---------------------------------------------------- .. include:: control/GetGameStatusResult.rst ---------------------------------------------------- get_mqtt_host ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:get_mqtt_host(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end MQTTサーバ情報を取得します Request ---------------------------------------------------- .. include:: control/GetMqttHostRequest.rst Response ---------------------------------------------------- .. include:: control/GetMqttHostResult.rst ---------------------------------------------------- get_web_socket_host ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:get_web_socket_host(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end MQTT over Websocketサーバ情報を取得します Request ---------------------------------------------------- .. include:: control/GetWebSocketHostRequest.rst Response ---------------------------------------------------- .. include:: control/GetWebSocketHostResult.rst ---------------------------------------------------- publish ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:publish(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end 通知を送信します。 - 消費クオータ: 3 Request ---------------------------------------------------- .. include:: control/PublishRequest.rst Response ---------------------------------------------------- .. include:: control/PublishResult.rst ---------------------------------------------------- set_firebase_token ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:set_firebase_token(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end Firebase のデバイストークンを設定します。 - 消費クオータ: 10 Request ---------------------------------------------------- .. include:: control/SetFirebaseTokenRequest.rst Response ---------------------------------------------------- .. include:: control/SetFirebaseTokenResult.rst ---------------------------------------------------- update_game ---------------------------------------------------- .. code-block:: lua response = in_game_push_notification_client:update_game(request) if response.isError then -- エラー処理 -- print(response.statusCode) print(response.errorMessage) else -- 正常処理 -- print(response.result) end ゲームを更新します Request ---------------------------------------------------- .. include:: control/UpdateGameRequest.rst Response ---------------------------------------------------- .. include:: control/UpdateGameResult.rst Model ==================================================== ---------------------------------------------------- Status ---------------------------------------------------- .. include:: model/Status.rst ---------------------------------------------------- Game ---------------------------------------------------- .. include:: model/Game.rst ---------------------------------------------------- WebSocketHost ---------------------------------------------------- .. include:: model/WebSocketHost.rst ---------------------------------------------------- Certificate ---------------------------------------------------- .. include:: model/Certificate.rst ---------------------------------------------------- PublishResponse ---------------------------------------------------- .. include:: model/PublishResponse.rst ---------------------------------------------------- MqttHost ---------------------------------------------------- .. include:: model/MqttHost.rst ---------------------------------------------------- FirebaseToken ---------------------------------------------------- .. include:: model/FirebaseToken.rst