Problems with Invalid Device Tokens

Hi all, I’m currently trying to integrate the Ionic Push service in my app. So far I’ve managed to set up the ionic api calls and token registration just fine, but Ionic keeps returning with an error status 102 saying that i have invalid tokens. Right now I’m developing in Android so I highly doubt it has something to do with iOS issues. Here’s my push code. I would greatly appreciate any insight.

App Start:

$ionicPush.init({
  "debug": true,
  "onNotification": function(notification) {
    var payload = notification.payload;
    console.log(notification, payload);
  },
  "onRegister": function(data) {
    console.log(data.token);
  }
});

$ionicPush.register();

When User Logs In:

        Ionic.io();
        // this will give you a fresh user or the previously saved 'current user'
        var user = Ionic.User.current();
        // if the user doesn't have an id, you'll need to give it one.
        if (!user.id) {
          user.id = response.data.oid;
          // user.id = 'your-custom-user-id';
        }
        //persist the user
        //var push = new Ionic.Push();

        var callback = function(pushToken) {
          console.log("Registered Token: ", pushToken.token);
          user.addPushToken(pushToken);
          localStorage.set("token", pushToken);
          user.save();
        }
        $ionicPush.register(callback);

Actual Push Notification:

$scope.pushNotification = function() {

  console.log(localStorage.get("token"));
  var notification = {
    //"user_ids": ["somethingsomething"],
    "tokens": [localStorage.get("token")],
    "notification": {
      "alert": "Hello World!",
      "scheduled": new Date() + 10000,
      "ios":{
        "badge":1,
        "sound":"ping.aiff",
        "expiry": 1423238641,
        "priority": 10,
        "contentAvailable": 1,
        "payload":{
          "key1":"value",
          "key2":"value"
        }
      },
      "android":{
        "collapseKey":"foo",
        "delayWhileIdle":true,
        "timeToLive":300,
        "payload":{
          "key1":"value",
          "key2":"value"
        }
      }
    }    
  };
var dataString = JSON.stringify(notification);

// Here's our App's PRIVATE API KEY, must be encoded for Authroization
var encodedAPIKey = btoa("privateapikey" + ":");

var config = {
  headers: {
    "Content-Type": "application/json", 
    "X-Ionic-Application-Id": "b24a5ed6", 
    'Authorization' : 'basic ' + encodedAPIKey
  }
}

$http.post("https://push.ionic.io/api/v1/push", dataString, config)
.success(function(data, status, headers, config) {
  console.log(data);
  console.log(status);
  console.log(headers);
  console.log(config);
  console.log("Push Success");
})
.error(function (data, status, header, config) {
  console.log(data);
})

}