2012-06-20 2 views
1

Я пытаюсь выполнить толчок уведомление с Appcelerator Cloud Service на Android Но у меня есть некоторые проблемы ... tiapp.xml здесь:Push уведомление с Appcelerator (ACS) на Android

<sdk-version>2.0.2.GA</sdk-version> 
<modules> 
<module platform="commonjs" version="2.0.5">ti.cloud</module> 
<module platform="android" version="2.0.5">ti.cloudpush</module> 
</modules> 

Android выполнения v8 и ti.cloudpush включен, вот мой app.js файл

var win = Ti.UI.createWindow({ 
backgroundColor:'#ccc', 
title:'Android Cloud Push Notification' 
}) 

var CloudPush = require('ti.cloudpush'); 
CloudPush.debug = true; 
CloudPush.enabled = true; 
CloudPush.showTrayNotificationsWhenFocused = true; 
CloudPush.focusAppOnPush = false; 

var deviceToken; 

var Cloud = require('ti.cloud'); 
Cloud.debug = true; 

var submit = Ti.UI.createButton({ 
title : 'Register For Push Notification', 
color:'#000', 
height : 53, 
width : 200, 
top : 100, 
}); 
win.add(submit); 

submit.addEventListener('click', function(e) { 
CloudPush.retrieveDeviceToken({ 
success: function deviceTokenSuccess(e) { 
alert('Device Token: ' + e.deviceToken); 
deviceToken = e.deviceToken 
loginDefault(); 
}, 
error: function deviceTokenError(e) { 
alert('Failed to register for push! ' + e.error); 
} 
}); 
}); 

function defaultSubscribe(){ 
Cloud.PushNotifications.subscribe({ 
channel: 'chanel', 
device_token: deviceToken, 
type: 'android' 
}, function (e){ 
if (e.success) { 
alert('Subscribed for Push Notification!'); 
}else{ 
alert('Error:' +((e.error && e.message) || JSON.stringify(e))); 
} 
}); 
} 

function loginDefault(e){ 
//Create a Default User in Cloud Console, and login 
Cloud.Users.login({ 
login: 'android', 
password: 'android' 
}, function (e) { 
if (e.success) { 
alert("login success"); 
defaultSubscribe(); 
} else { 
alert('Error: ' +((e.error && e.message) || JSON.stringify(e))); 
} 
}); 
} 

CloudPush.addEventListener('callback', function (evt) { 
//alert(evt); 
alert(evt.payload); 
}); 

CloudPush.addEventListener('trayClickLaunchedApp', function (evt) { 
//Ti.API.info('Tray Click Launched App (app was not running)'); 
alert('Tray Click Launched App (app was not running'); 
}); 

CloudPush.addEventListener('trayClickFocusedApp', function (evt) { 
//Ti.API.info('Tray Click Focused App (app was already running)'); 
alert('Tray Click Focused App (app was already running)'); 
}); 

win.open(); 

я имел пользователь Android/андроид в облаке консоли Appcelerator для режима разработки. Запустил мое приложение на свое устройство с режимом debogage В приложении: просто нажмите кнопку «зарегистрироваться для push-уведомления» и см. 3 предупреждения 1) Идентификатор устройства: «все номера» 2) успех входа 3) Подписка на Push Уведомление!

На консоли Appcelerator Cloud: Logs -> см войдите & подписаться, открыл его и ОК Push-уведомления все в -> 1 Android клиенты подписались на уведомления толчка. И отправьте одно сквозное уведомление с оповещением & title И ничего не появляется ... попробуйте перезагрузить, попробуйте отключить приложение и отправьте еще один, ничего. Я использовал устройство (LG OPTIMUS ONE) с Android 2.2.1 с интернетом на нем (wifi). Итак, я попробовал с другим телефоном (SAMSUNG GALAXY S2) 3.3.2 с интернетом на нем (wifi) И единственное изменение в облачной консоли: Push Notifications -> 2 клиента Android подписались на push-уведомления. Но это то же самое, никаких уведомлений не появляется. Прошу, мне действительно нужна помощь для этого, мне удается с iOS через 2 дня, и я не понимаю, в чем здесь дело?

+0

Check it out: https://marketplace.appcelerator.com/listing?q=PushClient Я создал и опубликовал Титановый модуль для обработки push-уведомлений Android (GCM) и iOS (APN). –

ответ

1

Вы зарегистрированы в Google C2DM? Вам необходимо заполнить форму на https://developers.google.com/android/c2dm/signup для отправки уведомлений на устройство. Убедитесь, что у вас есть правильный идентификатор приложения в облачных настройках Appcelerator.

2

Я не думаю, что мне нужно зарегистрироваться в Google C2DM для использования ACS. ACS использует протокол MQTT для отправки push. (я выполнил следующие шаги: http://www.titaniumtutorial.com/2012/06/appcelerator-cloud-push-notification-in.html) Вы уже сделали один проект с уведомлением push на Android & Ti? Я проверил свои настройки, и все в порядке. Но, поскольку я в отчаянии, я также регистрируюсь на C2DM и ничего лучше, я думаю, мне нужно подождать немного до тестирования.

2

Я использую модуль upush в Marketplace, взял меня на 10 минут, чтобы ускорить его работу, избавил меня от лишнего времени.

Смежные вопросы