2022年05月16日

Agora.io SDKを利用したライブコマースサンプル(WebRTC版)

※2020年の記事です。

 

2018年頃からEC市場でライブコマースをよく見かけるようになりました。
ライブコマースの開発を希望するお客様が増えてきた為、簡易なサンプルを実装しました。
サンプルの方針として、フレームワークを使用すると移植しにくさがあると思いますので、各言語ベタでコーディングしています。

Githubに公開しています

資料ダウンロード  【すぐ読める!ガイドブック】ビデオ通話・ライブ配信SDK「Agora」  ビデオ通話やライブ配信の機能をあらゆるアプリケーションに簡単に実装できるSDKの特徴から活用例まで徹底解説! 無料ダウンロード

開発環境

macOS Mojave 10.14.1
VisualStudioCode 1.29.1
Chrome 72.0.3626.121
AgoraVideoSDK for Web 2.8.0
PHP 5.5.26
MySQL 5.5.42

機能一覧

・ライブ作成
・ライブ配信(Web SDK)
・ライブ視聴(Web SDK)
・チャット(Signaling SDK)
・ハート送信(Signaling SDK)
・延べ視聴人数/ハート数のリアルタイム表示
・同時視聴数の記録(RESTFull API)

実装のポイント

同時視聴数の記録

実装の手法は様々です。要件に合わせて異なってきます。
今回は、Channelに接続している人=視聴しているとしてagora.ioが提供しているRESTFull APIを利用しています。

https://docs.agora.io/en/Agora%20Platform/dashboard_restful_communication?platform=All%20Platforms

put_live_count.php
        $channelName = BASE_CHANNEL_NAME . $_GET['live_id'];
            $url = sprintf("%s/%s/%s/%s/%s",REST_API_URL,"channel","user",APP_ID,$channelName);
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_USERPWD, REST_API_USER . ":" . REST_API_PASS);
            curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
            $json = curl_exec($ch);
            curl_close($ch);
            $data = json_decode($json, true);
            $count = 0;
            if($data['success'] && isset($data['data']['audience_total'])){
                $count = $data['data']['audience_total'];
            }
            $sql = sprintf("insert into session (live_id,count,created_at) value(%s,%s,now())",$pdo->quote($_GET['live_id']),$pdo->quote($count));
            $pdo->query($sql);
    
    
資料ダウンロード  【一気に読める!】Agora 導入事例集  オンラインフィットネス・カウンセリング、音声サービスやファンサービスなど、バラエティに富んだ導入事例をご紹介! 無料ダウンロード
ブイキューブ

執筆者ブイキューブ

Agoraの日本総代理店として、配信/通話SDKの提供だけでなく、導入支援から行い幅広いコミュニケーションサービスに携わっている。

関連記事

先頭へ戻る