作成日:2024年08月05日
アクセスしたデバイスを判別する


どうも、にゃん太です
ファイルメーカーで作成したカスタムアプリを様々なデバイスで使用する場合がありますが、レイアウトや使用するスクリプトなどが共通で使用できるとは限りません
今回のメモでは、アクセスしたデバイスを判定して処理を分岐する方法について書いていきます
デバイスを判別で使用できる関数
ファイルメーカーの関数の中で、デバイスを判別に関連するものは次の2つです
- Get (デバイス)
-
コンピュータまたはモバイルデバイスの種類を示す数値を返す関数です
返される値は数値で、下記の通りです
- 0:不明なデバイス
- 1:Mac
- 2:Windows
- 3:iPad
- 4:iPhone または iPod touch
- 5:Android
- Get (システムプラットフォーム)
-
返される値は数値で、下記の通りです
- 1:FileMaker(Mac)
- -2:FileMaker(Windows)
- 3:FileMakerGo(iOS)
- 4:WebDirect
※「Get (システムバージョン)」なども使用できそうでしたが、ここまで細かく振り分ける事の方が稀でしょうから、ここでは割愛します
デバイスを判別する
それでは、上記関数を使用して判別する処理を記述してみます
スクリプト
If [Get ( デバイス ) = 1 and Get ( システムプラットフォーム ) = 4] # Mac上からWebDirectでのアクセス Else If [Get ( デバイス ) = 2 and Get ( システムプラットフォーム ) = 4] # Windows上からWebDirectでのアクセス Else If [Get ( デバイス ) = 3 and Get ( システムプラットフォーム ) = 4] # iPad上からWebDirectでのアクセス Else If [Get ( デバイス ) = 4 and Get ( システムプラットフォーム ) = 4] # iPhone上からWebDirectでのアクセス Else If [Get ( デバイス ) = 5 and Get ( システムプラットフォーム ) = 4] # Android上からWebDirectでのアクセス Else If [Get ( デバイス ) = 4 and Get ( システムプラットフォーム ) = 3] # iPhone版 FileMakerGoからのアクセス Else If [Get ( デバイス ) = 3 and Get ( システムプラットフォーム ) = 3] # iPad版 FileMakerGoからのアクセス Else If [Get ( システムプラットフォーム ) = 1] # Mac版 FileMakerからのアクセス Else If [Get ( システムプラットフォーム ) = -2] # Windows版 FileMakerからのアクセス Else # 不明なシステム/デバイスからのアクセス End If
この様にしてデバイスを判別して処理を分岐する事が可能です

以上で今日のメモ書きは終了です
内容はいかがでしたか?
もしご意見やご要望、誤りの指摘などありましたら、下記フォームよりお気軽にご連絡ください