บทแนะนำ: เพิ่มประสิทธิภาพการสร้างรายได้แบบผสมโดยใช้ AdMob, Google Analytics และ Firebase

ขั้นตอนที่ 3: ตั้งค่าการกำหนดค่าระยะไกลของ Firebase เพื่อแสดงประสบการณ์โฆษณาที่เฉพาะเจาะจง


บทนำ: เพิ่มประสิทธิภาพการสร้างรายได้แบบผสมโดยใช้ AdMob, Google Analytics และ Firebase
ขั้นตอนที่ 1: ใช้ AdMob เพื่อสร้างหน่วยโฆษณาใหม่สำหรับการแสดงผล
ขั้นตอนที่ 2: ตั้งค่า Google Analytics

ขั้นตอนที่ 3: ตั้งค่าการกำหนดค่าระยะไกลของ Firebase เพื่อแสดงประสบการณ์โฆษณาที่เฉพาะเจาะจง


ในตอนท้ายของขั้นตอนสุดท้าย คุณได้เรียนรู้เกี่ยวกับผู้ชม Google Analytics ในขั้นตอนนี้ คุณจะสร้างพารามิเตอร์ที่ควบคุมบูลีนการกำหนดค่าระยะไกล (เรียกว่า ad_control_switch ) ที่ใช้ประโยชน์จากกลุ่มเป้าหมาย "ผู้ซื้อ" จากนั้น คุณจะเพิ่มตรรกะลงในโค้ดของแอปสำหรับสิ่งที่แอปของคุณควรแสดงตามค่าของพารามิเตอร์นั้น

ตั้งค่าพารามิเตอร์และเงื่อนไขการกำหนดค่าระยะไกลในคอนโซล Firebase

  1. ใน คอนโซล Firebase ให้เปิดโปรเจ็กต์ Firebase ของคุณ

  2. ในบานหน้าต่างด้านซ้าย ให้ขยายส่วน Engage จากนั้นเลือก Remote Config

  3. คลิก สร้างการกำหนดค่า (หรือ เพิ่มพารามิเตอร์ หากคุณเคยใช้การกำหนดค่าระยะไกลมาก่อน)

  4. ในพาเนล สร้างพารามิเตอร์ ให้ทำตามขั้นตอนต่อไปนี้:

    1. ในช่อง ชื่อพารามิเตอร์ ให้ป้อน ad_control_switch

    2. จากเมนูแบบเลื่อนลง Data type ให้เลือก บูลีน

    3. คลิก สร้างใหม่ จากนั้นเลือก สร้างเงื่อนไขใหม่

  5. ในกล่องโต้ตอบ กำหนดเงื่อนไขใหม่ ให้ทำตามขั้นตอนต่อไปนี้:

    1. ในช่อง ชื่อ ให้ป้อน Purchasers Group (หรือชื่ออื่นที่สามารถระบุเงื่อนไขได้ง่าย)

    2. จากเมนูแบบเลื่อนลง ใช้หาก... ให้เลือก ผู้ชมของผู้ใช้

    3. จากเมนูแบบเลื่อนลง เลือกผู้ชม ให้เลือก ผู้ซื้อ

    4. คลิก บันทึกเงื่อนไข

  6. กลับไปที่พาเนล สร้างพารามิเตอร์ ให้ทำตามขั้นตอนต่อไปนี้:

    1. สำหรับ มูลค่า ของ กลุ่มผู้ซื้อ ให้เลือก เท็จ

    2. สำหรับ ค่าเริ่มต้น ให้เลือก true

  7. คลิก บันทึก จากนั้น เผยแพร่การเปลี่ยนแปลง

การกำหนดค่านี้จะตรวจสอบว่าผู้ใช้อยู่ในกลุ่มเป้าหมาย "ผู้ซื้อ" หรือไม่ (นั่นคือ พวกเขาเป็นผู้ใช้ที่ชำระเงิน)

  • หากผู้ใช้อยู่ในกลุ่มเป้าหมาย "ผู้ซื้อ" การกำหนดค่าระยะไกลจะส่งคืนค่า false สำหรับพารามิเตอร์ ad_control_switch

  • หากผู้ใช้ ไม่ได้ อยู่ในผู้ชม "ผู้ซื้อ" การกำหนดค่าระยะไกลจะส่งคืนค่า true สำหรับพารามิเตอร์ ad_control_switch

ในขั้นตอนต่อไปนี้ คุณจะต้องใช้การกำหนดค่าระยะไกลในแอปของคุณเพื่อจัดการค่าพารามิเตอร์เหล่านี้

เพิ่ม Remote Config SDK ลงในแอปของคุณ

