Windows 8.1 and Windows 10 push

General information

To enable PUSH-notifications you will have to perform the following actions:

  • Add the application to your space in devtodev system
  • Activate Windows Messaging Service ang get SID and Client Secret values
  • Add SID and Client Secret to the application integration settings in devtodev system.
  • Integrate devtodev SDK to the application (see the "SDK integration" section to learn more how to integrate and initialize devtodev SDK)
  • Add several lines of the code to switch on the push-notification in the SDK
  • Create a campaign for sending push-notifications in "Push" section

How to get SID and Client Secret

  1. Go to the application settings in your Windows Store dashboard
  2. Open Push Notifications submenu in Services menu
  3. Go to Live Services site:
  4. "Package SID" and "Client secret" will be your SID and Client Secret strings respectively

Implementation to app

  1. Integrate devtodev SDK to your project. Even if you don't need devtodev analytics in your app, you should call DevToDev.SDK.Initialize(string appKey, string appSecret).
  2. Add the following source after DevToDev.SDK.Initialize(string appKey, string appSecret) is called:
    //It is called when push token is received successfully
    PushManager.PushTokenReceived = (pushToken) => {
       //pushToken - the string contains the push token
    };
    
    //It is called when there is an error in push token delivery.
    PushManager.PushTokenFailed = (error) => {
       //error - the error string. This function will be called when push token have not been obtained.
    };
    
    //It is called when push notification is received.
    PushManager.PushReceived = (PushType type, IDictionary<string, string> pushAdditionalData) => {
       //type - type of the push message
       //params - IDictionary<string, string> with the custom user parameters form the push message
    };
    
    //It is called when push notification is opened.
    PushManager.PushOpened = (PushMessage pushMessage, ActionButton actionButton) => {
       //pushMessage - DevToDev.PushMessage. Represents toast notification message
       //actionButton - DevToDev.ActionButton. Windows 10 only! 
       //Represents toast button that was clicked. Could be null if toast body was clicked
    };
    
    DevToDev.PushManager.Initialize();

    The PushType can have one of the following values:

    public enum PushType {
       ToastNotification, //Notification that can be seen by a user. 
       SilentNotification //Raw-notification. A user can't see it.
    }

     

  3. The control of the current value of a badge. When an app is launched the current value of a badge is reset to zero by default. In order to disable automatic resetting to zero and manually control the value of a badge use the following methods:
    //Disables automatic clearing of a badge at start. 
    //Must be called before DevToDev.PushManager.Initialize();
    DevToDev.PushManager.AutoClearBadgeOnStart = false; 
    
    //Decreases the current value of a badge on "number" units.
    DevToDev.PushManager.DecreaseBadge(int number);
    
    //Clears the current value of a badge.
    DevToDev.PushManager.ClearBadgeCount();
    
  4. Attention! There is a difference in the implementation of the elements mentioned below for Windows 8.1+ and Windows 10+ projects.  

     

    Windows 8.1+: Put the following source in your Application class (usually it is App.xaml.cs file) at the end of the OnLaunched(LaunchActivatedEventArgs e) function. For Example:

    protected override void OnLaunched(LaunchActivatedEventArgs e) {
       //...other source
       DevToDev.PushManager.HandleToastNavigation(e.Arguments);
    }
     

    Windows 10+: Put the following source in your Application class (usually it is App.xaml.cs file) at the end of the OnLaunched(LaunchActivatedEventArgs e) and OnActivated(IActivatedEventArgs args)‚Äč functions. For Example:

    protected override void OnLaunched(LaunchActivatedEventArgs e) {
       //...other source
       DevToDev.PushManager.HandleToastNavigation(e.Arguments);
    }
    
    protected override void OnActivated(IActivatedEventArgs args) {
       //...other source
       if (args.Kind == ActivationKind.ToastNotification) {
           var toastArgs = args as ToastNotificationActivatedEventArgs;
           DevToDev.PushManager.HandleToastNavigation(toastArgs.Argument);
       }
    }
  5. Make sure that these functions are enabled in Package.appmanifest of you project (the flag "Toast capable" is enabled by default for Windows 10+ projects, it is absent in the manifest).

  6.  Add the following two Background Tasks in Package.appmanifest:



  7. Keep in mind that your application must be built with the same Windows Store preferences you used in Chapter 3.2. In the "Create App Packages" window you have to log in with your Live ID and pick the appropriate application form the list. A file Package.StoreAssociation.xml will be added into the Project.

Changing the application settings in devtodev system

  1. Proceed to Settings of your app.
  2. Go to Integration page and insert the previously received Package SID and Client secret to appropriate fields in Push notifications section.
  3. If the Package SID and Client secret are correct, you will see the following result

3.5. Creating a new push-notification in devtodev interface

  1. Open PUSH tag and click on Create push or ADD NEW PUSH button.

  2. Fill in campaign name, select an app for delivery.
    Attention! You can create a campaign only after at least one push token comes from devtodev SDK integrated to your application. Otherwise the app will not be displayed in the list.

  3. Choose the user group to send a message. You can choose existing segment or create a new one.

  4. Enter toast or tile details
    a. Toast

    b. Tile

  5. Schedule the delivery

  6. Thats it!

Checking the events
Analytics Integration