Applications using multiple event sources requires segmentation of users based on
subscriptions.
Client
This maps to tags which segments the users/devices based on topic of interest. To migrate this in
MobileFirst
V8.0.0,
convert this model to tag based notification.
- Initialize the MFPPush client instance in your
application:
MFPPush push = MFPPush.GetInstance();
push.Initialize();
- Implement the interface MFPPushNotificationListener and define
onReceive().
class Pushlistener : MFPPushNotificationListener
{
public void onReceive(String properties, String payload)
{
Debug.WriteLine("Push Notifications\n properties:" + properties + "\n payload:" + payload);
}
}
- Register the mobile device with the IMFPUSH
service.
MFPPushMessageResponse Response = await push.RegisterDevice(null);
if (Response.Success == true)
{
Debug.WriteLine("Push Notifications Registered successfully");
}
else
{
Debug.WriteLine("Push Notifications Failed to register");
}
- (Optional) Un-register the mobile device from the IMFPUSH
service:
MFPPushMessageResponse Response = await push.UnregisterDevice();
if (Response.Success == true)
{
Debug.WriteLine("Push Notifications Failed to unregister");
}
else
{
Debug.WriteLine("Push Notifications Unregistered successfully");
}
- Remove WLClient.Push.IsPushSupported() (if used) and use
push.IsPushSupported();.
- Remove the following WLClient.Push APIs since there will be no Event Source
to subscribe to and register notification callbacks:
- registerEventSourceCallback()
- subscribe()
- unsubscribe()
- isSubscribed()
- WLOnReadyToSubscribeListener and WLNotificationListener
implementation
- Subscribe to
tags:
String[] Tag = { "sample-tag1", "sample-tag2" };
MFPPushMessageResponse Response = await push.Subscribe(Tag);
if (Response.Success == true)
{
Debug.WriteLine("Subscribed successfully");
}
else
{
Debug.WriteLine("Failed to subscribe");
}
- (Optional) Unsubscribe from
tags:
String[] Tag = { "sample-tag1", "sample-tag2" };
MFPPushMessageResponse Response = await push.Unsubscribe(Tag);
if (Response.Success == true)
{
Debug.WriteLine("Unsubscribed successfully");
}
else
{
Debug.WriteLine("Failed to unsubscribe");
}
Server
Remove the following
WL.Server APIs (if used) in your adapter:
- notifyAllDevices()
- notifyDevice()
- notifyDeviceSubscription()
- createEventSource()
Complete the following steps for every application that was using the same event source:
- Set up the WNS credentials in the Push Settings page of MobileFirst Operations Console or use
WNS Settings REST API.
- Add the scope push.mobileclient in Map Scope
Elements to security checks section in the
Security tab of MobileFirst Operations Console.
- Create Push tags in the Tags page of MobileFirst Operations Console.
- You can also use the Push Message (POST) REST API with
userId/deviceId/tagNames as target, to send notifications.