騰訊雲即時通信 IM 服務端 SDK for PHP
- 2019 年 12 月 17 日
- 筆記
安裝
$ composer require hedeqiang/ten-im -vvv
配置
使用本擴展前需要登錄 即時通信 IM 控制台 創建應用,配置管理員、獲取 app_id、Key 等關鍵信息
更多請查看並熟讀 即時通信 IM 服務端API
使用
獲取用戶在線狀態
<?php require __DIR__ .'/vendor/autoload.php'; use HedeqiangTenIMIM; $config = [ 'sdk_app_id' => '14002***', 'identifier' => 'hedeqiang', 'secret_key' => 'a56e6938cb1a8856d15*****', ]; $im = new IM($config); $params = [ 'To_Account' => ['hedeqiang'] ]; print_r($im->send('openim','querystate',$params));
返回示例
{ "ActionStatus": "OK", "ErrorInfo": "", "ErrorCode": 0, "QueryResult": [{ "To_Account": "1", "State": "Offline" }] }
設置資料
$params = [ 'From_Account' => 'hedeqiang', 'ProfileItem' => [ ['Tag' => 'Tag_Profile_IM_Nick', 'Value' => 'hedeqiang'], ['Tag' => 'Tag_Profile_IM_Gender', 'Value' => 'Gender_Type_Male'], ['Tag' => 'Tag_Profile_IM_BirthDay', 'Value' => 19940410], ['Tag' => 'Tag_Profile_IM_SelfSignature', 'Value' => '程序人生的寂靜歡喜'], ['Tag' => 'Tag_Profile_IM_Image', 'Value' => 'https://upyun.laravelcode.cn/upload/avatar/1524205770e4fbfbff-86ae-3bf9-b7b8-e0e70ce14553.png'], ], ]; print_r($im->send('profile','portrait_set',$params));
返回示例:
{ "ActionStatus": "OK", "ErrorCode": 0, "ErrorInfo": "", "ErrorDisplay": "" }
單發單聊消息
$params = [ 'SyncOtherMachine' => 1, // 消息不同步至發送方 'From_Account' => '1', 'To_Account' => '2', 'MsgRandom' => 1287657, 'MsgTimeStamp' => 1557387418, 'MsgBody' => [ [ 'MsgType' => 'TIMTextElem', 'MsgContent' => [ 'Text' => '晚上去擼串啊' ] ] ] ]; print_r($im->send('openim','sendmsg',$params));
返回示例:
{ "ActionStatus":"OK", "ErrorInfo":"", "ErrorCode":0, "MsgTime":1573179125, "MsgKey":"748144182_1287657_1573179125" }
其中
send
方法接收三個參數。第一個參數 $servicename : 內部服務名,不同的 servicename 對應不同的服務類型;第二個參數$command
:命令字,與 servicename 組合用來標識具體的業務功能;第三個參數為請求包主體 示例:v4/im_open_login_svc/account_import
,其中im_open_login_svc
為servicename
;account_import
為command
請求包示例:
{ "From_Account":"id", "ProfileItem": [ { "Tag":"Tag_Profile_IM_Nick", "Value":"MyNickName" } ] }