我在通过 CURL 向 19k 用户发送通知时遇到问题。
新的 FB 应用程序通知 API 是金矿,所以我在我的应用程序中实现了一个系统,当他的朋友得分高于他时通知玩家。问题是应用程序必须通过 curl 发送 19k 条通知,这需要大约 950 小时。是否有更快的解决方案来发送这些通知?我的意思是我已经看到大多数大玩家(比如 zynga)都成功地使用了应用程序通知,我不认为他们发送的通知比我少:)
这是我的代码
函数 _getAppToken(){
$APPLICATION_ID = "xxxxxxx";
$APPLICATION_SECRET = "xxxxxxxx";
$token_url = "https://graph.facebook.com/oauth/access_token?" .
“client_id=”。$APPLICATION_ID 。
“&client_secret=”。$APPLICATION_SECRET 。
"&grant_type=client_credentials";
//$app_token = file_get_contents($token_url);
$accessToken = explode('=', file_get_contents($token_url));
返回 $accessToken[1];
}
函数 _curlDoNotifications($fb_id, $tokennn, $mesaj, $hrf = '')
{
$附件 = 数组(
'access_token' => $tokennn,
'href' => $hrf,
'模板' => $mesaj
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/' . $fb_id . '/notifications');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); //抑制卷曲输出
$result = curl_exec($ch);
curl_close($ch);
返回$结果;
}
第一个函数获取应用令牌并使用它通过第二个函数(curl)发送通知。
foreach 用户安装了应用程序并且必须通知我应用这两个功能。问题是第二个功能持续〜3秒/用户
谢谢
稍后编辑:api批量发送是答案:)一次最多可以发送50个通知