ก่อนที่จะใช้การกำหนดค่าระยะไกลในโค้ดแอปพลิเคชันของคุณ ให้เพิ่ม Remote Config SDK ลงในโค้ดเบสของแอปของคุณ โปรดทราบว่าแอปของคุณควรมี SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google (AdMob) และ SDK ของ Google Analytics สำหรับ Firebase จากขั้นตอนก่อนหน้าของบทแนะนำนี้

สวิฟท์

เพิ่มและติดตั้งพ็อด Remote Config ใน podfile ของคุณ:

pod 'Firebase/RemoteConfig'

หุ่นยนต์

เพิ่มการพึ่งพาไลบรารี Remote Config ให้กับไฟล์ build.gradle ของคุณ:

implementation 'com.google.firebase:firebase-config:21.6.3'

กระพือปีก

จากรากของโปรเจ็กต์ Flutter ของคุณ ให้รันคำสั่งต่อไปนี้เพื่อติดตั้งปลั๊กอิน Remote Config:

flutter pub add firebase_remote_config

ความสามัคคี

ดาวน์โหลดและติดตั้ง Firebase Unity SDK ล่าสุด จากนั้นเพิ่มแพ็คเกจ Remote Config ให้กับโปรเจ็กต์ของคุณ:
FirebaseRemoteConfig.unitypackage

กำหนดค่าอินสแตนซ์การกำหนดค่าระยะไกล

เพื่อให้แอปของคุณสามารถใช้ค่าพารามิเตอร์การกำหนดค่าระยะไกลได้ ให้กำหนดค่าอินสแตนซ์การกำหนดค่าระยะไกลเพื่อให้สามารถดึงค่าใหม่สำหรับอินสแตนซ์แอปไคลเอ็นต์ได้

ในตัวอย่างนี้ การกำหนดค่าระยะไกลได้รับการกำหนดค่าให้ตรวจสอบค่าพารามิเตอร์ใหม่ทุกๆ ชั่วโมง

สวิฟท์

remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
settings.minimumFetchInterval = 3600
remoteConfig.configSettings = settings

Kotlin+KTX

remoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings {
    minimumFetchIntervalInSeconds = 3600
}
remoteConfig.setConfigSettingsAsync(configSettings)

Java

mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
        .setMinimumFetchIntervalInSeconds(3600)
        .build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);

กระพือปีก

remoteConfig = FirebaseRemoteConfig.instance;
  final configSettings = FirebaseRemoteConfigSettings(
    minimumFetchInterval: Duration(hours: 1),
  );
  await remoteConfig.setConfigSettings(configSettings);

  // Use the `onConfigUpdated` callback to listen for changes to the config settings.
  remoteConfig.onConfigUpdated.listen((_) {
    print('Config settings confirmed');
  });

ความสามัคคี

var remoteConfig = FirebaseRemoteConfig.DefaultInstance;
var configSettings = new ConfigSettings {
  MinimumFetchInternalInMilliseconds =
        (ulong)(new TimeSpan(1, 0, 0).TotalMilliseconds)
};
remoteConfig.SetConfigSettingsAsync(configSettings)
        .ContinueWithOnMainThread(task => {
          Debug.Log("Config settings confirmed");
}

ดึงข้อมูลและเปิดใช้งานการกำหนดค่าระยะไกล

ดึงข้อมูลและเปิดใช้งานพารามิเตอร์ Remote Config เพื่อให้สามารถเริ่มใช้ค่าพารามิเตอร์ใหม่ได้

คุณต้องการโทรนี้โดยเร็วที่สุดในช่วงการโหลดแอปของคุณ เนื่องจากการเรียกนี้ไม่พร้อมกัน และคุณต้องดึงค่าการกำหนดค่าระยะไกลล่วงหน้าเพื่อให้แอปรู้ว่าจะแสดงโฆษณาหรือไม่

สวิฟท์

remoteConfig.fetch() { (status, error) -> Void in
  if status == .success {
    print("Config fetched!")
    self.remoteConfig.activate() { (changed, error) in
      // ...
    }
  } else {
    print("Config not fetched")
    print("Error: \(error?.localizedDescription ?? "No error available.")")
  }
  self.loadAdUnit()
}

Kotlin+KTX

remoteConfig.fetchAndActivate()
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                val updated = task.result
                Log.d(TAG, "Config params updated: $updated")
            } else {
                Log.d(TAG, "Config params failed to update")
            }
            loadAdUnit()
        }

Java

