Table of Contents

MegaTracker 雲端服務驗證

這篇文章介紹如何指定 MegaTracker 使用雲端服務時的驗證方式。

開始之前

使用 API Key 和 API Secret 驗證

這種方式適用於傳統的金鑰對驗證。你需要使用 APIKeyAccessData 來建構 MegaTrackerConfigs 中的 access 物件。

const apiKeyAccess = new mega.APIKeyAccessData(
    settings.MegaTrackerAppID, // Mega 定位服務 AppID
    settings.MegaTrackerServerAddress, // Mega 定位服務地址
    settings.EasyARAPIKey, // APIKey 字符串
    settings.EasyARAPISecret // APISecret 字符串
);
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
    access: apiKeyAccess
};
const sessionConfigs: easyar.SessionConfigs = {
    megaTrackerConfigs: megaTrackerConfigs,
    licenseKey: settings.EasyARLicenseKey
};
session = megaComponent.createSession(sessionConfigs);

這個例子中先使用設定中的雲端定位庫 appId,雲端服務 serverAddress,雲端服務 apiKeyapiSecret 建立了 APIKeyAccessData

然後使用建立的 APIKeyAccessData 建立 MegaTrackerConfigs。這代表將使用 API Key 和 API Secret 驗證

使用 API Token 驗證

若能夠使用伺服器定時(每幾分鐘或幾小時)更新和下發 APIToken,使用這種方式避免了直接使用 APISecret 對定位請求進行簽署,安全性更高。APIToken 的更新方式請參考 Token的建立與使用方法

可以根據 Token 的有效期限,在前端設定計時器進行更新。

首先使用設定中的 Mega 定位庫 AppID 和定位服務地址建立 TokenAccessData

然後使用建立的 TokenAccessData 建立 MegaTrackerConfigs

然後使用 MegaTrackerConfigs 和設定中的 licenseKey 建立 SessionConfigs

最終用 xr-frame 場景中掛載的 EasyARMegaComponentcreateSession(sessionConfigs) 方法建立 session。

當 Token 過期時,必須呼叫 updateToken(apiToken) 進行更新,否則 Mega 服務將不可用,定位結果中的狀態始終為 ApiTokenExpired

const tokenAccess = new mega.TokenAccessData(
    settings.MegaTrackerAppID, // Mega 定位服務 AppID
    settings.MegaTrackerServerAddress, // Mega 定位服務地址
    "your_api_token" // APIToken 字符串
);
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
    access: tokenAccess
};
const sessionConfigs: easyar.SessionConfigs = {
    megaTrackerConfigs: megaTrackerConfigs,
    licenseKey: settings.EasyARLicenseKey
};
session = megaComponent.createSession(sessionConfigs);

這個例子示範了如何使用 TokenAccessData 建立 MegaTrackerConfigs,並且用這個 MegaTrackerConfigs 建立 session 以使用 APIToken 驗證。