Once your app is created it cannot be deleted however you can enable or disable your app from AppHQ console under AppManager -> Apps option.
Unauthorized Exception comes due to two main reasons. One, your API Key/Secret Key is wrong or time settings of your device is not correct.
This is required to have replay attack protection on your app, however if you don’t have much security concern regarding your app data, you can disable it from AppHQ console under AppManager -> Settings option.
No, you can use all App42 service APIs in isolation and they are not dependent on each other. In all APIs username is unique identifier for fetching your data and not dependent on App42 User Service. If you are planning to have full user management in your app which includes registration, login, search, update, password policy etc., it is beneficial to use App42 User Service.
Data generated by an app is sandboxed and cannot be accessed by other apps. App42 uses HTTPS protocol to securely transmit data from client to App42 cloud.
It is advisable to use ACL enabled apps and use custom keys for restricted access only. Please see Securing Your App for more details.
App type information does not have any significance while using it. It is just a meta information for apps and being used to organize your app while you are managing it on AppHQ console.
ACL app are more secure in the way that one app user (For Example A) cannot access data of another user (For Example B) until user A gives permission to access it. In Non-ACL app any user can access data of another user. Please see Securing Your App for more details.
Default permission is used to give default access to PUBLIC (all users of app) at the time of data creation for a given user. For example if user A has created a JSON object, and default permission is set to PULIC READ, all app users would be able to access to his JSON object.
You have to encode your Non English character before you are going to save/update. For fetching this record back you have to decode back this encoded data.
Below is the snippet to encoding/decoding username parameter, if you want to save Non English username character in App42 API
String userName = "Himanshu"; String encodedBytes = Base64.encodeBytes(userName.getBytes()); System.out.println("Encoded String is : " + new String(encodedBytes)); byte[] decodeBytes = Base64.decode(encodedBytes); System.out.println("Decoded String is " +new String(decodeBytes));NSString *userName = @"Himanshu"; NSData *data = [userName dataUsingEncoding:NSUTF8StringEncoding]; NSString *encodedBytes = [data base64EncodedStringWithOptions:kNilOptions]; NSData *decodeddata = [[NSData alloc] initWithBase64EncodedString:encodedBytes options:kNilOptions]; NSString *decodeBytes = [[NSString alloc] initWithData:decodeddata encoding:NSUTF8StringEncoding];String userName = "Himanshu"; String encodedBytes = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(userName)); Console.WriteLine("Encoded String is : " + encodedBytes); String decodedString = System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(encodedBytes),0,9); Console.WriteLine("Decoded String is : " + decodedString);Coming Soonvar userName = "Himanshu" var encodedString = Base64.encode(userName); console.log("Encoded String is : " + encodedString) var decodedString = Base64.decode(encodedString) console.log("Decoded String is : " + decodedString)String userName = "Himanshu"; String encodedBytes = Base64.encodeBytes(userName.getBytes()); System.out.println("Encoded String is : " + new String(encodedBytes)); byte[] decodeBytes = Base64.decode(encodedBytes); System.out.println("Decoded String is " +new String(decodeBytes));String userName = "Himanshu"; String encodedBytes = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes (userName)); Debug.Log("Encoded String is : " + encodedBytes); String decodedString = System.Text.Encoding.UTF8.GetString (System.Convert.FromBase64String (encodedBytes)); Debug.Log("Decoded String is : " + decodedString)String userName = "Himanshu"; String encodedBytes = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes (userName)); Console.WriteLine("Encoded String is : " + encodedBytes); String decodedString = System.Text.Encoding.UTF8.GetString (System.Convert.FromBase64String (encodedBytes)); Console.WriteLine("Decoded String is : " + decodedString)$userName = "Himanshu" $encodedBytes = base64_encode($userName); $decodedBytes = base64_decode($encodedBytes);Coming Soonvar userName:String = "Himanshu"; var encoded:Base64Encoder = new Base64Encoder(); encoded.encodeUTFBytes(userName); trace("Encoded String is : +encoded.toString()); var decode:Base64Decoder = new Base64Decoder(); decode.decode(encoded.toString()); var decodeString:String = decode.toByteArray().toString() trace("Decoded String is : " + decodeString)Coming Soon
Ans: Please have a look at this link for more details.
Login to AppHQ console -> User -> App42 -> Select Your App-> Select user from list -> Click on Manage -> Click Reset Password button.
Once app user is deleted, by default they remain in our database with deleted flag until you do a permanent delete (Hard Deletion) from AppHQ console or through API. To reuse the same name, user must be permanently deleted from our system.
Soft delete means deleted user will remain in our database with deleted flag on and you would not be able to create user with same name again in your app. If user is deleted through Hard Delete option, they are permanently removed from the system and you can create same username again in your app.
You are allowed to create one DB per app.
Collection is like table in your RDBMS schema and JSON saved inside it like a row of it.
App42 Storage Service works on NoSQL stack and you are not required to create any schema/relation for the same. You can simply store any JSON object inside given collection.
You cannot delete database. However, you can delete all your collections from AppHQ console.
Message being send to device in async mode. At sending time you will see this message however if it is not being delivered on your device, you can check Logs option under Unified Notification >> Push tab to check the cause of it.
Please see here for details.