2017-04-04 1 views
0

J'ai ce code pour le lot:Est-il possible d'envoyer des notifications par lots avec des identifiants d'abonnements ayant des champs différents?

$ch = curl_init(); 
$google_gcm_url = 'https://gcm-http.googleapis.com/gcm/send'; 
$title = 'Title'; 
$msg = 'Message'; 

// just sample unrealistic ids 
$fields['to'] = array ( 
    'mobileSubscriptionId1', 
    'mobileSubscriptionId2', 
    'mobileSubscriptionId3' 
); 

$fields['notification'] = array (
    'title' => $title, 
    'body' => $msg, 
    // 'url' => 'some_url1', 
    'url' => array (
     'some_url1', 
     'some_url2', 
     'some_url3' 
    ) 
); 

$fields['priority'] = 'high'; 
$fields['content_available'] = true; 

curl_setopt($ch, CURLOPT_URL, $google_gcm_url); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields)); 

$result = curl_exec($ch); 
curl_close($ch); 

Est-il possible de définir le ouscription « mobileSubscriptionId1 » quand ils cliquent dessus, il sera le premier champ url « de some_url1 »? Puis "mobileSubscriptionId2" à "some_url2", puis "mobileSubscriptionId3" à "some_url3". J'ai essayé mon code mais cela ne fonctionne pas. Je ne veux pas boucler en boucle car c'est vraiment lent. En réalité, j'ai des milliers d'identifiants.

+1

Donc, cela est envoyé à une application mobile et l'utilisateur doit cliquer sur un lien et revenir à l'URL fournie? Peut-être que vous devriez utiliser une URL, et obtenir l'application mobile pour fournir un identifiant unique (GCM registrationID peut-être?), Rechercher l'utilisateur, et gérer la demande en conséquence. GCM prend en charge les lots, et 1000 semble être recommandé. – markdwhite

+0

Copie possible de [C# Envoyer une notification au groupe de périphériques avec des données personnalisées uniques FCM] (http://stackoverflow.com/questions/41755955/c-sharp-send-notification-to-device-group-with-unique-custom- data-fcm) –

+0

@markdwhite Pourrait faire cela si j'ai le gestionnaire onclick pour mobile mais la mauvaise chose est que c'est un tiers qui a créé notre application mobile :(, Ceci est une approche similaire à ma notification sur le bureau. idée :) Merci :) –

Répondre

0

Ceci n'est actuellement pas possible pour GCM (et FCM). Si vous avez l'intention d'envoyer des charges utiles uniques pour chaque utilisateur, vous devrez envoyer une demande distincte pour chaque utilisateur. (Voir ma réponse dans le message en double possible).

Le commentaire de @ markdwhite semble être réalisable.

+0

Merci! Pourrait faire une alternative, comme courir dans un arrière-plan inaperçu en utilisant. –