以下は私が持っているラムダコードですなぜAWS CloudfrontがTabletデバイスをタブレットとして分類していないのですか?
私がラムダに当たったとき、私は「デスクトップ」または「モバイル」を得ることができました。私がTablet UserAgentを送信すると、それはTabletとして分類されません。
exports.handler = (event, context, callback) => {
var region = process.env.AWS_REGION ? process.env.AWS_REGION : 'us-east-1';
console.log(region);
console.log(event);
var device = {};
if(event.headers['CloudFront-Is-Mobile-Viewer'] === "true")
device.device = 'Mobile';
else if (event.headers['CloudFront-Is-Tablet-Viewer'] === "true")
device.device = 'Tablet';
else
device.device = 'Desktop';
var response = {
statusCode: 200,
body: JSON.stringify(device)
};
callback(null, response);
};
ラムダに受信したヘッダーもダブルチェックしました。
'CloudFront-Is-Desktop-Viewer': 'true',
'CloudFront-Is-Mobile-Viewer': 'false',
'CloudFront-Is-SmartTV-Viewer': 'false',
'CloudFront-Is-Tablet-Viewer': 'false',
'CloudFront-Viewer-Country': 'US',
のUser-Agent:
のMozilla/5.0(iPadの、CPUのOSはMac OS Xのような8_1)のAppleWebKit/600.1.4(ヤモリのようにKHTML、)バージョン/ 8.0モバイル/ 12B410サファリ/ 600.1.4
これに関するあらゆる指針は非常に高く評価されています。
私はここで「デスクトップ」を説明することはできませんが、あなたのテストは、この順序である必要があります:(オプション)SmartTVをモバイルデスクトップ分類であるため、相互に排他的ではありません...そして、その後、その後、タブレット。たとえば、Is-Tablet-ViewerとIs-Mobile-Viewerが両方ともtrueに設定され、タブレットで表示されるので、モバイルを最初にテストして正しい答えを得ることはできません。 –
ありがとうございました。それはうまくいった。 – Kannaiyan
私は答えとして投稿します。 –