Git Product home page Git Product logo

Comments (9)

ericb avatar ericb commented on June 12, 2024

Hey @sagivf 👋

Could you describe the scenario where it pops up twice a bit more? Do you mean that you send one message, then send another, so the phone has two notifications waiting to be clicked?

from ionic-cloud-angular.

sagivf avatar sagivf commented on June 12, 2024

No, Just one message - that is opened via the the IPhone notification.

  this.push.rx.notification()
        .subscribe((message) => {

The subscribe callback function is called twice with the same message. I checked and the messages are not equal (===) just the same content.
Can you test it out on an Iphone env?

from ionic-cloud-angular.

ericb avatar ericb commented on June 12, 2024

I'm still a bit confused as to how to try and reproduce. Can you walk me through step by step? Also, do you have a notification id for the message that pops up twice?

from ionic-cloud-angular.

sagivf avatar sagivf commented on June 12, 2024

Actually it doesn't seem to happen via the dashboard - only with my api requests.

Generally specking should a notification fire when entering the app? without tapping the notification. This doesn't seem to be the case for notification sent VIA the dashboard.

I'll try to pin it down some more.

Here is one sent VIA the api - 712f08c3-866c-4705-91ba-a021f1e3b635. (twice)
and one sent from the dashboard - c36cbfb7-6814-49cd-bcb6-c8b0b2620b0c

You can also find me on slack (@sagiv), maybe i'll explain it better there.

from ionic-cloud-angular.

sagivf avatar sagivf commented on June 12, 2024

Again here are the steps -

  1. App is in background.
  2. notification sent VIA api.
  3. when notification pops from the top click it.
  4. the notification callback is called twice.

from ionic-cloud-angular.

sagivf avatar sagivf commented on June 12, 2024

Request body

yield request.post({                             
  url: ionic_io_server + '/push/notifications',  
  headers: {                                     
    'Content-Type': 'application/json',          
    'Authorization': `Bearer ${ionic_io_token}`  
  },                                             
  json: {                                        
    'user_ids': [ studentId ],                   
    'profile': process.env.PUSH_ENV,             
    'notification': {                            
      'message': msg,                            
      'payload': payload,                        
      'android': {                               
        // "delay_while_idle": true,             
        // "collapse_key": false,                
        'collapse_key': 'spiklils',              
        'collapseKey': 'spiklils',               
        'delay_while_idle': false,               
        'delayWhileIdle': false,                 
        'timeToLive': 3000                       
      },                                         
      'ios': {                                   
        'sound': 'sound.wav',                    
        'content_available': true,               
        'expiry': 1423238641,                    
        'priority': 10,                          
        'contentAvailable': true                 
      }                                          
    }                                            
  }                                              
})                                               

from ionic-cloud-angular.

sagivf avatar sagivf commented on June 12, 2024

I think I may of found the problem - might be contentAvailable: true - i'll validate it soon, any idea what that is?

from ionic-cloud-angular.

ericb avatar ericb commented on June 12, 2024

Ah okay, I understand now. So the content_available flag is used to specify background notifications. It looks like you have both content_available and contentAvailable. You should take a look at the push create endpoint for clarification on the key/value that should be sent for those requests.

But aside from that, I'm still not certain why that would cause another notification event to be fired. Curious to see if it happens when you remove those values.

from ionic-cloud-angular.

sagivf avatar sagivf commented on June 12, 2024

OK, I figured it out. It is indeed the content_available property.
So I thing there is a bug or a misunderstanding here.
From what I read content_available mean that the notification will not be displayed, but is it will be processed by the app.

What happens is that it triggers once in the app, but still appears as a notification, which makes it trigger a second time when clicking the notification.

I'll close this and open a new ticket on the ionic cloud.

from ionic-cloud-angular.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.