mFirebaseRemoteConfig.fetchAndActivate()
        .addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
            @Override
            public void onComplete(@NonNull Task<Boolean> task) {
                if (task.isSuccessful()) {
                    boolean updated = task.getResult();
                    Log.d(TAG, "Config params updated: " + updated);
                } else {
                    Log.d(TAG, "Config params failed to update");
                }
                loadAdUnit();
            }
        });

กระพือปีก

remoteConfig = FirebaseRemoteConfig.instance;

// Fetch and activate the latest Remote Config values.
final updated = await remoteConfig.fetchAndActivate();

// Check if the config params were updated successfully.
if (updated) {
  print('Config params updated');
} else {
  print('Config params failed to update');
}

// Load the ad unit.
_loadAdUnit();

ความสามัคคี

remoteConfig.FetchAndActivateAsync().ContinueWithOnMainThread(task => {
  if (task.IsFaulted) {
    Debug.LogWarning("Config params failed to update");
  } else {
    Debug.Log("Config params updated: " + task.Result);
  }
  LoadAdUnit();
});

ตอนนี้แอปของคุณได้รับการกำหนดค่าให้จัดการพารามิเตอร์การกำหนดค่าระยะไกลที่คุณสร้างไว้ก่อนหน้าในขั้นตอนนี้

ใช้ค่าพารามิเตอร์ Remote Config

ใช้ค่าการกำหนดค่าระยะไกลที่ดึงมาล่วงหน้าในฟังก์ชัน loadAdUnit() เพื่อพิจารณาว่าอินสแตนซ์ของแอปควรทำอย่างใดอย่างหนึ่งต่อไปนี้หรือไม่

  • ค่าพารามิเตอร์ ad_control_switch แปลงเป็น true : แสดงโฆษณาคั่นระหว่างหน้า (เนื่องจากผู้ใช้เป็นผู้ใช้ที่ไม่ชำระเงิน)

  • ค่าพารามิเตอร์ ad_control_switch แก้ไขเป็น false : ไม่ต้องแสดงโฆษณา (เนื่องจากผู้ใช้เป็นผู้ใช้ที่ชำระเงิน)

สวิฟท์

private func loadAdUnit() {
  let showAds = remoteConfig["ad_control_switch"].boolValue

  if showAds {
    // Load interstitial ad (implemented ad unit)
    // per AdMob instructions (the first step of this tutorial).
  } else {
    // Don't show ads.
  }
}

Kotlin+KTX

private fun loadAdUnit() {
  var showAds = remoteConfig.getBoolean(ad_control_switch)

  if (showAds) {
      // Load interstitial ad (implemented ad unit)
      // per AdMob instructions (the first step of this tutorial).
    } else {
      // Don't show ads.
    }
}

Java

private void loadAdUnit() {
    boolean showAds =
      mFirebaseRemoteConfig.getBoolean(ad_control_switch);

    if (showAds) {
      // Load interstitial ad (implemented ad unit)
      // per AdMob instructions (the first step of this tutorial).
    } else {
      // Don't show ads.
    }
}

กระพือปีก

void _loadAdUnit() {
  bool showAds = remoteConfig.getBool(ad_control_switch);

  if (showAds) {
    // Load interstitial ad (implemented ad unit)
    // per AdMob instructions (the first step of this tutorial).
  } else {
    // Don't show ads.
  }
}

ความสามัคคี

void LoadAdUnit() {
  bool showAds =
      remoteConfig.GetValue("ad_control_switch").BooleanValue;

  if (showAds) {
    // Load interstitial ad (implemented ad unit)
    // per AdMob instructions (the first step of this tutorial).
  } else {
    // Don't show ads.
  }
}

ปล่อยแอปของคุณ

เนื่องจากตรรกะในการแสดงโฆษณาหรือไม่นั้นอยู่ในโค้ดเบสของคุณ คุณจึงต้องเผยแพร่แอปเวอร์ชันใหม่ที่มีตรรกะนี้

หากคุณทำตามขั้นตอนของบทแนะนำนี้ แอปของคุณควรเริ่มมอบประสบการณ์โฆษณาในแอปที่กำหนดเองแก่ผู้ใช้ทันที คุณสามารถตรวจสอบรายได้จากโฆษณาได้ทั้งในบัญชี AdMob และในแดชบอร์ด Google Analytics (ในคอนโซล Firebase หรือ UI ของ Google Analytics)


แค่นั้นแหละ! คุณได้เสร็จสิ้นบทแนะนำสำหรับการเพิ่มประสิทธิภาพการสร้างรายได้แบบผสมโดยใช้ AdMob, Google Analytics และ Firebase แล้ว




ขั้นตอนที่ 2 : ตั้งค่า Google Analytics