Twilio Chat IOS Production APN Certifications Error-52131 - push-notification

I have an issue with receiving notifications on Twilio Chat with Production APN Certifications, i get the error:
Error - 52131
Invalid APNs credentials
Possible Causes
Credential (certificate and private key) is invalid.
Certificate expired.
Possible Solutions
Make sure you have valid certificate and private key provided in your Credential.
When I test my sandbox APN certifcates the push notifications work perfectly.
However when I create APN PUSH SERVICES Certification and upload these and link them to my programmable chat function I get the error message: 52131 - Invalid APNs credentials... https://www.twilio.com/console/runtime/debugger/NOf2857a6c1db54e27984dd8fa9ff5100f
Just to clarify, the push notifications work perfectly on my development project. I use a Sandbox APN certificate, and selected the Sandbox tick box
However in the production version, where I am using:
Specific APN Apple Push Services Certificate, for a unique APP ID I
get the 52131 error.
I did not tick use for sending to Sandbox credential. As it is a
push credentiual
I followed all the instructions perfectly for exporting the
certificate keys.
I also use separate API Keys and a separate Programmable chat.
I get registration of bindings but no notifications as the
certificate is invalid, which I cannot see why as I checked by regenerating a certificate many times
I read in some responses to similar issues having the Sandbox and PUSH SERVICES APN certificate in the same App ID? Or not using the same CertificateSigningRequest to generate the Sandbox and PUSH? Why would this make a difference?
This was the thread: https://github.com/twilio/voice-quickstart-objc/issues/101

Finally after several weeks of emailing Twilio support I found the answer.
Basically the issue was probably because I extracted the Keys from my distribution certificate somehow and not the Push one. So make sure you are extracting the correct keys from the correct certification. Also because I was deleting and removing the push credentials from Twilio so often the bindings to my users were pointing to old Push Credentials that did not exist, so I removed the bindings allowing new bindings to be regenerated connecting to the new Push Certificate SID.
Other things that are important for production notifications on twilio programmable chat:
Make sure your environment entitlements file is set to "production"
Don't check the sandbox option on your production certificate (of
course)
Sometimes there can be issues when creating a Push Certificate using
a certsigningrequest that was used on a sandbox certificate. Try
creating a new Cert Signing file just for production
When you test your Production notifications these will only work on an appstore build built with your distribution certificate. You cannot receive notifications on the simulator (obviously). You cannot receive notifications from an app built using development certifcate...so you need to build and upload your app to testflight to test the notifications then preferably test between two real devices...or just send notifications from the simulator to a device with an appstore/adhoc build on it
I cannot thing of anything else for now that I came across. Twilio support is very good and will try and answer your question if you need help.

Related

FirebaseX APNS Token Null

we setup everything as described in the Medium Link for setting up APNS with Cordova FirebaseX. Medium Link
Also we used the FirebaseX Demo application. Demo Application where a click on "Get APNS token" leaves us with "null" as a result. A "Get FCM ID" returns a valid device token. We don't receive APNS background messages, because of the missing APNS token.
It doesn't matter if we use a real device or simulator, the APNS field stays null.
We tried manual setting a provisioning profile and importing p12 certificates development/production to Firebase. Our next try was to go with the newer version, with a p8 certificate and automatic signing of the app, also there we had no luck.
Do you have any ideas what could be wrong in our setup, we tried literally anything to get this to work. We followed all instructions exactly, even multiple times.
We use the same versions as the demo application 1:1, changed from their bundle id to ours, and replaced both Firebase configuration files from our Firebase console setup.
Thanks,
Stefan
We finally fixed it.
There was no problem with APNS configuration.
If you test your code with an iPhone, which has never had a sim card inserted, then you don't get an APNS token.
After putting in a sim card we got an APNS token, even if we remove it later. Thank you Apple. 👎

Firebase Push Notifcations does not work on Test Flight

I have an IOS Xamarin project that uses firebase for push notifications. The push notifications are working on a debug build. I uploaded the project to Test Flight and push notification are not receiving anymore.
I have a development certificate and a production certificate. I am using an App Store provisioning profile. I have tried revoking and making new certs. I have added FirebaseAppDelegateProxyEnabled - Yes to the info plist. I am receiving firebase tokens in test flight.
Thanks
You must add as well the APNS/Certificate for Production on Firebase, it happens all the time. Check you have both of them.
Better still if you use the P8 Key. In this case you don't need any other certificates whatsoever. For Firebase is the best approach, comment if you need more help.
Cheers.

SNS push notification service only success on dedicated device

I've been trying to use AWS SNS service to send notifications to Apple Sandbox environment . I think I setup everything ok and my dev iPhone can get notification without trouble.
But when I start to send notifications to others who install the test app , I keep seeing error message state that
Platform token associated with the endpoint is not valid
With a messageId :147975e0-8a09-5223-8537-256320ab3733
From what I understand , if one device can success, others can success too.
Could anyone tell me how to debug this probelm.
Thanks.
I believe that the apps that the other people are installing were not built with a dev cert (probably built with an adhoc or production provisioning profile), so you probably should use the production certificate.
You could try adding another application on SNS using the production certificate (or the same one, but not using Sandbox, depending on how you generated it), if it works, that this is it.
Also make sure you are using the correct bundle id associated with the certificate.

Invalid parameter: Attributes Reason: Platform credentials are invalid

I am working with AWS SNS Implementation in My iOS app and I followed all SNS documentation to create platform in SNS Dashboard.
I am getting an error like "Invalid parameter: Attributes Reason: Platform credentials are invalid " When creating new platform application and please anyone guide me to sort this issue.
Amazon SNS differentiates between the production (APNS) and development (APNS_SANDBOX) versions of apple's push notification services. The error you are encountering is typical to developers accidentally attempting to create an APNS platform application with APNS_SANDBOX credentials, or vice-versa. Can you confirm whether you are using the correct set of credentials for the given platform?
Regards,
-Sid
For people who are configuring Apple Push Notification in AWS Mobile Hub, remember it now (since late 2015) has simplified the APNS certificate to take a single Universal (Production + Sandbox) certificate, so when you generate APNS certificate, remember to choose Sandbox & Production:
and upload the generated .p12 file to AWS.

apns service conformation procedure

once i submitted app to app store by enabling push notifications for that particular app id and i generated the certificate fro production and i saved in my server.
now i want to test my push notifications are working or not,now my doubt is if i use the same bundle id for my another project and keeping the same certificate which i generated for production apns on my server. if i send notifications now to that certificate will notifications work or won't work. i was confused totally after having lot of discussion with my friend.
in my point of view they won't work,but i am unable to clarify him clearly,let me know what is process once we send a notification to apple server by using particular certificate. whether it looks fro bundle identifiers or any thing
thankyou......
The process of push notification is that your server send message with the attachment of device token you added in the server end.
On apple server apple fetch the device token and send the message to the device token you send.
Now when the message received in iPhone, iphone check the bundle identifier that was registered with the certificate you have created at server level while enabling push notification.
And if that identifier matches with any of the app you have in your iPhone whether it`s the same app you have registered your push or other. It will only check the bundle identifier and show the notification on your device.
Now both the production and developer certificates are different so it will not show the notification if you are sending push from certificates generated with developer mode and checking on production application.
Regards
Abhishek Goyal

Resources