概要:Googleタグマネージャーを使用して、Firebase SDK経由で計測されたイベントをAppsFlyerに送信します。
アプリでイベントを設定する
このセクションでは、Googleタグマネージャー (GTM)を使用して、アプリでイベントを設定し作成する方法について説明します。
イベントが送信されると、GTMでは、イベントトリガーを使用して、このイベントを処理するように設定されているタグがあるかどうかを確認します。イベントトリガーは、特定のイベントが送信されるたびにタグを起動するように設定されています。特定のイベントが送信され、それに対応するトリガーがある場合、タグは起動されます。タグが発生すると、Googleタグマネージャーはイベント内のすべてのデータを収集します。このようなデータには、AppsFlyerのID、イベント名、イベントパラメーターが含まれます。 すべてのデータを収集した後、GoogleタグマネージャーはAppsFlyerにイベントを送信します。
収益と価格のイベント変数を作成する
Android
- MainActivityクラスで、AppsFlyerのデバイスIDを保持する変数を作成します:
public static String appsFlyerID;
- MainActivity クラスに戻り、
onCreate
メソッドで、super.onCreate
の後に、AppsFlyer IDを変数に渡します。appsFlyerID = AppsFlyerLib.getInstance().getAppsFlyerUID(this);
- MainActivityクラスで、AppsFlyerのデバイスIDを保持する変数を作成します:
var appsFlyerID: String?= null
- MainActivity クラスに戻り、
onCreate
メソッドで、super.onCreate
の後に、AppsFlyerのID値を変数に渡します。override fun onCreate(savedInstanceState: Bundle?) { ... appsFlyerID = AppsFlyerLib.getInstance().getAppsFlyerUID(this) }
iOS
iOS の場合、パラメーターはアプリ全体で使用できます。これらは、AppsFlyerTracker インスタンスを使用して取得できます。
- AppsFlyer Device ID -
[AppsFlyerTracker sharedTracker].getAppsFlyerUID
- Apple App ID -
[AppsFlyerTracker sharedTracker].appleAppID
- AppsFlyer Device ID -
AppsFlyerTracker.shared().getAppsFlyerUID()
- Apple App ID -
AppsFlyerTracker.shared().appleAppID
アプリでイベントを追加する
最初のステップは、アプリでイベントの設定をすることです。イベントは、Firebase Event Loggingを使用して送信されます。イベント内で、AppsFlyer ID、Dev Key、イベント名、イベントパラメータを指定します。AppsFlyer IDは、 設定ステップで作成された変数から取得されます。
GoogleタグマネージャーはFirebase Analyticsイベントを使用してタグイベントを発生させます。Firebaseにイベントが送信されるたびに、タグマネージャーはイベントを認識しAppsFlyerにも送信します。
Android
- 目的のアクティビティにて、Firebaseの import statement を追加します:
import com.google.firebase.analytics.FirebaseAnalytics;
- 購入イベントが発生するたびに、次のコードを追加します。
Bundle bundle = new Bundle(); // notice "af_id", this is the name of the event parameter // for AppsFlyer ID that we created in the previous step bundle.putString("af_id", appsFlyerID); bundle.putString("af_revenue", "200"); bundle.putString("af_price", "250"); mFirebaseAnalytics.logEvent("af_purchase", bundle);
- 目的のアクティビティにて、Firebaseの import statement を追加します:
import com.google.firebase.analytics.FirebaseAnalytics
- 購入イベントが発生するたびに、次のコードを追加します。
val bundle = Bundle() // notice "af_id", this is the name of the event parameter // for AppsFlyer ID that we created in the previous step bundle.putString("af_id", appsFlyerID) bundle.putString("af_revenue", "200"); bundle.putString("af_price","250") FirebaseAnalytics.getInstance(this).logEvent("af_purchase",bundle)
iOS
- イベントが送信される view に
@import Firebase
を追加します。 - 購入イベントが発生するたびに、次のコードを追加します。
NSString *id_prefix = @"id";
NSString *apple_app_id = [id_prefix stringByAppendingString:[AppsFlyerTracker sharedTracker].appleAppID];
[FIRAnalytics logEventWithName:@"af_purchase" parameters:@{ @"apple_app_id": apple_app_id, @"af_id": [AppsFlyerTracker sharedTracker].getAppsFlyerUID, @"af_revenue": @250, @"af_price": @375 }];
- イベントが送信される view に
import Firebase
を追加します。 - 購入イベントが発生するたびに、次のコードを追加します。
Analytics.logEvent("af_purchase", parameters: [ "apple_app_id": "id" + AppsFlyerTracker.shared().appleAppID, "af_id": AppsFlyerTracker.shared().getAppsFlyerUID(), "af_revenue": 250, "af_price": 375 ]);
Firebaseにインストールイベントを送信する
インストールに関連するすべてのデータとともにインストールイベントをFirebaseに送ることも可能です。
Android
AndroidでFirebaseにインストールイベントを送信するには、conversionData
object を使用できます。
send event method を作成する
onCreate
メソッドの下のAFApplication
クラスに次のメソッドを追加します:
public void sendInstallToFirebase(Map<String, String> conversionData){
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
Bundle bundle = new Bundle();
bundle.putString("install_time", conversionData.get("install_time") == null ? String.valueOf(new Date().getTime()) : conversionData.get("install_time"));
bundle.putString("click_time", conversionData.get("click_time"));
bundle.putString("media_source", conversionData.get("media_source") == null ? "organic": conversionData.get("media_source"));
bundle.putString("campaign", conversionData.get("campaign") == null ? "organic": conversionData.get("campaign"));
bundle.putString("install_type", conversionData.get("af_status"));
mFirebaseAnalytics.logEvent("install", bundle);
}
このメソッドはconversionData
object を受け入れます。このメソッドは、インストール時間、メディアソース、およびキャンペーンがNullであるかどうかをチェックし、その場合はインストール時間を現在の時刻に設定し、メディアソースとキャンペーンをオーガニックに設定します。それ以外の場合は、 conversionData
オブジェクトからデータを取得し、Firebaseに送ります。
インストールイベントを送信する
onConversionDataSuccess
メソッドに次のコードを追加します:
if(conversionData.get("is_first_launch").equals("true")){
sendInstallToFirebase(conversionData);
}
このコードは、アプリが初めて起動されるかどうかをチェックします。その場合は、 SendInstallToFireBase
メソッドを呼び出します。
AndroidでFirebaseにインストールイベントを送信するには、conversionData
object を使用できます。
send event method を作成する
onCreate
メソッドの下のAFApplication
クラスに次のメソッドを追加します:
fun sendInstallToFirebase(conversionData: Map<String, Any>) {
val bundle = Bundle()
bundle.putString("install_time", conversionData["install_time"]?.toString() ?: Date().time.toString())
bundle.putString("click_time", conversionData["click_time"]?.toString())
bundle.putString("media_source", conversionData["media_source"]?.toString() ?: "organic")
bundle.putString("campaign", conversionData["campaign"]?.toString() ?: "organic")
bundle.putString("install_type", conversionData["af_status"]?.toString())
FirebaseAnalytics.getInstance(this).logEvent("install", bundle)
}
このメソッドはconversionData
object を受け入れます。このメソッドは、インストール時間、メディアソース、およびキャンペーンがNullであるかどうかをチェックし、その場合はインストール時間を現在の時刻に設定し、メディアソースとキャンペーンをオーガニックに設定します。それ以外の場合は、 conversionData
オブジェクトからデータを取得し、Firebaseに送ります。
インストールイベントを送信する
onConversionDataSuccess
メソッドに次のコードを追加します:
if(conversionData?.get("is_first_launch") == true){
sendInstallToFirebase(conversionData);
}
このコードは、アプリが初めて起動されるかどうかをチェックします。その場合は、 SendInstallToFireBase
メソッドを呼び出します。
注: SDK Ver 5 以降、 onConversionDataSuccess
がコンバージョンデータを取得するメソッドの名称です。5.0.0より前のSDKバージョンを使用している場合、メソッドの名前は onInstallConversionDataLoaded
です。SDK Ver 5.0.0にアップグレードすることをお勧めします。詳細については こちら からご確認ください。
iOS
send event method を作成する
AppDelegate.m にて、ファイルの最後に次のメソッドを追加します:
- (void)sendInstallToFirebase:(NSDictionary *)installData{{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd/MM/yyyy HH:mm:ss"];
NSDate *date = [NSDate date];
NSString *newDate = [dateFormatter stringFromDate:date];
if([[installData objectForKey: @"af_status"] isEqual: @"Organic"]){{
[FIRAnalytics logEventWithName:@"install"
parameters:@{
@"install_time": newDate,
@"media_source": @"organic",
@"campaign": @"organic"
}];
}}
else {{
[FIRAnalytics logEventWithName:@"install"
parameters:@{
@"install_time": [installData objectForKey: @"install_time"],
@"click_time": [installData objectForKey: @"click_time"],
@"install_type": [installData objectForKey: @"af_status"],
@"media_source": [installData objectForKey: @"media_source"],
@"campaign": [installData objectForKey: @"campaign"]
}];
}}
}}
このメソッドは、InstallData
オブジェクトを受け取り、インストールがオーガニックであるかどうかをチェックします。オーガニックの場合は、インストール時間を現在の時刻に設定し、メディアソース、キャンペーン、インストールの種類をオーガニックに設定します。
インストールが非オーガニックの場合、メソッドは関連する非オーガニックインストールデータを取得します。
パラメータが設定されると、このメソッドはFirebaseにインストールイベントを送信します。
インストールイベントを送信する
AppDelegate.m で、DidFinishLaunchingWithOptions
メソッド内に、[FIRApp configure]
を追加します
AppDelegate.m で、OnConversionDataSuccess
メソッド内にで、メソッドの最後に次のコードを追加します:
if([installData objectForKey:@"is_first_launch"]){
[self sendInstallToFirebase: installData];
}
上記のコードは、アプリが初めて起動されるかどうかをチェックします。その場合は、SendInstallToFireBase
メソッドを呼び出します。
AppDelegate.swift 内でファイルの最後に次のメソッドを追加します:
func sendInstallToFirebase(_ installData: [AnyHashable : Any]!){{
let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy hh:mm:ss"
let _newDate: String = dateFormatter.string(from: date)
if(installData["af_status"] as? String == "Organic"){
Analytics.logEvent("install", parameters: [
"install_time": _newDate,
"media_source": "organic",
"campaign": "organic"
]);
} else {
Analytics.logEvent("install", parameters: [
"install_time": installData["install_time"],
"click_time": installData["click_time"],
"media_source": installData["media_source"],
"campaign": installData["campaign"],
"install_type": installData["af_status"]
]);
}
}}
注: SDK ver5以降、 onConversionDataSuccess
がコンバージョンデータを取得するメソッドの名称です。5.0.0より前のSDKバージョンを使用している場合、メソッドの名前はonConversionDataReceived
です。SDK ver5.0.0にアップグレードすることをお勧めします。詳細についてはこちらをクリックしてください。
このメソッドは、InstallData
オブジェクトを受け取り、インストールがオーガニックであるかどうかをチェックします。オーガニックの場合は、インストール時間を現在の時刻に設定し、メディアソース、キャンペーン、インストールの種類をオーガニックに設定します。
インストールが非オーガニックの場合、メソッドは関連する非オーガニックインストールデータを取得します。
パラメータが設定されると、このメソッドはFirebaseにインストールイベントを送信します。
インストールイベントを送信する
AppDelegate.swift で、DidFinishLaunchingWithOptions
メソッド内に、FirebaseApp.configure();
を追加します。
AppDelegate.swift で、OnConversionDataSuccess
メソッド内にで、メソッドの最後に次のコードを追加します:
if let is_first_launch = data["is_first_launch"] , let launch_code = is_first_launch as? Int {{
if(launch_code == 1){
print("First Launch")
sendInstallToFirebase(installData)
} else {
print("Not First Launch")
}
}}
注: SDK ver5以降、 onConversionDataSuccess
がコンバージョンデータを取得するメソッドの名称です。5.0.0より前のSDKバージョンを使用している場合、メソッドの名前はonConversionDataReceived
です。SDK ver5.0.0にアップグレードすることをお勧めします。詳細についてはこちらをクリックしてください。
上記のコードは、アプリが初めて起動されるかどうかをチェックします。その場合は、SendInstallToFireBase
メソッドを呼び出します。
警告
一部のメディアソースでは、サードパーティのプラットフォームやサービスとのデータの共有が許可されていません。第三者のプラットフォームやサービスとのデータの共有に制限を設けているMeta ads、Twitter、Snap、Pinterest などのパートナーと提携している場合は、必ずパートナーのガイドラインに従い、これらの制限下にあるデータを削除してください。