0

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

4

0 回答 0