質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Kii Cloud

Kii Cloudは、モバイルアプリやIoT機器向けのBaaS (Backend As A Service)です。機器管理、データ管理、プッシュ通知、位置情報、サーバコード、分析等の機能があります。

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

解決済

UnityとKiiのサインアップ・ログイン登録と連携を確認したい

7st
7st

総合スコア0

Kii Cloud

Kii Cloudは、モバイルアプリやIoT機器向けのBaaS (Backend As A Service)です。機器管理、データ管理、プッシュ通知、位置情報、サーバコード、分析等の機能があります。

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

1回答

-1評価

0クリップ

4閲覧

投稿2018/05/25 08:27

編集2022/01/12 10:58

(至急できれば5/27まで)

Unityのログイン画面をKiiクラウドと連携してサインアップとログインの登録に成功させてKiiクラウド上でUnityとKiiクラウドが連携できているのが確認する

タイトル通りです。UnityとKiiクラウドを連携してユーザーIDとパスワードのデータを登録するために、簡単なログインとサインアップ画面を使用して、サインアップボタンとログインボタンを押すとuserIDとパスワードをkiiクラウド上のデータに登録して、再度同じユーザIDとパスワードで「ログインするとログイン成功しました」という表示をコンソールを通じて確認する作業をしています。
ですが、デバッグでユーザIDとパスワードを入力し終えてサインアップのボタンを押すと以下のエラーメッセージが届きました。ログインの場合も仮に同じエラーがあった際は同じ対処を行うのでしょうか。

1.InputなどのGameObject宣言したオブジェクトをパーツごとに入れる
2.デバッグを行い、バグがないか確認する。

ArgumentException: Invalid username format:

エラーメッセージ
KiiCorp.Cloud.Storage.KiiUser+Builder.WithName (System.String userName)
KiiCorp.Cloud.Storage.KiiUser.BuilderWithName (System.String userName)
LoginManager.Signup () (at Assets/LoginManager.cs:54)
UnityEngine.Events.InvokableCall.Invoke () (at /Users/builduser/buildslave/unity/build/Runtime/Export/UnityEvent.cs:166)
UnityEngine.Events.UnityEvent.Invoke () (at /Users/builduser/buildslave/unity/build/Runtime/Export/UnityEvent_0.cs:58)
UnityEngine.UI.Button.Press () (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Button.cs:36)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at/Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:50)
UnityEngine.EventSystems.ExecuteEvents.Execute[IPointerClickHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor) (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:261)
UnityEngine.EventSystems.EventSystem:Update()

該当のソースコード

using UnityEngine;
using UnityEngine.UI;
using KiiCorp.Cloud.Storage;

public class LoginManager : MonoBehaviour {

private string userId;
private string passWord;

private InputField inputFieldUserId; private InputField inputFieldPassWord;

public GameObject InputFieldUserId;
public GameObject InputFieldPassWord;
public GameObject ButtonSignup;
public GameObject ButtonLogin;

void Start() { // コンポーネントの取得 inputFieldUserId = GameObject.Find("InputFieldUserId").GetComponent<InputField>(); inputFieldPassWord = GameObject.Find("InputFieldPassWord").GetComponent<InputField>(); inputFieldUserId.ActivateInputField(); } /// <summary> /// InputFieldの値を変数にセットするメソッド /// InputFieldからコールする /// </summary> public void SetInputValues() { userId = inputFieldUserId.text; passWord = inputFieldPassWord.text; } /// <summary> /// KiiCloudにサインアップするメソッド /// サインアップボタンからコールする /// </summary> public void Signup() { // 登録するユーザー名でKiiUser.Builderを生成 KiiUser.Builder builder = KiiUser.BuilderWithName(userId); // Builderをビルドして、KiiUserを生成 KiiUser user = builder.Build(); // パスワードと一緒に、KiiUserを登録する(通信が発生する) user.Register(passWord, (KiiUser registeredUser, System.Exception e) => { if (e != null) { Debug.LogError("ユーザー名" + userId + "の登録に失敗しました:" + e); return; } Debug.Log("ユーザー名 " + userId + " の登録に成功しました"); }); } /// <summary> /// KiiCloudにログインするメソッド /// ログインボタンからコールする /// </summary> public void Login() { // ユーザー名とパスワードでKiiCloudにログインする(通信が発生する) KiiUser.LogIn(userId, passWord, (KiiUser user, System.Exception e) => { if (e != null) { Debug.Log(userId + " のログインに失敗しました " + e); return; } Debug.Log(userId + " がログインしました"); }); }

}

Unity ソースコード

試したこと

ボタンの接続先が正しく接続しているか確認した
InputFieldUserIdのボタン接続先
(On Value ChangedとOn end Edit共通)
InputFieldUserId
InputField input.text

InputFieldPassWordの接続先
(On Value ChangedとOn end Edit共通)
InputFieldPassWord
InputField.text

On Click
ButtonSignUpの接続先
ButtonSignup
LoginManagerSignup

ButtnLoginの接続先
ButtonLogin
LoginManager.Login

ここに問題に対して試したことを記載してください。
スペルミスがないか確認した
ボタンとインプットUserIdとPasswordが正しく動いているか確認した

補足情報(FW/ツールのバージョンなど)

Kiiクラウド
Unity(1.0f2)
ここにより詳細な情報を記載してください。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

sakura_hana
sakura_hana

2018/05/26 06:01

スクリプトは```で囲み、改行を正しく記載してください。また、Signup\(\)に入った段階で本当にuserIdに値が入っているか、「Debug\.Log\(userId\);」などを入れて確認してください。(エラー文から察するにuserIdがnullではないかなーと思います)
7st
7st

2018/05/26 13:31

ありがとうございます。スプリクトを’’で囲み正しく改行した上で\(\)にusernameを入れたところ、エラーが消えました。
sakura_hana
sakura_hana

2018/05/27 04:38

解決したなら解決方法を回答として投稿し、解決済みとしてください。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Kii Cloud

Kii Cloudは、モバイルアプリやIoT機器向けのBaaS (Backend As A Service)です。機器管理、データ管理、プッシュ通知、位置情報、サーバコード、分析等の機能があります。

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。