是否可以使用具有不同字段的订阅ID发送批处理通知?

时间:2017-04-04 12:41:08

标签: php curl google-cloud-messaging

我有批处理代码:

$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);

是否可以设置subcription" mobileSubscriptionId1"所以当他们点击它时,它将转到第一个url字段" some_url1"? 然后" mobileSubscriptionId2" to" some_url2" ,然后" mobileSubscriptionId3"到" some_url3" 。 我尝试过我的代码,但它没有用。 我不想卷曲,因为它真的很慢。 实际上我有数以千计的ID。

1 个答案:

答案 0 :(得分:0)

GCM(和FCM)目前无法做到这一点。如果您打算为每个用户发送唯一的有效负载,则必须为每个用户发送单独的请求。 (请参阅可能重复的帖子中的答案。)

@ markdwhite的评论似乎是可行的。