Я пытаюсь получить GCM Cordova Plugin для запуска в примере приложения. Я загрузил источник, и в Eclipse я создал проект из существующего кода.Cordova/Phonegap Плагин GCM для Android сбой
Теперь в этом проекте есть файл под названием CORDOVA_GCM_script.js, где необходимо изменить идентификатор отправителя, чтобы соответствовать своему собственному идентификатору GCM служб (который я получаю от моего проекта Google):
window.plugins.GCM.register("my_sender_id", "GCM_Event", GCM_Success, GCM_Fail);
чтобы отправить сообщение в моем приложении я использую Node.js с этим сценарием, так же, как объяснено Холли Schinsky на this post:
var GCM = require('gcm').GCM;
var apiKey = 'someCharsRepresentingMyKey';
var gcm = new GCM(apiKey);
var message = {
registration_id: 'myDeviceRegistrationId', // required
collapse_key: 'demo',
'message': 'Yourturn',
'title': 'My Game',
'msgcnt': '1'
};
gcm.send(message, function(err, messageId){
if (err) {
console.log("Something has gone wrong!");
} else {
console.log("Sent with message ID: ", messageId);
}
});
Теперь, когда я запустить приложение на устройстве, оно запускается и регистрируется но когда я пытаюсь отправить ему сообщение, Shes и существует с сообщением «К сожалению, GCM остановил»
LogCat показывает мне это:
03-05 20:15:39.897: E/AndroidRuntime(19007): FATAL EXCEPTION: IntentService[GCMIntentService-GCMIntentService-2]
03-05 20:15:39.897: E/AndroidRuntime(19007): java.lang.NullPointerException: println needs a message
03-05 20:15:39.897: E/AndroidRuntime(19007): at android.util.Log.println_native(Native Method)
03-05 20:15:39.897: E/AndroidRuntime(19007): at android.util.Log.v(Log.java:117)
03-05 20:15:39.897: E/AndroidRuntime(19007): at com.cordova2.gcm.GCMIntentService.onMessage(GCMIntentService.java:63)
03-05 20:15:39.897: E/AndroidRuntime(19007): at com.google.android.gcm.GCMBaseIntentService.onHandleIntent(GCMBaseIntentService.java:179)
03-05 20:15:39.897: E/AndroidRuntime(19007): at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
03-05 20:15:39.897: E/AndroidRuntime(19007): at android.os.Handler.dispatchMessage(Handler.java:99)
03-05 20:15:39.897: E/AndroidRuntime(19007): at android.os.Looper.loop(Looper.java:137)
03-05 20:15:39.897: E/AndroidRuntime(19007): at android.os.HandlerThread.run(HandlerThread.java:60)
Я нашел this post и последовал предлагаемый совет, но приложение сохраняет сбой.
Может ли кто-нибудь дать мне какие-либо рекомендации по этому вопросу?
спасибо.
Как вы сказали, я прокомментировал обе строки. , , приложение больше не разбивается, и в WebView я вижу строки «MESSAGE -> MSG: undefined» и «MESSAGE -> MSGCOUNT: undefined», что указывает на то, что, возможно, я не правильно отправляю сообщение с сервера , – Octavio