Xamarin.iOS How to get installation id after registering to backend for push notifications










0















I am trying to obtain the installation id of the client app/device after registering to the backend (web API hosted in Azure and using Notification Hub) for push notifications. There are multiple methods that give an installation id and I am not sure which is the correct one.



As I understand, the installation id is valid as long as the application stays installed on the device, if its deleted and reinstalled a new installation id is assigned to the device is this correct? If not please advise about the life cycle of the installation id.



private async Task SendRegistrationToServerAsync(NSData deviceToken)

//this is the template/payload used by iOS. It contains the "messageParam"
// that will be replaced by our service

const string templateBodyAPNS = @"
""aps"" :
""alert"" : ""$(messageParam)"",
""mutable-content"": 1
,
";


var templates = new JObject();
templates["genericMessage"] = new JObject

"body", templateBodyAPNS
;

// send registration to web api hosted in Azure
var client = new MobileServiceClient(MyApp.App.MobileServiceUrl);
await client.GetPush().RegisterAsync(deviceToken, templates);

//get the installation id (not sure if this is the correct way)
Console.WriteLine("Installation id: " + client.InstallationId.ToString());










share|improve this question




























    0















    I am trying to obtain the installation id of the client app/device after registering to the backend (web API hosted in Azure and using Notification Hub) for push notifications. There are multiple methods that give an installation id and I am not sure which is the correct one.



    As I understand, the installation id is valid as long as the application stays installed on the device, if its deleted and reinstalled a new installation id is assigned to the device is this correct? If not please advise about the life cycle of the installation id.



    private async Task SendRegistrationToServerAsync(NSData deviceToken)

    //this is the template/payload used by iOS. It contains the "messageParam"
    // that will be replaced by our service

    const string templateBodyAPNS = @"
    ""aps"" :
    ""alert"" : ""$(messageParam)"",
    ""mutable-content"": 1
    ,
    ";


    var templates = new JObject();
    templates["genericMessage"] = new JObject

    "body", templateBodyAPNS
    ;

    // send registration to web api hosted in Azure
    var client = new MobileServiceClient(MyApp.App.MobileServiceUrl);
    await client.GetPush().RegisterAsync(deviceToken, templates);

    //get the installation id (not sure if this is the correct way)
    Console.WriteLine("Installation id: " + client.InstallationId.ToString());










    share|improve this question


























      0












      0








      0








      I am trying to obtain the installation id of the client app/device after registering to the backend (web API hosted in Azure and using Notification Hub) for push notifications. There are multiple methods that give an installation id and I am not sure which is the correct one.



      As I understand, the installation id is valid as long as the application stays installed on the device, if its deleted and reinstalled a new installation id is assigned to the device is this correct? If not please advise about the life cycle of the installation id.



      private async Task SendRegistrationToServerAsync(NSData deviceToken)

      //this is the template/payload used by iOS. It contains the "messageParam"
      // that will be replaced by our service

      const string templateBodyAPNS = @"
      ""aps"" :
      ""alert"" : ""$(messageParam)"",
      ""mutable-content"": 1
      ,
      ";


      var templates = new JObject();
      templates["genericMessage"] = new JObject

      "body", templateBodyAPNS
      ;

      // send registration to web api hosted in Azure
      var client = new MobileServiceClient(MyApp.App.MobileServiceUrl);
      await client.GetPush().RegisterAsync(deviceToken, templates);

      //get the installation id (not sure if this is the correct way)
      Console.WriteLine("Installation id: " + client.InstallationId.ToString());










      share|improve this question
















      I am trying to obtain the installation id of the client app/device after registering to the backend (web API hosted in Azure and using Notification Hub) for push notifications. There are multiple methods that give an installation id and I am not sure which is the correct one.



      As I understand, the installation id is valid as long as the application stays installed on the device, if its deleted and reinstalled a new installation id is assigned to the device is this correct? If not please advise about the life cycle of the installation id.



      private async Task SendRegistrationToServerAsync(NSData deviceToken)

      //this is the template/payload used by iOS. It contains the "messageParam"
      // that will be replaced by our service

      const string templateBodyAPNS = @"
      ""aps"" :
      ""alert"" : ""$(messageParam)"",
      ""mutable-content"": 1
      ,
      ";


      var templates = new JObject();
      templates["genericMessage"] = new JObject

      "body", templateBodyAPNS
      ;

      // send registration to web api hosted in Azure
      var client = new MobileServiceClient(MyApp.App.MobileServiceUrl);
      await client.GetPush().RegisterAsync(deviceToken, templates);

      //get the installation id (not sure if this is the correct way)
      Console.WriteLine("Installation id: " + client.InstallationId.ToString());







      azure xamarin.ios apple-push-notifications






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 15 '18 at 19:39







      EmilRR1

















      asked Nov 15 '18 at 19:34









      EmilRR1EmilRR1

      11016




      11016






















          1 Answer
          1






          active

          oldest

          votes


















          1














          I think you are right.



          According to https://blogs.msdn.microsoft.com/writingdata_services/2016/01/22/adding-push-notification-tags-from-an-azure-mobile-apps-client/#comments:




          The installation ID is a GUID that is specific to an installed app on
          a given mobile device, to the point that when you uninstall and
          reinstall the app on the same device you get a new GUID.




          And the installation ID can be obtained from the Mobile client API:MobileServiceClient.InstallationId;






          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53326753%2fxamarin-ios-how-to-get-installation-id-after-registering-to-backend-for-push-not%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            I think you are right.



            According to https://blogs.msdn.microsoft.com/writingdata_services/2016/01/22/adding-push-notification-tags-from-an-azure-mobile-apps-client/#comments:




            The installation ID is a GUID that is specific to an installed app on
            a given mobile device, to the point that when you uninstall and
            reinstall the app on the same device you get a new GUID.




            And the installation ID can be obtained from the Mobile client API:MobileServiceClient.InstallationId;






            share|improve this answer



























              1














              I think you are right.



              According to https://blogs.msdn.microsoft.com/writingdata_services/2016/01/22/adding-push-notification-tags-from-an-azure-mobile-apps-client/#comments:




              The installation ID is a GUID that is specific to an installed app on
              a given mobile device, to the point that when you uninstall and
              reinstall the app on the same device you get a new GUID.




              And the installation ID can be obtained from the Mobile client API:MobileServiceClient.InstallationId;






              share|improve this answer

























                1












                1








                1







                I think you are right.



                According to https://blogs.msdn.microsoft.com/writingdata_services/2016/01/22/adding-push-notification-tags-from-an-azure-mobile-apps-client/#comments:




                The installation ID is a GUID that is specific to an installed app on
                a given mobile device, to the point that when you uninstall and
                reinstall the app on the same device you get a new GUID.




                And the installation ID can be obtained from the Mobile client API:MobileServiceClient.InstallationId;






                share|improve this answer













                I think you are right.



                According to https://blogs.msdn.microsoft.com/writingdata_services/2016/01/22/adding-push-notification-tags-from-an-azure-mobile-apps-client/#comments:




                The installation ID is a GUID that is specific to an installed app on
                a given mobile device, to the point that when you uninstall and
                reinstall the app on the same device you get a new GUID.




                And the installation ID can be obtained from the Mobile client API:MobileServiceClient.InstallationId;







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 16 '18 at 6:24









                Jack Hua - MSFTJack Hua - MSFT

                1,244129




                1,244129





























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53326753%2fxamarin-ios-how-to-get-installation-id-after-registering-to-backend-for-push-not%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    這個網誌中的熱門文章

                    Barbados

                    How to read a connectionString WITH PROVIDER in .NET Core?

                    Node.js Script on GitHub Pages or Amazon S3