Cocos専用now.ggログインモジュールを使えば、Cocosプラットフォーム上のアプリ/ゲームにnow.ggログインを実装することができます。
now.ggログインを統合する方法は以下の通りです。
注意:プロジェクトのAndroid SDKの最小バージョンはバージョン19以下であってはなりません。
Cocos専用now.ggログインモジュールはダウンロードパッケージ (nowgg_sdk_cocos-1.2.6.2001.zip
) に含まれています。
now.ggログインを自身のCocosプロジェクトに追加するには、以下の手順に従ってください。
ログインモジュールがインポートされたら、必要な依存関係をプロジェクトに追加します。
if(ANDROID)
セクションに以下のコードを追加します。
if(ANDROID)
セクションに以下のコードを追加して、nowggsdkをプロジェクトに追加します。
gradle.properties
fileに以下の行を追加します。
HelloWorldScene.h
クラスを見つけます。
HelloWorldScene.h
クラスに以下の仮想関数を追加します。
※「HelloWorldScene.cpp」にて上記の仮想関数の定義を追加してください。
build.gradle
ファイルに以下の依存関係を追加します。
ログインモジュールがインポートされ、依存関係が追加されたら、アプリ/ゲームにnow.ggログインを実装します。
now.ggログインを開始するには、以下の2つのフローのいずれかを使用します。
このフローを使用すると、now.ggログインを実装し、ユーザーの基本プロファイル情報を取得することができます。
フローを開始するには、以下のようにclient_id
を指定してlogin関数を呼び出します:
ユーザーがサインインに成功すると、OnLoginSuccess
コールバック関数で要求されたトークンとユーザーのメールアドレスを取得します。
このフローを使うと、now.ggログインを実装し、詳細なユーザー情報とセッション情報を取得することができます。
これは、token
とrefresh_token
を生成するために認証コードを使用するより安全なフローです。
以下のように、client_id
とコードを追加パラメータとして使用して、NowGGSDK
クラスの login 関数を呼び出します。
ユーザーがサインインに成功すると、OnLoginSuccess
コールバック関数のtoken
パラメータに要求された認証コードとユーザーのメールアドレスが取得されます。
このセクションでは、ログインに失敗するシナリオを示します。基本的なログインフローと高度なログインフローの両方に適用できます。
ログインに失敗すると、OnLoginFailed
コールバック関数にエラーコードとエラーメッセージが表示されます。受信したエラーメッセージに基づいて、このエラーをさらに調査できます。
No nowGG account present
No nowGG account present(nowGGアカウントが存在しません)」というエラーでログインに失敗した場合は、以下のようにNowGGSDK
クラスのaddNowGGGAccount
関数を呼び出して、実行時にアカウントを追加することができます。
サインインに成功すると、token
が取得できます。このトークンを使ってユーザープロファイル情報を取得することができます。
サインインしたユーザのユーザープロファイルを取得するには、バックエンドサーバーを使用することをお勧めします。しかし、自身のアプリにバックエンドサーバーがない場合は、以下のセクションを使用してユーザープロファイル情報を取得することができます。
重要な情報
サンプル実装を参照して、「on-device」APIコールを使用してログインユーザーのプロファイル情報を取得することができます。例えば、サインインしたユーザーのuserIdを含むユーザープロファイル情報を取得するには、VerifyToken
関数を呼び出します。レスポンスとして、デコードされたユーザーのデータが返されます。
以下のコードは、この実装を示しています:
ユーザー情報を取得したら、その情報をアプリのデータベースに保存し、次回ユーザーがアプリを起動したときにログインプロセスをスキップするために使用します。
注意:
userId
を取得できます。高度なログインフロー
token
とrefresh_token
を取得します。
注意:
1. トークンの生成とトークンの更新
認証コードを取得したら、アプリのバックエンドサーバーに送信し、Generate Tokens APIを使用してこのコードをnow.ggサーバーと交換し、token
とrefresh_token
を取得します。
token
を使用して、now.gg API(ユーザー情報とセッション情報)を呼び出します。token
の有効期限が切れた場合、新しいトークンを取得するためにrefresh_token
を保存します。2. トークンを使用してユーザー情報とセッション情報を取得
トークンを取得したら、それを使ってユーザー情報とセッション情報を取得します。
3. トークンの更新
token
の有効期限が切れている場合は、Generate Tokens APIを使用してrefresh_token
を生成します。
ダウンロードパッケージにはサンプルプロジェクトも含まれています。このプロジェクトを参照することで、now.ggのログインフローを理解することができます。
サンプルプロジェクトはcocosSDKSample
ディレクトリに含まれています。
ユーザーアカウントサービス
ユーザーアカウントサービス
ドキュメント改訂版 1.0