Bluemix Push Notification service iOS SDK - ios

While using the latest Bluemix Push Notification service's iOS SDK, is there a way to specify a userId during device registration? The current documentation only addresses tag based notification subscriptions and basic notification subscriptions, but I'm looking for a mechanism to specify the userId via the Push iOS SDK.
Note - I've read this issue posted previously but it addresses registration via REST calls

At this time the Bluemix Push Notification SDKs do not support userIds due to a security loophole that was encountered in the original implementation. It is my understanding that adding secure userIds is a goal for the team and I am currently trying to get in touch with them to see if there's anything I can relay with regards to an ETA.
At this time the REST call work-around is the only one I know of.

#sunil32 The mechanism to specify the userId via the Push iOS SDK is available in the latest SDK, you can give a try by updating the pod or carthage.

Related

Azure Notification Hub - Registered IOS devices overwriting each other

Got a strange issue with our notification hub on Azure. I'm using Service Bus Explorer to view what devices are registered.
I can only seem to get a max of 2 IOS devices registered at one time. When a new device registers it overwrites one of the existing ones. The 'RegistrationId' stays the same on both devices but the 'PNSHandle' changes as expected.
I've updated the provisioning profile on the Apple Developer portal and also created a new certificate for deployment as I was worried it may be tied to some sort of sandbox certificate/profile.
Any suggestions would be great :)
Thanks
Thanks for the response, I ended up passing through the unique ID generated by the 'react-native-device-info' library to an API on my azure gateway. Then dealing with the registration from there. The library 'react-native-azurenotificationhub' I tried using was the issue.
Posted the comment as answer. --Just to highlight the difference on installation vs registration: The installation or registration (depending on the API you are using), is tied uniquely to a single device through its Platform Notification Service (PNS) unique ID. If you have two devices, this means that you will have two different installations/registrations.
Thanks for the sharing additional info and update,kurtis_dev

How to go about IOS Push Notifications?

Im currently developing an app in Swift. I'm at the last stage of the app where I just need to integrate push notifications to the lock screen when certain user actions occur.
I'm going for something like how Instagram sends a push notification when a new user follows you or likes your post.
My entire backend is using firebase, and i've looked into firebase cloud messaging and I dont know if it has the capability to perform notifications like this.
I've watched tutorials and read documentation and I know you can push notifications to users from the console but I'm looking for notifications to be published and pushed based off specific user actions.
I know this is a very broad questions so what I want to know is:
A) Are notifications like instagram possible through Firebase cloud messeging?
B) If not, can you point me in the direction of how to figure this out?
Thank you!
A) Are notifications like instagram possible through Firebase cloud messaging?
Yes
Firebase send the push to APNS first then APNS send push notification to iOS devices.
If user 'A' do any action then that specific action will be transferred/send to staging/production server via apis. Based on your business logic staging/production server will send push notification to users(FCM token).
I hope this is helpful or you can explain the exact issue your are facing.

Firebase iOS SDK - proper way to do utm attribution for Push Notifications

Have a client that is using "session_start" event to track conversions across 3 platforms on a Web+App property.
For app links and deep links, this works perfectly. Clicking a universal link opens the app and fires the SESSION_START with utm attribution.
For push notifications, this is ok on web and ok on Android (not sure how at this point, but that's another story). But on iOS, SESSION_START is not fired with attribution.
Considering using custom NOTIFICATION_OPENED event, and attaching attribution parameters there.
SDK does not support modifying or hijacking the SESSION_START event.
What is the correct way to attach attribution to a push notification?
Simply put - by default Firebase iOS SDK does not support this out of the box immediately whereas the Firebase Android SDK does, because Android SDK fires through FCM and immediately hooks into the Dynamic Links functionality (I think) which supports utm tags out of the box for attribution, whereas Firebase iOS SDK hooks into APNS instead.
We have solved this issue thusly
disable swizzling (FirebaseAppDelegateProxyEnabled to false in .plist)
hook into the following AppDelegate functions
https://firebase.google.com/docs/reference/ios/firebaseanalytics/api/reference/Classes/FIRAnalytics#appdelegate
but in particular, call handleopenurl(url) from application(_:open:options:), passing in the url extracted from your chosen push notification provider from the keyvalue pairs. In the case of Localytics, the deep link is found in ll_deep_link_value
https://firebase.google.com/docs/reference/ios/firebaseanalytics/api/reference/Classes/FIRAnalytics#+handleopenurl:
Hope this helps future sleuths. As I'm not the actual developer, some details above may not be 100% accurate so please leave a correction if you do find one.
In general, if combining multiple push notifications and analytics providers, avoid using automagic integrations like FB Swizzling, and Localytics auto init.

Push Notifications with Firebase and OneSignal

I'm looking for some guidance.
I'm using Firebase as the backend server for an app I'm building and I would like to alert users when somebody has either liked or disliked some content the user generated.
I understand that Firebase offers cloud messaging through which I can target very specific users and send updates to them; I have implemented that functionality. However, I would like to send updates based on changes in the database, and, as far as I understand, FCM is not built for this purpose.
I have come across OneSignal and it seems promising. Has anybody implemented this with Firebase and could it do what I'm looking for?
Thanks!
I have it set upon such a way that when a message is send by a user to another user, a notification is also send via OneSignal. You just need to store the OneSignal userId in a node with the firebase user UID.
I you like someone's content, then that would also send a notification out directly to the other user.

iOS Push Notifications with Windows Azure and Unity3D

I am using Windows Azure Notifications Hub to create a push notifications service for my iOS game made with Unity3D. I only want simple notifications like informing about an update or a new feature.
But I am having some issues. I am following the tutorial Get Started with Notifications Hubs.
I did everything except the sending notification part, because I don't receive any token.
Moreover, I can't add the Windows Azure SDK into my application because I don't have any AppDelegate.h or AppDelegate.m in the XCode project generated by Unity3D.
When I call in Unity3D RegisterForRemoteNotificationTypes I don't receive any token back. And I think it's the first main problem.
I don't know where the issue comes from. Should I use another service ? How can I solve the issue as I don't know where does it comes from ?
Thank you very much !
If you are asking for push notification permissions make sure that you haven't accidentally denied this permission at some point as iOS will only show this option once.
You can check and see the status of push notification permissions in the Settings menu of your iPhone/iPad.
If you are willing to spend a little money you can get the etcetera plugin from prime31
that can help you get a token and also provides access to other native APIs.
Regarding the lack of a AppDelegate.h file from the XCode project, this is because Unity doesn't generate 2 files: one for the app delegate and one for the controller, they are in the same file called UnityAppController.h/m.
Note: is not trivial to add cocoa touch controls using this class if this is what you want.

Resources