• Categories
  • Recent
  • Tags
  • Popular
  • Solved
  • Unsolved
  • Users
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Darkly)
  • No Skin
Collapse
brainCloud Forums

'INVALID_TOKEN' When Sending Push Notifications

Scheduled Pinned Locked Moved Solved APIs
iospush notifications
24 Posts 5 Posters 3.6k Views
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    Joseph Wiemer
    wrote on last edited by
    #1

    I'm getting an INVALID_TOKEN error when calling scheduleNormalizedPushNotificationMinutes() from cloud code. The "Send Notification" button in the BrainCloud dashboard also fails to work.

    braincloud1.JPG

    1. I've correctly uploaded/configured my .p12 file etc.
    2. I'm correctly retrieving the device token from the client, and it shows up on the BrainCloud dashboard.
    3. My Apple certs/profiles etc. are in order.
                    var alertContentJson = {
                        "body": "content of message",
                        "title": "message title"
                    };
                    var customDataJson = {
                        "field1": "value1",
                        "field2": "value2"
                    };
                    var minutesFromNow = 1;
                    var otherPlayerId = "someId";
                    var pushNotificationProxy = bridge.getPushNotificationServiceProxy();
                    
                    var postResult = pushNotificationProxy.scheduleNormalizedPushNotificationMinutes(otherPlayerId, alertContentJson, customDataJson, minutesFromNow);
    
    1 Reply Last reply
    2
  • J Offline
    J Offline
    Joseph Wiemer
    wrote on last edited by
    #22

    Ok guys, I've solved it! It was some godforsaken problem with my .p12 file.

    1. Tried creating a .p12 file by exporting both the private key and the cert. FAILED.
    2. Tried creating a .p12 file by exporting just the private key. FAILED.
    3. Tried creating a .p12 file by exporting just the cert. SUCCESS.

    So, notifications are now working for me. Not sure how to mark this question as solved, but it's solved. Thanks for all your help!

    1 Reply Last reply
    1
  • Paul WinterhalderP Offline
    Paul WinterhalderP Offline
    Paul Winterhalder brainCloudAdmin
    wrote on last edited by
    #2

    Hi Joseph,

    We're looking into it. That error would generally indicate that the push token itself is invalid (though looking at the details in your logs it looks fine) - or that for some reason, the token isn't valid for that particular .p12 cert that you've uploaded to brainCloud).

    We'll have more recommendations soon...

    Paul.

    J 1 Reply Last reply
    1
  • J Offline
    J Offline
    Joseph Wiemer
    replied to Paul Winterhalder on last edited by
    #3

    @Paul-Winterhalder Thanks, Paul.

    1 Reply Last reply
    0
  • Paul WinterhalderP Offline
    Paul WinterhalderP Offline
    Paul Winterhalder brainCloudAdmin
    wrote on last edited by
    #4

    Hi Joseph,

    Here's a way to test your Push notification setup (outside of brainCloud) to ensure that the cert and token retrieval is configured properly:

    1. Go to pushtry.com
    2. Upload the same .p12 file that you're using for brainCloud. Be sure to enter the password too.
    3. Grab the Device Token(s) that you see in the user's User Summary Page - copy those over, separated by commas
    4. Production box accordingly (brainCloud always tries to send to Production first, if that fails, sends to Sandbox)
    5. Enter a test message
    6. Hit [Send]

    We just tried this with one of our test apps and it worked well. Does it work for your setup?

    J 1 Reply Last reply
    1
  • JonathanJ Offline
    JonathanJ Offline
    Jonathan
    wrote on last edited by
    #5

    Adding in, when we get an error using the device token, we remove it from memory on the brainCloud portal, to prevent spamming the system with bad tokens. So if you look under user Monitoring | User Monitoring | User Summary you won't see the deviceTokens on that profile (due to the error your reporting.)

    That said, your registration implementation and device token look fine. I don't think it's an issue with the token.

    So perhaps it's an issue with the cert?

    On the iCloud dashboard, I would check to ensure the cert used and uploaded with brainCloud had push notifications enabled.

    373168e8-de27-46b5-bb9e-eb0a659a3e77-image.png

    1 Reply Last reply
    1
  • J Offline
    J Offline
    Joseph Wiemer
    replied to Paul Winterhalder on last edited by
    #6

    @Paul-Winterhalder I'm getting "The credentials supplied to the package were not recognized." No clue what that means, unfortunately.

    Paul WinterhalderP 1 Reply Last reply
    0
  • JonathanJ Offline
    JonathanJ Offline
    Jonathan
    wrote on last edited by Jonathan
    #7

    If it is a cert issue. These steps may help: https://www.mobiloud.com/help/knowledge-base/how-to-export-push-notification-certificate-p12/

    edit: this link seems to confirm the cert theory. Based on the error message: https://stackoverflow.com/questions/22568648/ios-production-push-notifications-invalid-token-from-apns-server

    1 Reply Last reply
    0
  • Paul WinterhalderP Offline
    Paul WinterhalderP Offline
    Paul Winterhalder brainCloudAdmin
    replied to Joseph Wiemer on last edited by
    #8

    @Joseph-Wiemer My guess would be bad password?

    J 1 Reply Last reply
    0
  • J Offline
    J Offline
    Joseph Wiemer
    replied to Paul Winterhalder on last edited by
    #9

    @Paul-Winterhalder That's what I thought at first, but no, my password is correct.

    1 Reply Last reply
    0
  • Paul WinterhalderP Offline
    Paul WinterhalderP Offline
    Paul Winterhalder brainCloudAdmin
    wrote on last edited by
    #10

    I agree with Jonathan's suggestion to recreate the P12 file. I'm reading several articles here where someone was getting the same error.

    The solution in all cases was to recreate the P12 file.

    The quote from the discussion:

    I figured out the problem. I revoked and regenerated the certificate again, and this time I only exported the private key (without the certificate). In Keychain access, I exported as .p12 and used the new file and it worked. For some reason, PushSharp wasn't play well with .p12 when both certificate and private key are present in the file.

    Here's the link to Stack Overflow:
    https://stackoverflow.com/questions/23329040/pushsharp-apns-production-the-credentials-supplied-to-the-package-were-not-reco

    Hope that helps!

    Paul.

    J 2 Replies Last reply
    1
  • J Offline
    J Offline
    Joseph Wiemer
    replied to Paul Winterhalder on last edited by
    #11

    @Paul-Winterhalder That gives me something to pursue. Thanks, Paul!

    1 Reply Last reply
    0
  • J Offline
    J Offline
    Joseph Wiemer
    replied to Paul Winterhalder on last edited by
    #12

    @Paul-Winterhalder I exported just the private key without the cert and pushtry.com now says, "Push notification sent successfully". So, I uploaded this new .p12 file to brainCloud. However, I never actually received a notification on my device, and am still unable to send notifications via the brainCloud dashboard.

    Steve JonesS 1 Reply Last reply
    0
  • Paul WinterhalderP Offline
    Paul WinterhalderP Offline
    Paul Winterhalder brainCloudAdmin
    wrote on last edited by
    #13

    Okay - the two symptoms:

    #1 - You say you never got that push from the pushtry tool. I assume your app wasn't running at the time? Apple hides push notifications from apps if the app is currently running. Try again?

    #2 - When you say you can't send notifications, you mean they aren't received - just like #1, correct?

    Talking to one of our devs now. He mentions that you need to ensure that the app that's running on the device is built with the correct "entitlements". He's gonna provide more info...

    Stay tuned...

    Paul.

    J 1 Reply Last reply
    0
  • Steve JonesS Offline
    Steve JonesS Offline
    Steve Jones brainCloudAdmin
    replied to Joseph Wiemer on last edited by Steve Jones
    #14

    @Joseph-Wiemer

    Can you confirm that the cert that you made was for Production? AND! that the apps entitlement was set correctly.

    https://developer.apple.com/documentation/bundleresources/entitlements/aps-environment https://developer.apple.com/documentation/usernotifications/registering_your_app_with_apns

    By default when building from xcode, the default Push Notification Entitlement is development, ensure this is set to production.

    Have you confirmed you received the Push notification from pushtry.com on your device ?

    -= Steve Jones =-

    J 1 Reply Last reply
    0
  • Paul WinterhalderP Offline
    Paul WinterhalderP Offline
    Paul Winterhalder brainCloudAdmin
    wrote on last edited by
    #15

    And note, if you change the entitlement, after rebuilding, you'll need to re-run the app on your device - which I believe will cause it to register a new, updated device token... You'll want to use that one for your tests...

    Do I have that right Steve?

    1 Reply Last reply
    0
  • Steve JonesS Offline
    Steve JonesS Offline
    Steve Jones brainCloudAdmin
    wrote on last edited by
    #16

    Correct! @Paul-Winterhalder Keep us updated @Joseph-Wiemer

    -= Steve Jones =-

    1 Reply Last reply
    0
  • J Offline
    J Offline
    Joseph Wiemer
    replied to Paul Winterhalder on last edited by
    #17

    @Paul-Winterhalder

    #1 - My app was not running at the time, and I tried again.
    #2 - That's correct. And I'm still getting the same INVALID_TOKEN error in "Recent Errors".

    My app does have the correct "production" entitlement, yes.

    1 Reply Last reply
    0
  • J Offline
    J Offline
    Joseph Wiemer
    replied to Steve Jones on last edited by
    #18

    @Steve-Jones Yes to both. My cert is for distribution and my app entitlement is set to "production". No, the notification from pushtry.com never appeared on my device, despite the service claiming to have been successful.

    1 Reply Last reply
    0
  • Paul WinterhalderP Offline
    Paul WinterhalderP Offline
    Paul Winterhalder brainCloudAdmin
    wrote on last edited by
    #19

    Dumb question - do you have any other devices that you can load your app on and try with? It's certainly suspicious that pushtry isn't working for you.

    At this point I'd be removing the app from the device, re-installing, re-running (to register what I believe would be a new device token), and retrying the send - both from pushtry and brainCloud.

    If both pushtry and brainCloud don't work - the common denominators are your app's configuration, the device itself, and Apple's servers...

    J 1 Reply Last reply
    0
  • J Offline
    J Offline
    Joseph Wiemer
    replied to Paul Winterhalder on last edited by
    #20

    @Paul-Winterhalder Yes, I do have other devices I could try. I realize this probably isn't a brainCloud problem, so I appreciate all the help you guys have given me, here. Thank you, and I'll keep trying to figure it out.

    Paul WinterhalderP 1 Reply Last reply
    0

  • Login

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Solved
  • Unsolved
  • Users