Add the module as a dependency to your application by adding a <module>
item to the <modules>
element of your tiapp.xml
file:
<ti:app>
...
<modules>
<module platform="android">ti.playservices</module>
</modules>
...
</ti:app>
Use require()
to access the module from JavaScript:
const PlayServices = require('ti.playservices');
The PlayServices
variable is a reference to the module. Make API calls using this reference:
const playServicesAvailable = PlayServices.isGooglePlayServicesAvailable();
As of version 17.1.0 (only supported by Titanium Mobile SDK 9.0.0 and above), the ti.playservices
module will automatically check if
Google Play Services is installed and up-to-date on the device upon app startup. If not, the module will prompt the
end-user to install/update it. The main app script (ie: app.js
or alloy.js
) will not be executed until the end-user has
successfully installed/updated Google Play Services or if it is already up-to-date.
If you do not want ti.playservices
to check Google Play Services on app startup, then you can disable the above mentioned behavior
by setting the below property in the tiapp.xml
file.
<ti:app xmlns:ti="http://ti.appcelerator.org">
<property name="ti.playservices.validate.on.startup" type="bool">false</property>
</ti:app>
If you disable the above behavior, then it is highly recommended to detect availability issues yourself as shown below.
const PlayServices = require('ti.playservices');
const win = Ti.UI.createWindow({ backgroundColor: 'gray' });
const btn = Ti.UI.createButton({ title: 'CHECK PLAY SERVICES' });
btn.addEventListener('click', () => {
PlayServices.makeGooglePlayServicesAvailable((e) => {
if (e.success) {
alert(`Play Services: ${PlayServices.GOOGLE_PLAY_SERVICES_VERSION_CODE}`);
// Use Play Services
} else {
alert(`Play Services is not available.`);
}
});
});
win.add(btn);
win.open();
To include Play Services libraries with your native module include the module as a dependency by adding a <module>
item to the <modules>
element of your timodule.xml
file:
<ti:module>
...
<modules>
<module platform="android">ti.playservices</module>
</modules>
...
</ti:module>
For a detailed API example please see android/example/app.js
lib
folder in the android
directorynpm install node .
from the updater
directorynpm install && node .
from the updater
directoryappc run -p android --build-only
from the android
directoryAxway
Apache 2.0
Code contributions are greatly appreciated, please submit a new pull request!