リモートコマンド:Facebook
AndroidおよびSwift/iOSにおけるFacebookのTealiumリモートコマンド統合です。
要件
- これらのモバイル ライブラリのうちのいずれか:
- Tealium for Android (Kotlin) (1.0.0 以降)
- Tealium for Android (Java) (5.9.0 以降 (Facebook 1.0.0 以降用) または 5.9.0 以前 (旧バージョン用))
- Tealium for iOS (Swift)
- これらのリモート コマンド統合のいずれか:
- Facebook Remote Command JSON File (Android-Kotlin 1.0.0 以降または iOS-Swift 2.1.0 以降が必要)
- Facebook リモート コマンド タグ (Tealium iQ タグ管理)
iOSとAndroidの要件は次のとおりです。
Android には、以下の Strings.xml
キーが必要です。[APP_ID]
を Facebook アプリ ID で置き換えます。
<string name="facebook_app_id">[APP_ID]</string>
<string name="fb_login_protocol_scheme">fb[APP_ID]</string>
次の meta-data
要素が AndroidManifest.xml
ファイルに必要です。
<application android:label="@string/app_name" ...>
...
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
...
</application>
iOSの場合は、次のキーが.plist
ファイルに必要です。
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb[APP_ID]</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>[APP_ID]</string>
<key>FacebookDisplayName</key>
<string>[APP_NAME]</string>
詳細を見る:Facebook iOSの概要 - プロパティリストを構成する
AppDelegate
コードを次のように更新します。
FBSDKCoreKit
をインポートしますdidFinishLaunchingWithOptions
メソッドに以下を追加します
FBSDKApplicationDelegate.sharedInstance().application(
application,
didFinishLaunchingWithOptions: launchOptions)
- 次の関数を
AppDelegate.swift
(またはObjective-Cの同等メソッド)に追加します
func application(
_ app: UIApplication,
open url: URL,
options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
let handled = FBSDKApplicationDelegate.sharedInstance().application(
app,
open: url,
options: options)
仕組み
Facebook 統合は、これらのアイテムを使用します:
- Facebook ネイティブ SDK
- Facebook メソッドをラップするリモート コマンド モジュール
- イベント トラッキングをネイティブ Facebook コールに翻訳する、JSON 構成ファイルまたは Remote Command タグのいずれか
Facebook リモート コマンド モジュールをアプリに追加すると、必要な Facebook ライブラリが自動的にインストールされ、ビルドされます。この際、ベンダー固有のコードをアプリに追加する必要はありません。依存関係マネージャのインストールを使用している場合、Facebook SDKを個別にインストールする必要はありません。
リモート コマンド オプションは、次の 2 つがあります: A JSON 構成ファイル、または、マッピングを構成するための iQ タグ管理の使用。A JSON 構成ファイルは、リモートでホスティングするか、またはアプリ内でローカルでホスティングするかのいずれでも、ベンダー統合の推奨オプションです。iQ タグ管理を使用する場合は、ベンダー統合用のリモート コマンド タグを追加します。ベンダー統合の詳細は、こちらから参照してください。
インストール
依存関係マネージャ
次の依存関係マネージャのいずれかをインストールに使用することをお勧めします。
Tealium iOS(Objective-C)ライブラリを使用している場合は、手動インストール方法を使用してください。CocoaPodsおよびCarthageオプションは、Tealium iOS(Swift)ライブラリを使用している場合にのみ使用可能です。
Swift Package Manager を使用して iOS の Facebook リモート コマンドをインストールするには:
- Xcode プロジェクトで、次のように選択します: [File] > [Add Package…]> [Add Package Dependency]。
- レポジトリの URL として「https://github.com/tealium/tealium-ios-facebook-remote-command」と入力します。
- バージョンルールを構成します。通常は
Up to next major
が推奨されます。現在のTealiumFacebook
バージョンがリストに表示されない場合は、Swift パッケージ キャッシュをリセットします。 - インストールする
TealiumFacebook
モジュールを選択し、モジュールをインストールするアプリ ターゲットを選択します。
プロジェクトにアプリ ターゲットが複数あり、複数のアプリ ターゲットで TealiumFacebook
モジュールが必要な場合は、 [Frameworks, Libraries, and Embedded Content] (フレームワーク、ライブラリ、組み込みコンテンツ) セクションにそれらを手動で追加する必要があります。
追加のアプリ ターゲットに TealiumFacebook
をインストールするには:
- プロジェクト ナビゲーターで Xcode プロジェクトを選択します。
- Xcode プロジェクトにおいて、 [TARGETS] (ターゲット) セクションでアプリ ターゲットを選択します。
- [General] > [Frameworks, Libraries & Embedded Content] に進み、
TealiumFacebook
モジュールを選択して、アプリ ターゲットに追加します。
Tealium Swift ライブラリからの追加のモジュールを追加するは、 Swift Package Manager の手順に従います。
CocoaPodsを使用してiOSのFacebookリモートコマンドをインストールするには:
-
tealium-swift
とpod "FBSDKCoreKit"
がPodfileに既に存在する場合は削除します。tealium-swift
の依存関係はTealiumFacebook
フレームワークに既に含まれています。 -
次の依存関係をPodfileに追加します。
pod "TealiumFacebook"
TealiumFacebook
ポッドには以下のTealiumSwift
依存関係が含まれています。
'tealium-swift/Core'
'tealium-swift/TealiumDelegate'
'tealium-swift/TealiumRemoteCommands'
'tealium-swift/TealiumTagManagement'
- モジュール
TealiumSwift
およびTealiumFacebook
を、TealiumHelper
ファイル、Tealium
クラスにアクセスするその他のファイル、またはFacebookリモートコマンドにインポートします。
Carthageを使用してiOSのFacebookリモートコマンドをインストールするには:
-
tealium-swift
をCartfileから削除します。tealium-swift
の依存関係はTealiumFacebook
フレームワークに既に含まれています。 -
以下の行がCartfileに存在する場合は、その行を削除します。
github "facebook/facebook-ios-sdk"
- 次の依存関係をCartfileに追加します。
github "tealium/tealium-ios-facebook-remote-command"
Tealium for Swift SDK(バージョン1.6.5以降)では、TealiumDelegate
モジュールがインストールに含まれている必要があります。
Mavenを使用してAndroidのFacebookリモートコマンドをインストールするには:
-
Tealium for Android (Kotlin) または Tealium for Android (Java) をインストールして、Tealium Maven URL を、プロジェクトのトップレベル
build.gradle
ファイルに追加します (まだ済んでいない場合)。allprojects { repositories { mavenCentral() maven { url "https://maven.tealiumiq.com/android/releases/" } } }
-
アプリ プロジェクトの
build.gradle
ファイルに次の依存関係を追加して、Facebook SDK と Tealium-Facebook の両方のリモート コマンドをインポートします。
dependencies {
implementation 'com.tealium.remotecommands:facebook:2.0.0'
}
手動による手順(iOS)
Facebook リモート コマンドを手動でインストールするには、 Tealium for Swift ライブラリがインストールされている必要があります。iOSプロジェクトのFacebookリモートコマンドをインストールするには:
-
Facebook SDKをまだインストールしていない場合はインストールします。
-
Tealium iOS Facebookリモートコマンドレポジトリをクローンして、
Sources
フォルダ内のファイルをプロジェクトにドラッグします。 -
ディスパッチャーとして
Dispatchers.RemoteCommands
を追加します -
remoteAPIEnabled
構成フラッグをtrue
に構成します
手動(Android)
Facebook リモート コマンドを手動でインストールするには、 Tealium for Android (Kotlin) または Tealium for Android (Java) がインストールされている必要があります。
AndroidプロジェクトのFacebookリモートコマンドをインストールするには:
flatDir
をプロジェクトのルートにあるbuild.gradle
ファイルに追加します。
allprojects {
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
}
-
tealium-facebook.aar
を<PROJECT_ROOT>/<MODULE>/libs
に追加します。 -
Tealiumライブラリの依存関係を
build.gradle
ファイルに追加します。
dependencies {
implementation(name:'tealium-facebook', ext:'aar')
}
初期化
すべてのTealiumライブラリについて、初期化時にFacebookリモートコマンドを登録します。
Android (Kotlin)
Tealium の Kotlin ライブラリ用の JSON 構成ファイルまたはリモート コマンド タグを用いてリモート コマンドを初期化します。
以下のコードは、ローカル ファイル オプションを使用して、JSON Remote Commands 機能とともに用いるために設計されています。
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands));
var tealium = Tealium.create(TEALIUM_MAIN, config) {
val facebook = FacebookRemoteCommand(this);
// register the command
remoteCommands?.add(facebook, filename = "facebook.json");
}
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands));
var tealium = Tealium.create(TEALIUM_MAIN, config) {
val facebook = FacebookRemoteCommand(this);
// register the command
remoteCommands?.add(facebook);
}
Android (Java)
Android 向けの JSON Remote Command ファイル機能は、Kotlin SDK でのみ利用できます。
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
import com.tealium.remotecommands.facebook.FacebookRemoteCommand;
Tealium.Config config = Tealium.Config.create(application, "ACCOUNT", "PROFILE", "ENVIRONMENT");
Tealium teal = Tealium.createInstance(TEALIUM_MAIN, config);
FacebookRemoteCommand facebook = new FacebookRemoteCommand(this);
// register the command
teal.addRemoteCommand(facebook);
iOS (Swift)
Tealium の iOS (Swift) ライブラリ用の JSON 構成ファイルまたはリモート コマンド タグを用いてリモート コマンドを初期化します。
以下のコードは、ローカル ファイル オプションを使用して、JSON Remote Commands 機能とともに用いるために設計されています。
var tealium : Tealium?
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",
dataSource: "DATASOURCE",
optionalData: nil)
config.dispatchers = [Dispatchers.TagManagement, Dispatchers.RemoteCommands]
config.remoteAPIEnabled = true // Required to use Remote Commands
tealium = Tealium(config: config) { _ in
guard let remoteCommands = self.tealium?.remoteCommands else {
return
}
let facebook = FacebookRemoteCommand(type: .local(file: "facebook"))
remoteCommands.add(facebook)
}
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
var tealium : Tealium?
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",˜˜
dataSource: "DATASOURCE",
optionalData: nil)
config.dispatchers = [Dispatchers.TagManagement, Dispatchers.RemoteCommands]
config.remoteAPIEnabled = true // Required to use Remote Commands
tealium = Tealium(config: config) { _ in
guard let remoteCommands = self.tealium?.remoteCommands else {
return
}
let facebook = FacebookRemoteCommand()
remoteCommands.add(facebook)
}
JSON テンプレート
JSON 構成ファイルを使用してリモート コマンドを構成しようとする場合は、まず、以下のテンプレートを参照します。テンプレートには、標準的な E コマースのインストールに用いられる共通マッピングが含まれます。必要に応じて、マッピングを編集します。
{
"config": {
"applicationid": "YOUR_APP_ID",
"accesstoken": "YOUR_ACCESS_TOKEN",
"userid": "YOUR_USER_ID",
"auto_log_events_enabled": true,
"auto_init_enabled": true,
"advertiser_id_collection_enabled": true,
"debug": true
},
"mappings": {
"achievement_type": "event.fb_description",
"ad_type": "event.ad_type",
"content": "event.fb_content",
"content_type": "event.fb_content_type",
"currency_cod": "event.fb_currency",
"event_name": "event.fb_description",
"current_level": "event.fb_level",
"pet_count": "event.fb_max_rating_value",
"number_of_items": "event.fb_num_items",
"order_id": "event.fb_order_id",
"payment_info_available": "event.fb_payment_info_available",
"signup_method": "event.fb_registration_method",
"search_keyword": "event.fb_search_string",
"success": "event.fb_success",
"customer_email": "user.em",
"customer_first_name": "user.fn",
"customer_last_name": "user.ln",
"customer_phone": "user.ph",
"customer_dob": "user.dob",
"customer_gender": "user.ge",
"customer_city": "user.ct",
"customer_state": "user.st",
"customer_zip": "user.zp",
"customer_country": "user.country",
"customer_id": "fb_user_id",
"user_value": "fb_user_value",
"user_key": "fb_user_key",
"product_id": "product.fb_product_item_id,event.fb_content_id",
"product_availability": "product.fb_product_availability",
"product_condition": "product.fb_product_condition",
"product_description": "product.fb_product_description,event.fb_product_description",
"product_image_link": "product.fb_product_image_link",
"product_link": "product.fb_product_link",
"product_name": "product.fb_product_title",
"product_variant": "product.fb_product_gtin",
"product_brand": "product.fb_product_brand",
"product_price": "product.fb_product_price_amount,event.fb_value_to_sum",
"product_currency": "product.fb_product_price_currency",
"product_alias": "product_parameters.product_alias",
"product_color": "product_parameters.product_color",
"order_total": "purchase.fb_purchase_amount",
"order_currency": "purchase.fb_purchase_currency",
"customer_status": "purchase_parameters.customer_status",
"coupon": "purchase_parameters.coupon",
"push_action": "push.fb_push_action",
"push_payload": "push.fb_push_payload",
"tealium_event": "command_name"
},
"commands": {
"launch": "initialize,setautologappeventsenabled,setautoinitenabled,enableadvertiseridcollection",
"user_login": "setuser,setuserid",
"email_signup": "updateuservalue",
"level_up": "achievedlevel",
"user_register": "completedregistration",
"unlock_achievement": "unlockedachievment",
"cart_add": "addedtocart",
"custom_attribute": "rated",
"wishlist_add": "addedtowishlist",
"payment": "initiatedcheckout",
"product": "logproductitem",
"order": "logpurchase",
"flush": "flush"
}
}
プッシュ メッセージ トラッキング (iOS)
Tealium Swift ライブラリには、Tealium と Facebook リモート コマンドを介してプッシュ メッセージ トラッキングに対処するための TealiumRegistration
プロトコルが含まれています。Tealium は ラッパー クラス FacebookInstance
でこのプロトコルに準拠し、プッシュ メッセージ認証イベントとプッシュ メッセージ オープン イベントの送信、およびトラッキングのアンインストールにこのプロトコルを使用しています。プッシュメッセージトラッキング機能を利用することをお勧めします。
iOSプロジェクトのプッシュメッセージトラッキングを統合するには、次の手順を実行します。
TealiumHelper.swift
ファイルで、TealiumRegistration
プロトコルに準拠しているオブジェクトの空の配列を初期化します。例:
var pushMessagingHelpers = [TealiumRegistration]()
FacebookRemoteCommand
の前にFacebookInstance
を初期化します- 前述の配列に
FacebookInstance
を追加します
以下は、プッシュメッセージトラッキング統合の例の全文です。
var pushMessagingHelpers = [TealiumRegistration]()
//...
teal = Tealium(config: config) { responses in
guard let remoteCommands = self.tealium?.remoteCommands() else {
return
}
let facebookInstance = FacebookInstance()
let facebookRemoteCommand = FacebookRemoteCommand(facebookInstance: facebookInstance)
remoteCommands.add(facebookRemoteCommand)
self. pushMessagingHelpers.append(facebookInstance)
}
TealiumHelper.swift
ファイル全体を表示するには、Facebookリモートコマンドサンプルアプリを確認してください。ユーザーが通知の登録、プッシュメッセージのオープン、またはアプリのアンインストールを行った後でFacebookにイベントを送信するには、ファイルAppDelegate.swift
を参照してください
サポートされているメソッド
以下のFacebookメソッドは、以下のTealiumコマンドを使用し、Facebookリモートコマンドタグのデータマッピングを使用してトリガーできます。
リモートコマンド | Facebookメソッド |
---|---|
setUser |
setUser() |
updateUserValue |
updateUserValue() |
以下のいずれかのイベント名 | trackEvent() |
logProductItem | logProductItem() |
logPurchase |
logPurchase() |
flush |
flush() |
didReceiveRemoteNotification 内のAppDelegate で手動で呼び出されます |
setPushNotificationsDeviceToken() |
didRegisterForRemoteNotificationsWithDeviceToken 内のAppDelegate で手動で呼び出されます |
registerPushToken() |
現在、プッシュ通知はiOSリモートコマンドでのみサポートされています。
- iOS setPushNotificationsDeviceToken - トラッキングのアンインストールに使用されます
- iOS logPushNotificationOpen
標準イベント名
以下は、logEvent
メソッドでサポートされている標準イベント名のリストです。以下のコマンド名のいずれかが送信された場合は、Facebook SDKで自動的にトリガーされます。ここでは、その特定のイベントに対する必要なすべての変数のマッピングおよび定義も行われていることが前提となっています。アプリ内イベントの記録の詳細については、こちらを参照してください。
リモートコマンド | Facebookイベント名 |
---|---|
achievedLevel |
FBSDKAppEventNameAchievedLevel |
addPaymentInfo |
FBSDKAppEventNameAddedPaymentInfo |
addToCart |
FBSDKAppEventNameAddedToCart |
addToWishlist |
FBSDKAppEventNameAddedToWishlist |
completeRegistration |
FBSDKAppEventNameCompletedRegistration |
completeTutorial |
FBSDKAppEventNameCompletedTutorial |
initiateCheckout |
FBSDKAppEventNameInitiatedCheckout |
purchase |
FBSDKAppEventNamePurchased |
subscribe |
FBSDKAppEventNameSubscribe |
startTrial |
FBSDKAppEventNameStartTrial |
rated |
FBSDKAppEventNameRated |
searched |
FBSDKAppEventNameSearched |
spentCredits |
FBSDKAppEventNameSpentCredits |
unlockAchievement |
FBSDKAppEventNameUnlockedAchievement |
contentView |
FBSDKAppEventNameViewedContent |
logContact |
FBSDKAppEventNameContact |
initiateCheckout |
FBSDKAppEventNameInitiatedCheckout |
spentCredits |
FBSDKAppEventNameSpentCredits |
customizeProduct |
FBSDKAppEventNameCustomizeProduct |
donate |
FBSDKAppEventNameDonate |
findLocation |
FBSDKAppEventNameFindLocation |
schedule |
FBSDKAppEventNameSchedule |
submitApplication |
FBSDKAppEventNameSubmitApplication |
adImpression |
FBSDKAppEventNameAdImpression |
adClick |
FBSDKAppEventNameAdClick |
Facebook SDKはTealium SDKとともにインストールされるので、対応するタグ構成があれば任意のネイティブFacebook機能をトリガーできます。
ユーザーの構成
すべてのアプリイベントに関連付けるカスタムユーザーデータを構成します。すべてのユーザーデータはハッシュ化され、アプリケーションのこのインスタンスからのFacebookユーザーの照合に使用されます。ユーザーデータはアプリケーションのインスタンス間で保持されます。
イベント名 | 必須 | オプション | 型 |
---|---|---|---|
setUser |
user |
[String: Any] |
User Dictionary Properties | オプション |
---|---|
em |
String |
fn |
String |
ln |
String |
dob |
String |
ge |
String |
ct |
String |
st |
String |
zp |
String |
country |
String |
ユーザー値の更新
タイプ/キーのユーザー値を更新します。すべてのユーザーデータはハッシュ化され、アプリケーションのこのインスタンスからのFacebookユーザーの照合に使用されます。ユーザーデータはアプリケーションのインスタンス間で保持されます。
イベント名 | 必須 | オプション | 型 |
---|---|---|---|
updateUserValue |
fb_user_value |
String |
|
fb_user_key |
String |
製品アイテムの記録
製品カタログの製品アイテムをアプリイベントとしてアップロードします。
イベント名 | 必須 | オプション | 型 |
---|---|---|---|
logProductItem |
fb_product_item_id |
String |
|
fb_product_availability |
Int (下記のルックアップを参照) |
||
fb_product_condition |
Int (下記のルックアップを参照) |
||
fb_product_description |
String |
||
fb_product_image_link |
String |
||
fb_product_link |
String |
||
fb_product_title |
String |
||
fb_product_price_amount |
Double/Decimal |
||
fb_product_price_currency |
String |
||
fb_product_parameters |
[String: Any] - JavaScript オブジェクト (iQに含まれる場合) |
||
fb_product_gtin |
String |
||
fb_product_mpn |
String |
||
fb_product_brand |
String |
gtin
、mpn
、またはbrand
は必須です。製品パラメータは、ディープリンク仕様のオプションフィールドです。
製品入手可能状況の入力 | 製品入手可能状況のルックアップ |
---|---|
0 |
在庫あり - アイテムはただちに出荷されます |
1 |
在庫なし - 補充の予定はありません |
2 |
予約注文 - 今後入手可能になります |
3 |
注文可能 - 1~2週間後に出荷されます |
4 |
販売終了 - 販売は終了しました |
製品状態の入力 | 製品状態のルックアップ |
---|---|
0 |
新品 |
1 |
メーカー再生品 |
2 |
中古品 |
購入記録
指定された金額の購入を指定された通貨で記録し、購入について説明した追加の特性のセットもオプションで提供します。
特性をまとめた任意のパラメータディクショナリ。このディクショナリのキーは
NSString
でなければならず、値はNSString
またはNSNumber
にする必要があります。パラメータの数の制限
と名前の構成については、FBSDKAppEventsのドキュメントに記載されています。一般的に使用されるパラメータ名
は、FBSDKAppEventParameterName定数で指定されています。
イベント名 | 必須 | オプション | 型 |
---|---|---|---|
logPurchase |
fb_purchase_amount |
Decimal/Double (iOS)/Double (Android) |
|
fb_purchase_currency |
String |
||
fb_purchase_parameters |
[String: Any] - Javascript オブジェクト (iQ) |
フラッシュ
Facebookへのイベントのフラッシュを明示的に開始します。これは非同期のメソッドですが、直ちに開始されます。サーバー障害は、通知ID FBSDKAppEventsLoggingResultNotification
を使用してNotificationCenterを通じて報告されます。
イベント名 | 必須 | オプション | 型 |
---|---|---|---|
flush |
イベントの記録
以下は、Facebook標準イベントであり、多数のオプションパラメータをペイロードで受け入れます。
achieveLevel
adClick
adImpression
addPaymentInfo
addToCart
addToWishlist
completeRegistration
completeTutorial
logContact
viewedContent
search
rate
customizeProduct
donate
findLocation
schedule
startTrial
submitApplication
subscribe
subscriptionHeartbeat
initiateCheckout
purchase
unlockAchievement
spentCredits
Facebook SDKはTealium SDKとともにインストールされるので、任意のネイティブFacebook機能が使用可能です。
特性をまとめた任意のパラメータディクショナリ。このディクショナリのキーは
NSString
でなければならず、値はNSString
またはNSNumber
にする必要があります。パラメータの数の制限
と名前の構成については、FBSDKAppEventsのドキュメントに記載されています。一般的に使用されるパラメータ名
は、FBSDKAppEventParameterName定数で指定されています。
イベント名 | 必須 | オプション | 型 |
---|---|---|---|
command_name (上記のいずれかのイベント名) |
|||
Any of the event names listed above | パラメータリストを見る | 複数 | |
fb_value_to_sum |
Double/Decimal (iOS)/Double (Android) |
プッシュの処理
アプリのアンインストールの測定に使用されます。
イベント名 | 必須 | オプション | 型 |
---|---|---|---|
setPushNotificationsDeviceToken |
deviceToken |
Data |
Tealium Swiftライブラリを使用している場合は、処理方法について「プッシュメッセージトラッキング」を参照してください。このメソッドを手動で呼び出すオプションもあります。この機能はiOSリモートコマンドでのみサポートされています。
プッシュから開かれたアプリ
ユーザーがプッシュ通知からアプリを開いたときにイベントをトラッキングします。
イベント名 | 必須 | オプション | 型 |
---|---|---|---|
logPushNotificationOpen |
payload (userInfo) |
[String: Any] |
Tealium Swiftライブラリを使用している場合は、処理方法について「プッシュメッセージトラッキング」を参照してください。このメソッドを手動で呼び出すオプションもあります。この機能はiOSリモートコマンドでのみサポートされています。
最終更新日 :: 2024年April月30日