Javascript SDK

Prev Next

Classic/VPC環境で利用できます。

ウェブで GAMEPOTを連携するための GAMEPOT Javascript SDKの使い方について説明します。SDKをインストールして環境を構成することで、ゲームとダッシュボードを連携できます。

Javascript用 GAMEPOT SDKを使用するためのシステム要件は、以下のとおりです。

  • 最小スペック: Chrome 4、IE 8、Firefox 3.5、Safari 4、Opera 10.50など

SDKのインストールと環境の構成

JavaScript SDKを使用するための基本的な設定方法は、以下のとおりです。

  1. gamepot-sdk-javascript-lastest.min.jsをダウンロードします。
  2. ダウンロードしたファイル、gamepot-sdk-javascript-lastest.min.jsを headと headの間に追加します。
    <head><script src="gamepot-sdk-javascript-lastest.min.js"></script></head>
    
    // もしくは、CDNリンクを直接使用しても構いません。(推奨)    
     <head><script src="https://gamepot.gcdn.ntruss.com/gamepot-sdk-javascript-lastest.min.js"></script></head>
    

GAMEPOT Javascript SDKは npmパッケージとして提供されます。yarnを介しても使用できます。

# using npm
npm install gamepot

# using yarn
yarn add gamepot

ソーシャルログイン関連コンソール内の設定ガイド: ダウンロード

使用可能なログイン: Google/Facebook/Appleログイン

Appleログインの場合、GAMEPOTのダッシュボード > プロジェクトの設定 > 一般 > Apple ID Login項目が記入されている必要があります。
ログインするドメインのアドレスが、GAMEPOTのダッシュボード > プロジェクトの設定 > 一般 > WEB- 許可ドメインに記入されている必要があります。

初期化

ウェブページのロード完了時に実行するようwindow.onload = function() {...}または jQueryを使用すると$(ducement).ready(function() {...})ブロック内で初期化します。


<!-- YOUR WEB HTML CODES -->
<script>
window.onload = function () {
    // プロジェクト IDは GAMEPOTのダッシュボードでも確認できます。
    var project_id = 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxx';
    var gamepotConfig = {
      // 共通
      api_url: "https://gpapps.gamepot.ntruss.com",
      api_key: "XXXXXXXXXXXXX",
      // Googleログインを利用する場合、以下のように Google APIクライアント IDを入力します。
      google_signin_client_id:"XXXXXXXXXX-XXXXXXXXXXX.apps.googleusercontent.com",
      // Facebookログインを利用する場合、以下のように Facebookアプリ IDを入力します。
      facebook_app_id: "XXXXXXXXXX",
      // Appleログインを使用する場合、以下のように Appleコンソールの Services IDとログインを試みるドメインアドレスを入力します。(使用しない場合、空値に設定)
      apple_client_id: "XXXXXXXXXX",
      apple_redirect_uri: "https://XXXXXXXXXX"
};
GP.initialize(project_id, gamepotConfig);
};
</script>
Attribute Description
project_id GAMEPOTのダッシュボードプロジェクト ID
api_url GAMEPOTのダッシュボードに関連する URL(基本的に https://gpapps.gamepot.ntruss.comですが、Managed商品をご利用のお客様はアドレスが異なるため、GAMEPOTまでお問い合わせください)
api_key GAMEPOTで発行される認証キー(ダッシュボード > プロジェクトの設定 > API Key)
google_signin_client_id Googleコンソール内のウェブアプリケーション ID
facebook_app_id Facebookアプリ ID
apple_client_id Appleコンソールに作成した Services ID
apple_redirect_uri ログインを試みるドメインアドレス

エラーの処理

エラーの処理方法はすべて同じである。function (user, error) { }のようにエラーがあった場合はメッセージを表示し、エラーがなかった場合は成功と返す。

GP.login(GP.ChannelType.EMAIL, function (user, error) { 
        if(error) { // ログイン失敗 
            alert(error.message); // 失敗メッセージ 
            return;
        } 
        alert(user);
});

ログイン、ログアウト

Google、Facebook、Apple IDログイン SDKを統合して使用できます。

ログイン

ログイン UIは開発会社で実装し、ログインボタンをクリックする際に連携されます。

ソーシャルプラットフォームログイン

// ログインタイプの定義
// GP.ChannelType.GOOGLE: Google
// GP.ChannelType.FACEBOOK: Facebook
// GP.ChannelType.APPLE: Apple ID
// GP.ChannelType.KAKAO: カカオ

// Facebookログインボタンを押すと呼び出す
GP.login(GP.ChannelType.FACEBOOK, function (user, error) {
  if (error) {
    alert(error); // エラーメッセージ
    return;
  }
    // ログイン完了
    alert(user);
});

ソーシャルログインの自動ログインと同時にゲームに登録されます。登録を希望しない場合は以下のオプションを追加してください。

GP.setAuthSignup(false);

USER Data Class

ID type desc
id string 会員 ID
token string ログイントークン(JWT)
nickname string ハンドルネーム
provider string ソーシャルログインの種類
providerId string ソーシャルログイン ID
verify string 認証の有無
agree string 規約に同意したかどうか

メールでログイン

GP.signin("email", username, password, function(user, err) {
  if(err) {
      alert(err.message);
    } else {
      alert(user.id);
    }
});

メールで会員登録

GP.signup("email", username, password, name, function(user, err) {
    if(err) {
      alert(err.message);
    } else {
      alert(user);
    }
});

ログアウト

現在の会員アカウントをログアウトします。

GP.logout(function (result, error) {
     if (error) {
            alert(error.message);
     }
    // ログアウト成功
});

会員の退会

GP.withdraw(function (result, error) {
    if (error) {
         alert(error.message);
    }
    // 会員退会に成功
});

ソーシャルアカウントで会員かどうかを確認

ログイン後、そのソーシャルアカウントで連携している GAMEPOT内の会員がいるかを確認します。

GP.linkingByUser(channeltype, function( user, error) {
    if(error) {
        alert(`${error.code}-${error.message}`); // エラーメッセージ
        return false;
    }
    if(user == null)
        alert('アカウントが存在しない')
   else if(user.member_id.id)
        alert(user.member_id.id);       // IDを返す
});

USER Data Class

ID type desc
member_id.id string GAMEPOT会員 ID
username string ソーシャル ID

4. プラグイン

GAMEPOTの基本機能のほか、様々な外部モジュールとの連携機能などをサポートします。
サポート可能なモジュール

  • 本人認証(Danal)
  • 海外 PG(Xsolla)
  • 国内 PG(Danal)

本人確認

携帯電話による本人認証サービスとは、本人名義の携帯電話で認証手続きを経て本人かどうかを確認する機能です。(韓国でのみ可能)

 GP.Identity('[本人確認コード]',{},function(resp) {
  if(resp.success) {
    alert(resp.orderId); 
  } else {
    alert(resp.error);
  }
});

外部決済

Xsollaや Danalのような外部 PGを利用する際に決済画面を表示させる関数です。

function Payment(key) {
    GP.Payment(key,
      {
        userId: "[USERID]",
        productId : "[ITEMID]",
        name: "[ITEMNAME]",
        buyer_name: "[購入者名]",
        buyer_email: "[購入者の EMAIL]",
    },function(resp) {
        if(resp.success) {
          alert(resp.orderId);
        } else {
          alert(resp.error);
        }
      })
  }
Attribute Description
userId GAMEPOT会員 ID
productId 商品コード
name アイテム名
buyer_name 購入者名(option)
buyer_email 購入者のメールアドレス(option)
playerId プレイヤー ID(option)
serverId サーバ ID(option)
userdata ユーザーデータ(option)