我正在尝试将GCM
集成到钛appcelerator中。
我在我的钛项目中集成了 net.iamyellow.gcmjs 模块。但得到以下错误。
[ERROR]:发现不兼容的Titanium模块:[ERROR]:id: net.iamyellow.gcmjs版本:0.2平台:android min sdk: 3.0.2.GA
我的titanium SDK
版本为6.1.2.GA
。
答案 0 :(得分:0)
为了帮助您入门,here are some good guidelines。此外,您还可以找到有助于您的代码示例,或者至少可以让您了解代码的错误以及为什么会出现错误。您可以从网站提供的代码中比较您的代码。
让我们从几行配置开始。打开tiapp.xml文件 您的Titanium项目,因为我们需要先声明模块。 一旦完成,gcm.js只需要一个属性来使事情有效: 发件人ID。如您在以下示例中所示,只需填充属性即可 值与该信息:
<property name="GCM_sender_id" type="string">YOUR_SENDER_ID</property>
<modules>
<module platform="android" version="0.2">net.iamyellow.gcmjs</module>
</modules>
现在,在您的应用中的某个位置,您需要将其注册为推送 通知:
var gcm = require('net.iamyellow.gcmjs')
var pendingData = gcm.data;
if (pendingData && pendingData !== null) {
// if we're here is because user has clicked on the notification
// and we set extras for the intent
// and the app WAS NOT running
// (don't worry, we'll see more of this later)
Ti.API.info('******* data (started) ' + JSON.stringify(pendingData));
}
gcm.registerForPushNotifications({
success: function (ev) {
// on successful registration
Ti.API.info('******* success, ' + ev.deviceToken);
},
error: function (ev) {
// when an error occurs
Ti.API.info('******* error, ' + ev.error);
},
callback: function () {
// when a gcm notification is received WHEN the app IS IN FOREGROUND
alert('hellow yellow!');
},
unregister: function (ev) {
// on unregister
Ti.API.info('******* unregister, ' + ev.deviceToken);
},
data: function (data) {
// if we're here is because user has clicked on the notification
// and we set extras in the intent
// and the app WAS RUNNING (=> RESUMED)
// (again don't worry, we'll see more of this later)
Ti.API.info('******* data (resumed) ' + JSON.stringify(data));
}
});
// in order to unregister:
// require('net.iamyellow.gcmjs').unregister();
只需浏览网站即可扩展这些技巧。
希望这有帮助。