/apigee-javascript-sdk

The Apigee Mobile Development SDK for HTML5 Apps!

Primary LanguageJavaScriptApache License 2.0Apache-2.0

#Apigee JavaScript SDK

##Getting Started

Detailed instructions are available in our Apigee JavaScript SDK install guide but if you just want a quick example of how to get started with this SDK, here’s a minimal HTML5 file that shows you how to include & initialize the SDK, as well as how to read & write data from Apigee App Services with it.

Be sure to see the full SDK documentation at Apigee.

<!DOCTYPE html>
<html>
	<head>
		<!-- Don't forget to download and include the SDK -->
		<!-- It’s available at https://raw.github.com/apigee/apigee-javascript-sdk/master/source/apigee.js -->
		<script src="path/to/apigee.js"></script>

		<script type="text/javascript">
		
			// Initializing the SDK
			var client = new Apigee.Client({
				orgName:'yourorgname', // Your Apigee.com username for App Services
				appName:'sandbox' // Your Apigee App Services app name
			});

			// Reading data
			var books = new Apigee.Collection({ "client":client, "type":"books" });
			books.fetch(
				function(err, data) { // Success
					if (err) {
						alert("read failed");
					} else {
						while(books.hasNextEntity()) {
							var book = books.getNextEntity();
							alert(book.get("title")); // Output the title of the book
						}
					}
				});

			// Uncomment the next 4 lines if you want to write data
			
			// book = { "title": "the old man and the sea" };
			// books.addEntity(book, function (error, response) {
			// 	if (error) { alert("write failed");
			// 	} else { alert("write succeeded"); } });
		</script>
	</head>
	<body></body>
</html>

##App Monitoring

App monitoring is enabled by default by initializing the Apigee.Client object.

###Network Call & App Usage Monitoring

The SDK will monitor app usage statistics, as well as network calls to track errors and usage. This configuration is pulled from the rules that you configure on the App Monitoring dashboard of the admin console.

For more information, see Monitoring app usage data and Monitoring network performance in the Apigee docs.

###Simple and Advanced Logging

You can log specific events in your SDK by using one of the many log methods. You may also use the console logging methods to track messages. This is configured in the App Monitoring dashboard of the admin console.

You can use the following methods for logging calls.

  • logVerbose()
  • logDebug()
  • logInfo()
  • logWarn()
  • logError()
  • logAssert()

For more information, see Monitor app errors and crashes in the Apigee docs.

###Crash Reporting

The app monitoring portion of the SDK will monitor the window.onerror event to track if your app experiences javascript crashes.

For more information, see Monitor app errors and crashes in the Apigee docs.

###Figuring out your device type

App monitoring will automatically detect the specific information about your device, analyze data that is collected by device type. The level of granularity in detection is also controlled by the App Monitoring dashboard of the admin console.

For more information, see Customizing app monitoring in the Apigee docs.

##Mobile app development

###PhoneGap

No additional configuration is needed to use the Apigee JavaScript SDK in PhoneGap apps.

###Trigger.io configuration

The following plugins should be enabled:

  1. is
  2. event

Or the SDK will not function properly!

###Titanium Configuration

For the SDK to properly report device based metrics like OS and version name we need to add this snippet of code anywhere in your app.js file.

Ti.App.addEventListener('analytics:attachReady', function(e){
	Ti.App.fireEvent('analytics:platformMetrics', 
	{
		name:Titanium.Platform.name, 
		osname:Titanium.Platform.getOsname(), 
		model:Titanium.Platform.getModel(), 
		networkType:Titanium.Network.getNetworkTypeName(), 
		uuid:Titanium.Platform.createUUID()
	});
});

##Node.js Module and Other SDKs Want to use Node.js? No problem - use the Usergrid Node Module. You can get it from npm and GitHub

The syntax for this JavaScript SDK and the Usergrid Node module are almost exactly the same so you can easily transition between them.

We also have SDKs available for many other platforms, including Android, iOS, Ruby, .NET. Visit our SDK download page for a full list.

##More documentation

Head over to the App Services documentation to learn more about how to use App Services in JavaScript!

##Comments / Questions Please feel free to send comments or questions to the Usergrid Google group:

usergrid@googlegroups.com

Or just open github issues. We want to know what you think, and will address all suggestions / comments / concerns.

Thank you!