使用javascript和php的“推送”的确切机制是什么?

恰摩

我已经找到了firebase,根据手册和有关它的许多文章,它将有助于在php项目中创建push函数。

我完全了解使用Curl可以将数据发送到Firebase服务器。但是我无法想到将这些数据实时转发给目标用户的好主意。Javascript可以实现这一点,但它与Ajax Polling一样安静吗?

使用PHP和Javascript,以及诸如Firebase之类的推送云服务,如何进行实时推送通知?概略的机制会有所帮助!

哈西尔·戴夫(Harshil Dave)

首先,您应该为要在其上发送推送通知的设备使用``设备令牌'';其次,您必须具有可以从Firebase控制台轻松获取的``服务器密钥'';现在,如果要进行实时pushnotification使一个AJAX POST调用以下功能的,这将需要的数组为具有参数devicetoken消息,你想在推送通知通过。

public function sendNotification($postData = ""){

        //FCM api URL
        $url = 'https://fcm.googleapis.com/fcm/send';

        //api_key available in Firebase Console -> Project Settings -> CLOUD MESSAGING -> Server key
        $server_key = 'AAAA8mhm5CE:APA91bE420_Dl5GcRwpmNCvwB-m6QSLeEXhwTjNs5XR8RRSdBWcWkOuXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';

        $data = $postData;

        $devicetoken = $data['devicetoken'];

        $message = $data['messege'];

        $fields = array (
            'registration_ids' => array (
                    $devicetoken
            ),

            'notification' => array (
                    "title" => "Title",
                    "text" => $message
            )
        );

        //header with content_type api key
        $headers = array(
            'Content-Type:application/json',
            'Authorization:key='.$server_key
            );

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
        $result = curl_exec($ch);
        if ($result === FALSE) {
            die('FCM Send Error: ' . curl_error($ch));
        }
        curl_close($ch);
        return TRUE;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

delete和delete []的确切行为是什么?

来自分类Dev

mapper和reducer函数的确切输出是什么

来自分类Dev

read()和readline()的确切区别是什么?

来自分类Dev

delete和delete []的确切行为是什么?

来自分类Dev

“ IFS =!”的确切用法和含义是什么?

来自分类Dev

将jQuery和Bootstrap嵌入.php文件的确切方法是什么?

来自分类Dev

javascript中if(variable)的确切取反是什么?

来自分类Dev

使用git show时,“:”的确切含义是什么?

来自分类Dev

Android中使用的确切内存模型是什么?

来自分类Dev

“登录”的确切定义是什么

来自分类Dev

“登录”的确切定义是什么

来自分类Dev

“登录”的确切定义是什么

来自分类Dev

ping -A的确切含义是什么

来自分类Dev

exist()的确切用法是什么?

来自分类Dev

initializeUnorderedBulkOperation和initializeOrderedBulkOperation的确切区别和优点/缺点是什么?

来自分类Dev

C ++省略了`noexcept`说明符和`noexcept(false)`,它们的确切含义是什么?

来自分类Dev

Common Lisp中的NULL和NIL之间的确切区别是什么?

来自分类Dev

Windows Azure和Windows IIS之间的确切区别是什么?

来自分类Dev

content-type:text / json和application / json之间的确切区别是什么?

来自分类Dev

Docker容器中SizeRootFs和SizeRw之间的确切区别是什么?

来自分类Dev

适配器和代理模式之间的确切区别是什么?

来自分类Dev

“适配器”和“介体”模式之间的确切区别是什么?

来自分类Dev

BITCODE_ENABLE和dylib框架之间的确切联系是什么?

来自分类Dev

拦截器和transformResponse之间的确切区别是什么?

来自分类Dev

wpf中的ToolBarPanel和ToolBarTray之间的确切区别是什么?

来自分类Dev

“ ExpectedConditions.visibilityOfElementLocated”和“ ExpectedConditions.presenceOfElementLocated”之间的确切区别是什么?

来自分类Dev

线程入口和线程启动之间的确切区别是什么?

来自分类Dev

SessionLocaleResolver和FixedLocaleResolver之间的确切区别是什么

来自分类Dev

awk和grep cut之间的确切区别是什么?

Related 相关文章

  1. 1

    delete和delete []的确切行为是什么?

  2. 2

    mapper和reducer函数的确切输出是什么

  3. 3

    read()和readline()的确切区别是什么?

  4. 4

    delete和delete []的确切行为是什么?

  5. 5

    “ IFS =!”的确切用法和含义是什么?

  6. 6

    将jQuery和Bootstrap嵌入.php文件的确切方法是什么?

  7. 7

    javascript中if(variable)的确切取反是什么?

  8. 8

    使用git show时,“:”的确切含义是什么?

  9. 9

    Android中使用的确切内存模型是什么?

  10. 10

    “登录”的确切定义是什么

  11. 11

    “登录”的确切定义是什么

  12. 12

    “登录”的确切定义是什么

  13. 13

    ping -A的确切含义是什么

  14. 14

    exist()的确切用法是什么?

  15. 15

    initializeUnorderedBulkOperation和initializeOrderedBulkOperation的确切区别和优点/缺点是什么?

  16. 16

    C ++省略了`noexcept`说明符和`noexcept(false)`,它们的确切含义是什么?

  17. 17

    Common Lisp中的NULL和NIL之间的确切区别是什么?

  18. 18

    Windows Azure和Windows IIS之间的确切区别是什么?

  19. 19

    content-type:text / json和application / json之间的确切区别是什么?

  20. 20

    Docker容器中SizeRootFs和SizeRw之间的确切区别是什么?

  21. 21

    适配器和代理模式之间的确切区别是什么?

  22. 22

    “适配器”和“介体”模式之间的确切区别是什么?

  23. 23

    BITCODE_ENABLE和dylib框架之间的确切联系是什么?

  24. 24

    拦截器和transformResponse之间的确切区别是什么?

  25. 25

    wpf中的ToolBarPanel和ToolBarTray之间的确切区别是什么?

  26. 26

    “ ExpectedConditions.visibilityOfElementLocated”和“ ExpectedConditions.presenceOfElementLocated”之间的确切区别是什么?

  27. 27

    线程入口和线程启动之间的确切区别是什么?

  28. 28

    SessionLocaleResolver和FixedLocaleResolver之间的确切区别是什么

  29. 29

    awk和grep cut之间的确切区别是什么?

热门标签

归档