Lớp MobileAds cung cấp các chế độ cài đặt chung cho .
Tạo sự kiện quảng cáo trên luồng chính của Unity
tạo sự kiện trên một luồng khác với luồng chính của Unity. Nếu triển khai các sự kiện quảng cáo và tương tác với các đối tượng Unity, bạn cần đồng bộ hoá các sự kiện với luồng chính của Unity.
Đồng bộ hoá các sự kiện quảng cáo với luồng chính của Unity theo cách thủ công hoặc tự động bằng cách cho phép xử lý quá trình đồng bộ hoá.
Đề xuất: Đồng bộ hoá sự kiện quảng cáo theo cách thủ công
Để đồng bộ hoá các sự kiện quảng cáo theo cách thủ công, hãy sử dụng phương thức ExecuteInUpdate trên luồng chính. Bạn nên sử dụng phương thức ExecuteInUpdate khi tương tác với các đối tượng UnityEngine và trong khi thuộc tính RaiseAdEventsOnUnityMainThread bị vô hiệu hoá.
Ví dụ sau đây ghi lại một luồng trong nền và chạy một thao tác để tương tác với các đối tượng UnityEngine:
// Google Mobile Ads events are raised off the Unity main thread.
// This log is executed off the Unity main thread.
// Write all time-sensitive code before ExecuteInUpdate().
Debug.Log("Executing off the Unity main thread.");
// Use ExecuteInUpdate to run code on the main thread, allowing you to
// interact with Unity UI and GameObjects.
// Changed to fully-qualified name to resolve CS0103
GoogleMobileAds.Common.MobileAdsEventExecutor.ExecuteInUpdate(() =>
{
// This callback may be delayed on Android until the user returns to the app.
Debug.Log("Executing on the Unity main thread.");
// Place all code that interacts with Unity UI and GameObjects inside this callback.
if (_myGameObject != null)
{
_myGameObject.SetActive(true);
}
});
Tự động hoá việc đồng bộ hoá các sự kiện quảng cáo
Để đồng bộ hoá các sự kiện quảng cáo, hãy đặt thuộc tính MobileAds.RaiseAdEventsOnUnityMainThread thành true:
...
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// When true all events raised by GoogleMobileAds will be raised
// on the Unity main thread. The default value is false.
MobileAds.RaiseAdEventsOnUnityMainThread = true;
}
}
Kiểm soát âm lượng của quảng cáo dạng video
Nếu ứng dụng của bạn có các chế độ kiểm soát âm lượng riêng (chẳng hạn như mức âm lượng của hiệu ứng âm thanh hoặc âm nhạc tuỳ chỉnh), thì việc cho biết mức âm lượng của ứng dụng sẽ cho phép quảng cáo dạng video tuân thủ các chế độ cài đặt âm lượng của ứng dụng. Việc này đảm bảo người dùng nhận được quảng cáo dạng video có âm lượng mong muốn.
Âm lượng của thiết bị (mà bạn có thể kiểm soát thông qua các nút âm lượng hoặc thanh trượt âm lượng ở cấp hệ điều hành) sẽ xác định âm lượng cho đầu ra âm thanh của thiết bị. Tuy nhiên, các ứng dụng có thể tự điều chỉnh mức âm lượng tương ứng với mức âm lượng của thiết bị để điều chỉnh trải nghiệm âm thanh.
Bạn có thể báo cáo âm lượng tương ứng của ứng dụng cho bằng cách gọi phương thức SetApplicationVolume() trước khi tải quảng cáo. Các giá trị âm lượng hợp lệ của quảng cáo nằm trong khoảng từ 0.0 (im lặng) đến 1.0 (âm lượng hiện tại của thiết bị). Dưới đây là một ví dụ về cách báo cáo âm lượng tương ứng của ứng dụng cho SDK:
// Set app volume to be half of current device volume.
MobileAds.SetApplicationVolume(0.5f);
Để thông báo cho SDK biết rằng bạn đã tắt tiếng ứng dụng, hãy gọi phương thức SetApplicationMuted() trước khi tải quảng cáo:
// Set app to be muted.
MobileAds.SetApplicationMuted(true);
Theo mặc định, âm lượng của ứng dụng được đặt thành 1 (âm lượng hiện tại của thiết bị) và ứng dụng không bị tắt tiếng.
Sự đồng ý sử dụng cookie
Nếu ứng dụng của bạn có các yêu cầu đặc biệt, thì bạn có thể đặt khoá ApplicationPreferences gad_has_consent_for_cookies (không bắt buộc) thành 0 để bật quảng cáo bị hạn chế:
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
Giảm thiểu kích thước ứng dụng Android
Lựa chọn xuất bản này của Unity cho phép bạn bật tính năng giảm thiểu mã java. Nếu bật tính năng rút gọn, bạn cũng cần tạo một tệp proguard tuỳ chỉnh để giữ lại các lớp mà SDK tham chiếu.
Bật tệp Proguard tuỳ chỉnh
Chuyển đến Project Settings > Player > Android > Publishing Settings > Build (Cài đặt dự án > Trình phát > Android > Chế độ cài đặt xuất bản > Bản dựng) rồi chọn:
- Tệp Proguard tuỳ chỉnh
Mở
/Assets/Plugins/Android/proguard-user.txtrồi thêm nội dung sau:
-keep class com.google.** { public *; }
Tắt tính năng báo cáo sự cố
thu thập báo cáo sự cố cho mục đích gỡ lỗi và phân tích. Để tắt tính năng báo cáo sự cố, hãy xem các phần sau đây cho Android và iOS.
Android
Thêm thẻ <meta-data> có DISABLE_CRASH_REPORTING được đặt thành true trong tệp AndroidManifest.xml của ứng dụng:
<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.flag.DISABLE_CRASH_REPORTING"
android:value="true" />
</application>
</manifest>
iOS
Gọi phương thức DisableSDKCrashReporting để tắt báo cáo sự cố trên iOS:
void Awake() {
MobileAds.DisableSDKCrashReporting();
}
Lấy phiên bản trình bổ trợ Unity
Để lấy phiên bản Unity SDK, hãy chạy lệnh sau:
// Get the Unity SDK version.
Debug.Log("Unity SDK Version: " + MobileAds.GetVersion());
Lấy phiên bản nền tảng
cho Unity phụ thuộc vào SDK nền tảng Android và iOS. Để lấy phiên bản của SDK nền tảng, hãy chạy lệnh sau:
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());