Windows 8.1 : Create "silent" toast notification - notifications

I'm working on a Windows app and integrated Toast notification in it. Paired with an AWS SNS service, it's working fine, I can successfully receive my notifications.
My notifications are used to fire events when the app is launched, it's not designed for final user. For this reason, I don't need any banner or display for these notifications: only handle the event in the app.
My issue is, when the app is killed, Windows displays a banner (top right corner) for any new notification. I found a way to disable banners directly in the OS, but I would like a solution when pushing the notification (backend side).
I already did it for iOS, kind of 'silent' notification, without any alert, sound or badge, but can still be handled by the OS.
I would like to know if there is any way to do that on Windows too? Like any extra arguments I missed or a dedicated template for that.
Thanks

I finally found a way to do that.
I changed from Toast notification to Raw notification (a push notification that does not involve UI). (MSDN - Documentation)
After that, I had to customise my AWS SNS notification wiht MessageAttributes to change the type of my WNS notification (AWS - Documentation).
I've also noticed that we can directly suppress the Toast UI on Windows phone with "X-WNS-SuppressPopup" param, which can be also very helpful. (MSDN - SuppressPopup).
Finally, inspired from AWS Baidu Push notification sample code, I did the same for WNS platform, adding all new arguments I needed, and it works great at the end.
Hope this can help someone else.

Related

MobileFirst 7.1 - Issue with multiple Push Notification for Android devices after upgrade to MFP 7.1.0.00.20151227-1725

When I send multiple notifications to Apple or Android devices through MFP, Apple devices will display all notifications in the notifications center on the other hand Android will only display one last notification. We are using Unicast Notification to send messages to user devices using this REST API.
Initially my issue got fixed when I implemented solution given in this thread.
But after upgrading to MFP 7.1.0.00.20151227-1725 I started facing the issue again.
It it a known limitation that the attribute gets removed from the file upon re-build, since a re-build re-generates the file...
You need to add it back after a re-build. It is scheduled to be enhanced in the future so this won't be needed.
For now you can use for example an Ant task to replace the wlclient.properties file post-build with a version that contains again the attribute.

Titanium iOS auto restart application in background once swiped off from background

I am working in an application that detects any Beacons nearby and gives and alert in the form of local notifications for iOS. I used TiBeacons library for titanium which did the work but I am right now stuck with an issue where I need to keep the Application running even when the user swipes off the application from background.
I was able to make it work in background which is the paused state,but is it possible to make it restart itself in the background when the user swipes the app from the background processes running,maybe with a delay if not promptly?? Thanks
There is no way to restart application after user removed it from a memory. This would be huge security bridge allowing developers to do lots of evil things to customers' devices.
You can run your code only when app is in foreground and background but never when it's killed.
You can try activate your app by receiving notification from Apple Notification Center Service:
The purpose of the Apple Notification Center Service (ANCS) is to give Bluetooth accessories (that connect to iOS devices through a Bluetooth low-energy link) a simple and convenient way to access many kinds of notifications that are generated on iOS devices.
The ability to detect iBeacons after the app was killed in the task switcher was only added in iOS 7.1. Also, I believe this functionality requires that beacon monitoring be set up with the app's main AppDelegate object as the CoreLocation delegate. I do not know much about Titanium, but glancing at the source, it appears it does not do this, and instead uses a different class as the CoreLocation delegate. This may explain why this does not work for you.
If my suspicion is true, you would not be able to detect after the app is killed using an unmodified version of that library.
Since I am not a Titanium expert, it would be best if someone who knows more about it could confirm or refute my suspicion.

Can an iBeacon notify a user's iphone without an app being installed?

I'm new to iBeacon's and am trying to understand one simple thing.
Can I use iBeacon to display a notification on a user's iphone without a custom app being installed?
For example, I'd like to build an app that sends out iBeacon messages to people that have an iPhone. When they get near an iPad running my app, it notifies them that they're near my "event", which of course is taking place at the location of my iPad.
Is this possible without the user having already installed another app that I've made to receive notifications of my event?
Note that I'm open to any other tech or ideas that would make this work. I know that Apple does this with their Apple Stores, but I'm guessing they can do this because they already have an app installed on the users device - probably the "AppStore" app.
You typically need an app for any iOS notifications on seeing an iBeacon. That is what Apple does for their stores.
The only exception is if you use Passbook to set up a notification trigger. But you still need the user to install your Passbook entry.

Is it necessary to start a windows 8 app at least once to enable background taks and/or push notifications

I understand how i can tie my application to the windows push notification service but the code i have to write to do so will only be reached when my app is started by the user. What if i want my application to receive push notifications when it has just been installed ?
the same question applies to background tasks
Setting up push notification channels and background tasks does require and app to be run at least once. You can, however, set up periodic notifications in Windows 8.1 through an entry in the manifest, so that you can have a live tile experience after install but before the app is run. If you do that, you can at least surface some info on the live tile right away to invite the user into the app, after which you can customize the experience much more with push notifications and background tasks.
You can find the periodic update URI field in the manifest editor's Application tab under Tile Update. The XML schema ref is here: http://msdn.microsoft.com/en-us/library/windows/apps/dn391689.aspx.
Who will install the background agent or create push notification channel in this case? Yes, it should.

Does Titanium have method for "didReceiveRemoteNotification" of Objective-C?

I would like to receive remote push notification when the app is on the foreground. I think I can use "didReceiveRemoteNotification" in Objective-C, but how about in Titanium? I've been searching solutions but can't find anything. Does anybody help me out?
Titanium currently only supports local notifications (by default) I believe. You might want to take a look at AppCelerator as a solution.
Sorry, i was wrong last time. It's very hard to find but Titanium supports a way of interacting with PushNotifications.
Please take a look at Ti.Network.registerForPushNotifications. It provides a callback that is executed when you receive a Push Notification.
The other posted solutions below may provide a better integration for titanium so it's up to you what you want to use. But this should answer your original question.
Unfortunately Titanium only supports local notifications on iOS. If
you want to support remote notifications you can use
Urban Airship
ACS (Appcelerator Cloud Services) or
you write your own module that provides "didReceiveRemoteNotifcation" as an app event to your app
As far as i know you can only listen on local notifications by
default but you can try this method if it reacts on remote
notifications..