カスタムフィールド
開発者は、既定フィールドに加え、任意のフィールド(年齢、性別、誕生日等)を追加できます。ただし、SDK により予約されているフィールド名は使用できません。予約されているフィールド名については JSDoc を参照してください。
カスタムフィールドの設定と変更
ユーザーのカスタムフィールドを設定・変更する例を以下に挙げます。削除したいフィールド名を配列で渡すことで、同時にカスタムフィールドを削除することができます。
-
// Get the currently logged-in user. var user = KiiUser.getCurrentUser(); // Set the user identify. var identityData = { "username": "user_123456", "emailAddress": "user_123456@example.com", "phoneNumber": "+819012345678" }; // Set custom fields. var customFields = { "age": 30, "score": 12344300 }; // Remove a custom filed. var removedFields = ["weight", "chest"]; // Update the user attributes. user.update(identityData, null, customFields, removedFields).then( function(theUser) { // Do something. } ).catch( function(error) { // Handle the error. var theUser = error.target; var errorString = error.message; } );
-
// Get the currently logged-in user. var user = KiiUser.getCurrentUser(); // Set the user identify. var identityData = { "username": "user_123456", "emailAddress": "user_123456@example.com", "phoneNumber": "+819012345678" }; // Set custom fields. var customFields = { "age": 30, "score": 12344300 }; // Remove a custom filed. var removedFields = ["weight", "chest"]; // Update the user attributes. user.update( identityData, { success: function(theUser) { // Do something. }, failure: function(theUser, errorString) { // Handle the error. } }, customFields, removedFields );
既存のフィールドを更新対象として指定しない場合、そのフィールドはそのまま Kii Cloud 上に保持されます。
update()
メソッドが正常に完了すると、フィールドが Kii Cloud および KiiUser
インスタンスで更新されます。
また既定フィールドとカスタムフィールドの設定・変更は同時に行えます。
ユーザー属性の変更は、基本的にログイン中のユーザー本人に対してのみ実行できます。詳しくは ユーザー属性 をご覧ください。
カスタムフィールドの参照
ユーザーのカスタムフィールドを取得する例を以下に挙げます。
-
// Get the currently logged-in user. var user = KiiUser.getCurrentUser(); // Refresh the user to get the latest user info from Kii Cloud. user.refresh().then( function(theUser) { // Get custom fields. var age = theUser.get("age"); var gender = theUser.get("male"); var height = theUser.get("height"); var isMember = theUser.get("isMember"); } ).catch( function(error) { // Handle the error. var theUser = error.target; var errorString = error.message; } );
-
// Get the currently logged-in user. var user = KiiUser.getCurrentUser(); // Refresh the user to get the latest user info from Kii Cloud. user.refresh({ success: function(theUser) { // Get custom fields. var age = theUser.get("age"); var gender = theUser.get("male"); var height = theUser.get("height"); var isMember = theUser.get("isMember"); }, failure: function(user, errorString) { // Handle the error. } });
例のように get
メソッドを利用して値を取得します。
ユーザー作成時のカスタムフィールドの設定
ユーザーの作成を行うタイミングで、カスタムフィールドの初期値を設定する例を以下に挙げます。
KiiUser のインスタンスを生成した後に set
メソッドを使って、カスタムフィールドを設定することができます。
-
// Create a user. var username = "user_123456"; var password = "123ABC"; var user = KiiUser.userWithUsername(username, password); // Set custom fields. user.set("age", 30); user.set("score", 0); // Register the user. user.register().then( function(theUser) { // Do something. } ).catch( function(error) { // Handle the error. var theUser = error.target; var errorString = error.message; } );
-
// Create a user. var username = "user_123456"; var password = "123ABC"; var user = KiiUser.userWithUsername(username, password); // Set custom fields. user.set("age", 30); user.set("score", 0); // Register the user. user.register({ success: function(theUser) { // Do something. }, failure: function(theUser, errorString) { // Handle the error. } });