SeeleyBoothe
SeeleyBoothe

Reputation: 261

Phonegap and Parse.com Push Notifications IOS

So I am trying to setup a PhoneGap IOS and Parse.com Push notification app. I am using this plugin https://github.com/mgcrea/cordova-push-notification to register the device with apple and get back the device token. Now I need to save that data to the Installition class on my Parse. Problem is when I do a save it creates a new installation class.

var Installation = Parse.Object.extend("Installation");
    var installation = new Installation();
    installation.save({badge: status.pushBadge, deviceToken: status.deviceToken, deviceType: status.type, installationId: appID}, {
        success: function(response){
            alert("seccuees " + response);
        },
        error: function(error){
            alert("error " + error.message);
        }
    });

I have also tried using a ajax call to the rest api and no go..

$.ajax({
        type: 'GET',
        headers: {'X-Parse-Application-Id':'miid','X-Parse-Rest-API-Key':'myid'},
        url: "https://api.parse.com/1/installations",
        data: {"deviceType": "ios", "deviceToken": "01234567890123456789", "channels": [""]},
        contentType: "application/json",
        success: function(response){
            alert("Success " + response);   
        },
        error: function(error){
            alert("Error " + error.message);    
        }
    });

Upvotes: 1

Views: 3390

Answers (2)

Shaunak Das
Shaunak Das

Reputation: 201

Dont use "Installation" class. It will just create a new Installation object. To create Parse Installation object for Push notification, use "_Installation". Following is the way to do it.

var installation = new  Parse.Object("_Installation");;
installation.save({ channels: ['channelName'], deviceType: "android", installationId: id}, {
                success: function(response){
                    alert("success " + response);
                },
                error: function(error){
                        alert("error " + error.message);
                    }
                });

Upvotes: 1

Daniel_Madain
Daniel_Madain

Reputation: 491

Make sure type is 'POST' not 'Get' if you are updating data

$.ajax({
        type: 'POST', // <============
        headers: {'X-Parse-Application-Id':'miid','X-Parse-Rest-API-Key':'myid'},
        url: "https://api.parse.com/1/installations",
        data: {"deviceType": "ios", "deviceToken": "01234567890123456789", "channels": [""]},
        contentType: "application/json",
        success: function(response){
            alert("Success " + response);   
        },
        error: function(error){
            alert("Error " + error.message);    
        }
    });

Also could you provide more details on the error that is returned

Upvotes: 0

Related Questions