In official firebase documentation it is said that
For FCM specifically, you'll need to upload your APNs authentication key and register for remote notifications.
https://firebase.google.com/docs/cloud-messaging/ios/client
Is it possible to send push notification without configuring a APNs authentication key in firebase console?
If it is not possible then why?
It's not possible, since the APNs says it in the very name, Push Notification Services, if you don't configure that then you'll be sending your notifications to nothing, I understand that's how your project will know were it's receiving the notifications from, so it can process them and sending to your app.
Related
Following the guide on Capacitor's site for push notifications, I am unable to receive any push notification inside my iOS device.
https://capacitorjs.com/docs/apis/push-notifications
I've triple checked that the Apple Push key and sandbox/production certificates are uploaded
I have successfully registered to the APNs and get a token value, but when I use Firebase to send a message to the token, I receive no notification.
I've also tried to send a message directly using this solution https://www.c-sharpcorner.com/UploadFile/pandeypradip/apple-push-notification-using-Asp-Net/ and I can send the message successfully, but I receive no response at all.
My app capabilities:
we are trying to implement push notification on Android and iOS app, we are using Firebase Cloud Messaging to send push notification to our app.
actually my iOS app can connect to the Firebase Cloud Messaging, If I send the notification through firebase console notification, I can receive the notification in my app
but if the message is sent through our backend server (PHP), I will not receive the notification in my iOS app, but that message will be arrived in our Android App.
we are still trying to figure out the problem, either it is from client side or from server side. but from the backend server, it send a response error
Invalid (legacy) Server-key delivered or Sender is not authorized to
perform request.
but I also have to ensure that the problem doesn't come from my iOS app. but I also have a doubt, because in my debugging area, it show a message
FIRMessaging Remote Notifications proxy enabled, will swizzle remote
notification receiver handlers. If you'd prefer to manually integrate
Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your
Info.plist, and set it to NO.
in info.plist i set the value of FirebaseAppDelegateProxyEnabled to YES
if I set this to NO as per the message from debugging area like above , then I will not receive the push notification, thats why I set that to YES.
To be honest I completely have no idea what the purpose of that FirebaseAppDelegateProxyEnabled
what is the function FirebaseAppDelegateProxyEnabled ?, is that the root cause of the problem on my client side app?
Try use the new api key, not the legacy one. Got the same issue, when I change the key, the push notification is received in iOS client
Make sure both iOS and Android are registered on same Firebase application. In that case, your Server key on Firebase application will be the same for both iOS and Android. I think you are using different keys.
Got my point?
Can one use a 3rd party service to send Push Notifications without relying on the Apple Push Notification Service (APNS)?
If it is a requirement that one use the APNS service, is it simply a requirement for App Store approval or is it a technological limitation?
I have seen other questions, such as this one: Apple push notification without Apple Server, but it mainly deals with sending files and is several years old.
Apple requires you to use APNS to send push notifications to devices. This cannot be done without APNS, if you found a way around this then Apple would most likely reject the app.
Click here to read the documentation. When you register for push notifications you are actually getting the device token for your app on that specific device from APNS, therefore that is an APNS specific token and you will need to use APNS to send the notification.
When using phonegap-plugin-push, we are creating a mobile application that uses GCM to send out push notifications to the mobile devices. We are able to push to Android devices correctly using GCM. The plugin gives us both the GCM and APNS registration tokens. When we use the GCM token to push to the APNS we are unable to push to the iOS device, however when we test the APNS token directly, we are able to push the notification. When using the GCM token and a test service we receive a "success" message, but no notification makes it to the device. We know that the device token is correct as we can send a notification directly using an online APNS push service. We have created all the certificates, we have development and production certificates.
As we receive a registration token from the GCM service using the device token and APNS token, I believe the problem lies within the communication between GCM and the device itself. As we are not receiving the notification to the device using GCM, but we are able to use the APNS token generated on registration to directly push to the device. The GCM with the registration token, will not push to device.
This link here describes the problem https://github.com/phonegap/phonegap-plugin-push/issues/532
There might be some problem with your provisional profile.
This tutorial might help you.
https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjr__OblLTNAhWHkpQKHT6MBUgQFggeMAA&url=https%3A%2F%2Fwww.raywenderlich.com%2F123862%2Fpush-notifications-tutorial&usg=AFQjCNFaM0baTw-x3Swz12MwCPu5XqEtLA&sig2=6wIOeDF8AvtCQfrheM2FXw
Just wanted to conform if my understanding is correct. As per my understanding, the mechanism involved in delivering the push notification to iOS App is Server -> GCM -> APNS -> iOS App. I am an iOS developer and I know that Apple strictly never allows a server other than APNS server to send a remote notification to iOS App. So, just wanted to know whether the notification is directly pushed to the iOS App from GCM or, via APNS.
Push messages are always sent by APNS.
What services like Google Cloud Messaging or Parse.com do is facilitating the administration of push messages - eg enabling an app to switch pushon or off for an app, or group users so you can send push messages to certain user groups instead of all of them.
GCM is not involved in Push Notification in iOS.
It is carried out through APNS.
Please refer
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html
It will clear all your doubts.
Everything will be clear if you just look at image:
Its showing complete APNS process. This is the process for iOS, no GCM included for iOS.