我在通过 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个通知