2015-12-07 23 views
10

Próbuję rozpocząć korzystanie z usług Azure Mobile Services i Visual Studio Tools dla Apache Cordova. (https://msdn.microsoft.com/en-gb/magazine/dn879353.aspx)Usługi Azure Mobile/VS Tools dla Cordova - 404

Chcę korzystać z usługi mobilnej dla powiadomień push. Stworzyłem usługę z zapleczem węzła i tabelą TodoItem. Mam też skonfigurowany GCM.

Jednak gdy próbuje zarejestrować szablon, otrzymuję 404 Not Found Błąd:

var GCM_SENDER_ID = 'MY_GCM_ID'; 
mobileServiceClient = new WindowsAzure.MobileServiceClient(
     "MY_URL", 
     "MY_API_KEY" 
); 

pushNotification = PushNotification.init({ 
    "android": { "senderID": GCM_SENDER_ID } 
}); 

pushNotification.on('registration', function (data) { 
     var handle = data.registrationId; //This appears to be set alright 
     var platform = device.platform; // This is 'Android' 
     if (platform == 'android' || platform == 'Android') { 
     var template = '{ "data" : {"message":"$(message)"}}'; 
     mobileServiceClient.push.gcm.registerTemplate(handle, 'myTemplate', template, null); 
}); 

Ostatni wiersz daje mi 404. biegnę aplikację w Google Android Emulator.

EDIT: Próbowałem nazywając rejestracje punktu końcowego, używając Listonosz: https://myservice.azure-mobile.net/push/registrations?platform=gcm&deviceId=

Jeśli zrobię GET, mam [] jako odpowiedź, jeśli zrobić POST, otrzymuję 404

+0

Czy możesz zauważyć, jaką wersję zainstalowanego pliku/wtyczki JS? A jaka jest także wersja twojego serwera Node.js? Po trafieniu dowolnego punktu końcowego (np. Tabele/todoitem) wersji x-zumo: Zumo.master.0.1.6.4401.Runtime pojawi się nagłówek. – phillipv

+0

Dzięki. Jak mogę zaglądać do nagłówka? Spędziłem dzień lub dwa, próbując zmusić emulatora do miłej gry z Fiddler, ale nie mogę się nigdzie dostać? – user888734

+0

Możesz użyć aplikacji Postman dla Chrome, łatwiej niż mucking z Fiddler i nie trzeba angażować żadnych emulatorów/etc. – phillipv

Odpowiedz

2

Wreszcie poprawiony - Nie zainstalowałem wtyczki Cordova Whitelist!

Uświadomiłem sobie, po debugowaniu w MobileServices.Web.js i widząc, że dokładnie to samo żądanie, które zakończyło się sukcesem z Postmanem, zawodziło w emulatorze Androida.

+0

mimo że znalazłeś podstawową przyczynę, ale twój kod ma nieprawidłowy zakres, funkcja 'pushNotification.on' nigdy nie jest zamykana przy zamknięciu'} 'ostatni nawias zamyka się, jeśli warunek –