I have implmented appboy in iOS app for push notifications.
This was working fine previously but from last two days its giving an error when I am trying to test a push.
"None of the users with email or id asd111#gmail.com have matching push tokens for iOS Push"
And previously everything was good and working fine.
same p12 certificates same pem. Any suggestion would be helpful.
I was facing same issue a while ago and ended up uploading another p12 certificate. It worked like a charm ;). Also make sure you are testing in the same environment for which appboy is configured for! I mean, if you are using development certificates to test push notifications than you must upload development SSL certificate (p12) and if you are using distribution certificate than you must upload production SSL certificate. Hope it helps!
Related
I know this question has been asked a few times but I am still having issues after trying all the suggested fixes.
I have an app that is being tested through Apple's TestFlight of which a number of External Users have downloaded. The app was built using an AdHoc Distribution Profile against the relevant App ID which has Push Notifications Enabled for Distribution and has the necessary Apple Push Services certificate. I am using Parse and am able to receive notifications on my test device (signed with the dev certificate and APN push cert), however the external testers are not receiving any notifications.
I am using Parse and can see in the logs that the notifications are being sent so I am assuming it is something with the devices themselves related to a problem with the provisioning profiles. I also followed the steps to uploading a new .p12 file to my Parse server for production notifications.
However, it seems that only the builds with the development profile are able to receive notifications. Am I correct in assuming that this is because the certificate used by Parse to sign the notification doesn't match that which was used in the adhoc build? I.e. Parse is still using the old .p12 certificate?
When I uploaded the new .p12 file to my Parse server I didn't explicitly remove the previous .p12 certificate, do I need to do this? Would revoking the dev APN certificate solve this?
Any help is much appreciated.
Thanks
The reason notifications were not being received was due to the production flag not being set to true when I uploaded the production certificate to my Parse server. I re-uploaded the certificate setting this to true and notifications began to work.
I'm using Google Firebase Cloud Messaging API (FCM) to send push notifications to my iOS app.
I could get push-notifications working successfully when I test the app on a device with Development provisioning profiles + development push notification(sandbox) certificates.
However I'm unable to get it working on production environment. I made an ad-hoc build with correct production provisioning profiles and production push notification certificates. And synced an IPA file to a device via iTunes for testing (not directly from xcode). Still I can't receive push notifications from firebase console.
I have uploaded correct development and production certificates (with private keys) to firebase as well. I've double checked every possible step that could go wrong but, still can't find the issue. Is there a way to troubleshoot this issue? Or isn't it possible to get production environment notifications to an AdHoc build?
I had the same issue. Apparently there is an error in the Firebase documentation. When you exporting the APN certificate for production from your keychain to the .p12 file you have to select the actual certificate, not the private key.
Make sure you upload to the Firebase console this .p12 file in the Cloud Messaging APN certificate settings.
Had same issue. Finally got it working by:
Using the correct Project and Target Build Settings as mentioned in This link.
And revoking the existing push certificates and creating a new one completely, and then uploading the new certificate's .p12 file to the Firebase Console.
What fixed my issue was using the new Authentication Keys method instead of the old p12 files. You can read more in the Firebase documentation, just follow their steps and you should be fine.
I had the same issue.
What helped me: adding APNS for Distribution Certificate to Firebase. Simple as that ;)
We have an iPhone app that uses APN, the testing was perfect on sandbox, now the problem we are seeing is that APN is not reaching the phone on production, is this a known issue on the iPhone? Our app was just approved two days ago.
We checked everything mentioned here,
I understand this question is very hard to answer and I guess what I'm looking for is any hints.
This is what I made sure of:
I am using different APN token for production than development
The provisioning profile has Push Notifications enabled
Apple APN service responds successfully without and don't report any issue.
Certificates seems to be fine. And when I unzip the ipa I see aps-environment refers to production in the distribution ipa.
Downloaded the Store ipa and unpacked it, yet to find that it also has the aps-environment set to production.
UPDATE:
I removed all the certificates and provisioning profiles and created a new Production/Distribution certificate with Push Notification support.
Now, when I installed the store version, the APN didn't work still. However, I used the latest Ad-Hoc built I have locally and the APN is working fine. I decided to replace the Ad-Hoc with the Store version, and behold, the APN started to work. I am not sure what's the issue, I'll have to check on other phones to see if it really works. Have anyone had similar scenario?
Old question, but I had the same troubles.
Just found this link: iPhone iOS push notifications apns on production not sending
For production you need a different URL to push your notifications:
ssl://gateway.sandbox.push.apple.com:2195 Development
ssl://gateway.push.apple.com:2195 Production
This fixed it for me.
I have successfully created the .pem and .p12 file by
http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
Tutorial.
We are using java as a server so I also exported my .p12 key using this link as there was an error of directly exporting the .p12 file
Cannot send push notifications using Javapns/Javaapns SSL handshake failure.
Everything is working great in debug mode. Whenever I install a build by xcode I receive the push notifications successfully everytime. But after archiving and uploading the build on testflight or diawi and then installing it on the device I didn't get any push notifications. I am successfully getting the device token from apns server. On debugging at server side we found that the device token they receive and send the notifications is invalid. This response is sent by the apns server to our java server. . I am using Xcode 6.0 or later and my app is compatible with ios7.0 or later. And yes I have made checks in registering for remote notifications for ios 8 and 7.Has anyone has faced this issue because earlier in xcode 5 series this hasn't happen. Please help
Any help will be appreciated. Thanks
If you followed Ray Wenderlich's tutorial and you made everything work in development mode, the issue most likely comes the fact that you now need to create a new .pem-file for production mode.
So, you need to perform exactly the same steps that you did with the development certificate (i.e. the .p12-file) you downloaded once more with the production certificate which you can obtain in the iOS dev center as well:
Here is the quote from the tutorial that you probably overread:
If you’re ready to release your app to the public, you will have to
repeat this process to make an Ad Hoc or App Store distribution
profile.
1.)Check if the pem file you have stored on your server is created by using a development certificate or distribution certificate, for push notifications to work through ttestflight you need to create a pem file in the distribution mode,
2.) also check if the gateway you are delivering to is gateway.push.apple.com:2195, and not the sandbox one,
3.)the notification tokens are also different for development and distribution profile, check all these scenarios and see
In order for push to work you have to use the exact same AppID for both creating APNs cert and Provisioning Profile. Wildcard profiles cannot be used for push notifications. May this be your problem(using wildcard or just different AppID for TestFlight/diawi)?
I am following this tutorial: http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
Now with development certificate works fine, but I'm getting crazy to test with the distribution certificate!
I did the same thing only using the .p12 and the relative distribution certificate instead of development, but that will never get the notifications!
Maybe I'm missing something .. could someone kindly explain how you can test push with the distribution certificate?
The app is already on App Store.
Thanks
EDIT
I solved it by creating an ad-hoc distribution, but now I have another problem:
if i test my php code from terminal in my desktop everything works fine. but if I try to upload php and .pem file to my server, the push notification stop to work!!!
maybe I change the path of ck.pem in php code?
For production environment, please use gateway.push.apple.com:2195 push notification server in the simplepush.php (instead of gateway.sandbox.push.apple.com:2195). Please see the Provider Communication with Apple Push Notification Service article for more information.