Introduction
Appcelerator Services are a set of features that are enabled through Appcelerator Studio and tracked on the Appcelerator Dashboard. These features include:
- API Builder: Mobile backend-as-a-service solution providing commonly used features, such as user management, push notification, integration with social networks and cloud storage provided by Mobile Backend Services. Using API Builder Cloud and Arrow Builder, developers can quickly and easily create mobile-optimized APIs that manage data from multiple data sources, such as SAP, Salesforce.com, Oracle, Sharepoint and others. For more information, see the Axway API Builder.
- Appcelerator Test: Integrated automated functional testing for your application, powered by SOASTA services. Using Appcelerator Test, developers and testers collaborate to record tests directly on the mobile device, execute tests and analyze the results. For more information, see Appcelerator Test
- Appcelerator Performance: Monitors your application's health, crashes and overall performance, powered by our own crash server service. Using Appcelerator Performance, developers are able to diagnose why applications crash and focus on specific issues based on user feedback. For more information, see Appcelerator Performance Management.
- Appcelerator Analytics: Track your applications' user adoption and engagement. Understand how your application is used, which features are not used and decide what will go in the next version of your application. For more information, see Appcelerator Analytics.
You can monitor and manage these services using the Appcelerator Dashboard at https://platform.appcelerator.com.
For information on using the dashboard, see Appcelerator Dashboard.
Enable Appcelerator Services
To enable Appcelerator Services for a Titanium or Alloy project:
- When creating a new application in Appcelerator Studio, make sure the Enable Appcelerator Services checkbox is enabled.
- For a previously created project, open your
tiapp.xml
file, then click the Enable Services button under the Appcelerator Service section.
Appcelerator Studio injects code in to the tiapp.xml
file to enable these services for your project. See code examples
below. Do not modify these changes or else you will disable these
services.
tiapp.xml
The following changes are made to the tiapp.xml
file to enable Appcelerator Services for both classic mobile and
Alloy projects.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
<!-- Crittercism Application ID for Appcelerator Performance service
--> < property name = "com-apm-id" type = "string" >CRITTERCISM_APP_ID</ property > <!-- Set keys for the ArrowDB service --> < property name = "acs-api-key-production" type = "string" >API_KEY_PROD</ property > < property name = "acs-authbase-url" type = "string" >ACS_AUTH_URL</ property > < property name = "acs-base-url" type = "string" >ACS_BASE_URL</ property > < property name = "acs-api-key-development" type = "string" >API_KEY_DEV</ property > <!-- Enable the Appcelerator Analytics service --> < analytics >true</ analytics > <!-- Android Manifest keys for the Appcelerator Test service --> < manifest > < application > < activity android:configChanges = "keyboardHidden|orientation" android:label="<AppName>" android:name=".< Appname >androidActivity" android:theme="@style/Theme.Titanium"> < intent-filter > < action android:name = "android.intent.action.MAIN" /> < category android:name = "android.intent.category.LAUNCHER" /> </ intent-filter > < intent-filter > < data android:scheme="touchtest-<GUID>"/> < action android:name = "android.intent.action.VIEW" /> < category android:name = "android.intent.category.BROWSABLE" /> < category android:name = "android.intent.category.DEFAULT" /> </ intent-filter > </ activity > < service android:enabled = "true" android:exported = "false" android:name = "com.soasta.android.touchtest.TouchTestService" /> </ application > <!-- All services require the ACCESS_WIFI_STATE and INTERNET permissions
--> < uses-permission android:name = "android.permission.ACCESS_WIFI_STATE" /> < uses-permission android:name = "android.permission.INTERNET" /> <!-- The Appcelerator Test service requires READ_PHONE_STATE, BLUETOOTH,
and BLUETOOTH_ADMIN permissions --> < uses-permission android:name = "android.permission.READ_PHONE_STATE" /> < uses-permission android:name = "android.permission.BLUETOOTH" /> < uses-permission android:name = "android.permission.BLUETOOTH_ADMIN" /> <!-- The Appcelerator Performance and Test services require the GET_TASKS
permission --> < uses-permission android:name = "android.permission.GET_TASKS" /> </ manifest > </ android > <!-- Include modules for Appcelerator Performance, Cloud and Test services
--> < modules > < module platform = "commonjs" >ti.cloud</ module > < module platform = "android" >com.appcelerator.apm</ module > < module platform = "iphone" >com.appcelerator.apm</ module > < module deploy-type = "test" platform = "iphone" version = "1.0" >com.soasta.touchtest</ module > < module deploy-type = "development" platform = "iphone" version = "1.0" >com.soasta.touchtest</ module > < module deploy-type = "test" platform = "android" version = "1.0" >com.soasta.touchtest</ module > < module deploy-type = "development" platform = "android" version = "1.0" >com.soasta.touchtest</ module > </ modules > <!-- Configure Appcelerator Test settings --> < ios > < plist > < dict > < key >CFBundleURLTypes</ key > < array > < dict > < key >CFBundleTypeRole</ key > < string >Editor</ string > < key >CFBundleURLName</ key > < string >PACKAGE</ string > < key >CFBundleURLSchemes</ key > < array > < string >touchtest-< GUID ></ string > </ array > </ dict > </ array > </ dict > </ plist > </ ios > < plugins > < plugin >com.soasta.touchtest.android</ plugin > </ plugins > < property name = "com-soasta-touchtest-version" type = "string" >VERSION</ property > < property name = "com-soasta-touchtest-ios-appId" type = "string" >TEST_APP_ID</ property > |
Android Permissions
The application requires the following Android permissions to use AMPLIFY Appcelerator Services for Titanium and Alloy applications.
Permission
|
Required By
|
---|---|
ACCESS_WIFI_STATE |
All services to access the Wi-Fi state of the device. |
BLUETOOTH |
The Test service to uniquely identify the device. |
BLUETOOTH_ADMIN |
The Test service to uniquely identify the device. |
GET_TASKS |
|
INTERNET |
All services to access the Appcelerator Platform servers. |
READ_PHONE_STATE |
The Test service to uniquely identify the device. |
Troubleshooting
Unable to enable Appcelerator Services
If more than one person is working on the same project and you try to enable
Appcelerator Services after it has already been enabled once, the enablement
process may freeze. To resolve this issue, copy the tiapp.xml
from the user who first enabled Appcelerator Services.