I am currently developing a localized application which uses push notifications. I would like to know if it is possible to localize the strings that are sent in the notification message, in the Text element for toast notification and in the Title element for a tile notification. I would like to use the localized resource strings I have created to localize the rest of the application.
I have seen that it is possible to localize the application title by using the '#' character in the main tile by following this guidance:
http://msdn.microsoft.com/en-us/library/ff967550(v=VS.92).aspx
but unfortunately I do not know if this behaviour can be reproduced whilst receiving a push notification. So finally, is there a way to localize push notifications?
I also posted this issue on the msdn site:
http://forums.create.msdn.com/forums/t/96082.aspx
Therefore I will implement l8n on the server side as it seems to be the only way to localize notifications' payload.
Thank you Heinrich.
Related
At work I have to modify an existing Application to differentiate incoming push notifications by the language of the news.
In Android I found a way to not send the push notification. So I could easily check for the language and only send the right one.
In iOS it seems a little different. (I'm not the Author of the existing code, so maybe I have overlooked something.)
But I can't find any function where I could intercept the incoming message.
I tried functions like UNUserNotificationCenter.Current.RemoveAllPendingNotificationRequests();
and
UIApplication.SharedApplication.CancelAllLocalNotifications();
But without any success... maybe I put them into the wrong place.
Thanks for hints and help
If I understand your question, the answer is it depends.
If you cannot change the push notification on the server, then no. The system will display it as soon as it arrives as it is formatted as the notification that needs to be displayed.
However, you can change the format of notification payload so that it doesn't display but it is rather processed by the application. Then you can process it in the app similar to what you do on Android.
I don't want to change the notification. I just don't want to show
it...
I don't think it is possible to choose which notification to show when your app is not running.
If your app isn't running then the notification is processed by iOS and your app doesn't get called.
You can have a look at answer in this thread.
Refer: https://learn.microsoft.com/en-us/xamarin/ios/platform/user-notifications/
Is there anybody knows that if I received a push notification when my app is fully closed, but then I go back to open the app how can I detect this received notification and make certain changes pertain to this notification?
Thanks very much in advance.
I found out a way:
Just detect the Badge numbers, and set it as a user default in app delegate.
In other view controllers, you can perform stuffs depends on the badge numbers, which you can track from NSUserDefault.
I'm testing out Windows Phone 7.5 push notifications. I have got the 3 different push types working fine (Toast, Tile and Raw) and am able to send messages from unit tests and a web application without any problems and receive them in my WP application. I want the ability to add extra properties to the push notification and the Raw push type does this perfectly for me and I can add custom key/value pairs or anything else to the push message and extract it on the phone app. I have just found out however that it only works if the application is running and my unit tests fail (suppressed notification status is received in unit test) when the phone application is not running (checked documentation which confirms this too). Is there anyway to add extra properties (key/values) to toast or tile messages or some way I can use raw in another way ? Toast notifications seem limited to a title property and an actual message property but I need to add additional data.
Just wondering if anyone had any suggestions / workarounds ?
The general practice I use is to initially send a raw notification to the device with phone-usable data embedded in the message. If my application is currently running then I can process the contents of the raw message and immediately make use of it on the phone. However if the application is not currently running on the phone you will receive notification from the push servers that the message could not be delievered. If I receive this response I send out a Toast / Tile notification.
With Toast notifications the only parametrisation you have access to is the URI that will launch the application. This is specified with the wp:param node of the message. Eg.
<wp:Notification xmlns:wp="WPNotification">
<wp:Toast>
<wp:Text1>Toast Title</wp:Text1>
<wp:Text2>Toast sub title</wp:Text2>
<wp:Param>/MainPage.xaml?LaunchedFrom=A%20Toast%20Notification</wp:Param>
</wp:Toast>
</wp:Notification>
If the user taps on this toast notification your application will launch and navigate to MainPage.xaml. You can access the querystring passed in via the NavigationContext.QueryString.
Note: The wp:Param node can only be sent to Mango (and up) devices. Additionally the entire contents must be less than 256 characters or you'll receive a PushErrorTypeMessageBadContent error. (Thanks to Ritch Melton for pointing this out). More info available from the Sending Push Notifications for Windows Phone page on MSDN.
As you've discovered, the Microsoft Push Notification Service is very strict in what types of messages you can send and receive. The intent of these push notifications is to provide simple push updates and not large amounts of data. The flexible Raw type seems like it would fit the bill until you discover that:
You can use a raw notification to send information to your application. If your application is not currently running, the raw notification is discarded on the Microsoft Push Notification Service and is not delivered to the device.
However, if you send a toast notification to your application, when the user clicks on the toast the application is started. When your application starts, you should check a service and retrieve the data you are trying to send from a web-service or other remote mechanism.
I read the implementation of three types of notifications possible in WP7 app - Tile, Toast and Raw Notifications. I understand the use of Tile and Toast Notifications but I fail to understand how a Raw notification will be used in real world application. Can someone please help me understand.
If someone can help me understand the implementation wrt. an existing application like KIK messenger or WhatsApp Messenger, it will be great!
Regards,
Bhavik.
Raw notifications provides the ability for your application service to push data to the application while it is in the foreground without the need for your application to poll the appplication service.
For instance, meaning if you have the Messages application open, and you get a new Message, it'll show a notification (toast), without the Messages application having to poll for it.
I have tried googling for this and came up empty. What I want is a tutorial or example code of how to change my icon on the windows phone like the people application or SMS. For example when you get a new SMS message it puts a number next to the face in the icon. Is there any way for me to do that in my app?
You need to send a Tile Push Notification.
This allows you to update the image, text and (optionally) a number.
Push notifications shoudl be triggered from a remote [web] service.
You can also have the tile update periodically using a ShellTileSchedule.
You can update your application's Tile using Push Notifications from a web service registered with a Microsoft Push Notification Service. However, this isn't absolutely necessary. You can even update your tiles without push notifications, by setting a ShellTileSchedule. The minimum update interval is 1 hour, however.
See here.