I. Tải về và cấu hình SDK

Version: v1.2.3.2

1. GSM là gì?

  • GSM là tracking và phân tích dữ liệu từ game, và sau đó sẽ thống kê, báo cáo giúp quản trị game một cách tốt nhất.

  • Thông qua GSM SDK được tích hợp trong game, hệ thống GSM sẽ thu thập được dữ liệu từ game gửi lên server.

2. Tải về SDK

  • Tải xuống phiên bản mới nhất 1.2.3.6 từ trang phát hành.

  • Sử dụng phiên bản GSMSDK_MessagePack v1.2.3.6.unitypackage dành cho phiên bản Unity từ 2021.x.x trở lên (Nên dùng phiên bản này để tối ưu data gửi lên server)

  • Từ phiên bản 1.2.2.3 thì cần xóa bỏ GSMObject Prefab ở version cũ

3. Thêm SDK vào dự án

  • Mở dự án của bạn trong Unity Editor, vào Assets → Import Package → Custom Package.... Sau đó chọn file GSMSDK.unitypackage đã tải xuống.

  • Chọn All → Import

  • Chú ý: Nếu đã GSM SDK rồi, xóa bỏ. Sau đó Import mới, và cập nhật các thông số tương ứng

4. Cấu hình GSM Settings

  • Sau khi đã thêm SDK vào dự án.

  • Tại menu: GSM → GSM Settings

  • Sau khi nhập các thông tin thì click vào Save Settings để lưu lại

Các thông số:

  • Auto Init:Nếu tích vào, thì SDK sẽ tự thực hiện GSMCore.Instance.Init(); và ngược lại. (Chỉ có tác dụng với Android và IOS, còn WebGL thì không)

  • App ID: Được cấp từ hệ thống GSM, liên hệ Project Manager của dự án.

  • Log Runtime: Trong quá trình phát triển thì tích chọn để xem debug. Khi buid Production thì bỏ tích chọn.

  • Request Timeout: Thời gian tối đa chờ 1 request lên server

  • Background Interval (Miliseconds): Cứ X thời gian thì game lại đẩy toàn bộ các event đang có lên server

  • Background Interval Max (Miliseconds): Cứ X thời gian tối đa thì game lại đẩy toàn bộ các event đang có lên server (Trường hợp các request trước gặp lỗi)

Chú ý:

  • Khi buid lên store thì cần để bỏ chọn Log Runtime

Các Setting khác:

Thiết lập dành cho MAX

  • Enable Max: Trường hợp game sử dụng MAX SDK thì cần bật cái này

  • Sdk Key: Là SdkKey của MAX, giá trị này được cung cấp từ Project Manager của dự án.

  • Android MAX UnitIds: Là nơi chứa các AdUnitId của MAX

    • Ad Name: Là tên đánh dấu loại quảng cáo(Là tên duy nhất trong 1 platform). Để có thể lấy ra UnitId và sử dụng

    • AdUnitId: Là Id của các loại quảng cáo.

    • AdFormat: Là các định dạng quảng cáo phù hợp với AdUnitId

  • IOS MAX UnitIds: tương tự Android MAX UnitIds nhưng dành cho IOS

    • Admob IOS AppId: Nếu trong MAX Mediation có sử dụng Admob Network thì cần có giá trị này: (Format: ca-app-pub-XXXXXXXXXXXXXXXXX~YYYYYYYYYY

Thiết lập dành cho Admob

Admob Sdk Version: Là phiên bản hiện tại của Admob SDK (GoogleMobileAds). Bỏ trống nếu game đang không sử dụng GoogleMobileAds

  • Android

    • Admob Android AppId: Có sử dụng Admob dù ở MAX hay AdMob thì cần có giá trị này: (Format: ca-app-pub-XXXXXXXXXXXXXXXXX~YYYYYYYYYY)

    • Android Admob UnitIds: Là chứa các UnitId và các định dạng quảng cáo tương ứng với Admob (Tương tự như MAX AdUnits)

  • IOS: Tương tự Android

Cách lấy GSM Settings để sử dụng

//Load setting trong Start
GSMSettings gsmSettings = GSMSettings.LoadSettings();
//Lấy các AdUnit tương ứng với Ad Name
var maxBannerUnit = gsmSettings.GetMAXAdUnit(<Ad Name>);
if (maxBannerUnit != null)
{
    Debug.Log("maxBannerUnit: " + maxBannerUnit.adUnitId);
}
var maxBannerUnit2 = gsmSettings.GetMAXAdUnit(<Ad Name>);
if (maxBannerUnit2 != null)
{
    Debug.Log("maxBannerUnit2: " + maxBannerUnit2.adUnitId);
}

5. Dùng GSM Config để chuyển đổi Environment

  • Mục đích để chuyển đổi môi trường trên server từ production sang development, hoặc ngược lại

  • Mục đích để: Tester có thể test các chức năng: Test AppConfig, Test AdImpression, Test IAP, Test Send Event

  • Tư tưởng là: Add các deviceId là tester vào trong GSM Config, và hệ thống nếu kiểm tra là device Tester thì sẽ trả về Environment = Development và ngược lại.

  • Chú ý: GSMCore.OnGetConfig chỉ nhận được khi đặt ở các Script trong Scene đầu tiên

5.1 Trường 1: Auto Init = true

  • Trường hợp ở bước 4: tích chọn Auto Init

  • Sử dụng sự kiện OnGetConfig để lấy thông tin khi SDK GetConfig thành công, và chỉ có tác dụng với Scene đầu tiên trong game.

Code mẫu

void Awake() {
    GSMCore.OnGetConfig+= (configResponse) =>
    {
    
#if UNITY_EDITOR
            //Mặc định Editor là Development
            configResponse.environment=Environment.Development;
#endif
     Debug.Log("Environment: " + configResponse.environment);
    };
}

5.2 Trường hợp 2: Auto Init = false

  • Trường hợp này, phía Dev phải tự GetConfig thủ công và sau đó thực hiện khởi tạo GSM

Code mẫu: (Nếu ở Bước 4: Không tích chọn Auto Init thì phải call GetConfig)

GSM.Core.GSMCore.Instance.GetConfig(response =>
        {
#if UNITY_EDITOR
            //Mặc định Editor là Development
            response.environment = Environment.Development;
#endif
            GSMCore.Instance.SetEnvironment(response.environment);
            //string data=response.data; Có thể lấy data từ Config được thiết lập trên AppManager của GSM
            //Khởi tạo GSM
            GSMCore.Instance.Init();
        });

Hoặc tùy biến với 1 deviceId: Dùng đối với WebGL hoặc Facebook Instant

Đối với WebGL hoặc Facebook Instant thì không dùng chế độ AutoInit

     GSM.Core.GSMCore.Instance.GetConfig(response =>
        {
if UNITY_EDITOR
            //Mặc định Editor là Development
            response.environment = Environment.Development;
#endif
            GSMCore.Instance.SetEnvironment(response.environment);
            //Xử lý logic cho data nếu có từ trên server trả về   
            //string data=response.data; Có thể lấy data từ Config được thiết lập trên AppManager của GSM
            
            //Khởi tạo GSM với deviceId
            GSMCore.Instance.Init("<deviceId>");
        },"<deviceId>");

6. Set Adjust Info

  • Trường hợp game có sử dụng Adjust thì phải thực hiện

  • Mục đích là đưa thông tin SDK của Adjust lên Server

  • Tự động tracking các Event theo P-Tracking

  • Tải và import các package với link tương ứng với Adjust Version bên dưới.

  • Cách sử dụng:

    • Vào CSCMobiPlugin=>AdjustPlugin Prefabs GSMAdjustInfo

    • Kéo vào Scene đang chứa Adjust Prefab

  • Lấy file p-tracking.json từ AppManager (App Config) ghi đè vào file mẫu trong CSCMobiPlugin=>AdjustPlugin=>Resources (Nếu PM không có hoặc không cần p-tracking thì bỏ qua bước này)

    • Phía game phải bỏ toàn bộ các logic Send Event lên Adjust với các EventToken có trong p-tracking.json.Plugin giúp tự động gửi các event lên Adjust được khai báo trong p-tracking.json

  • Trong Adjust (Prefab) ⇒ Bật START SDK MANUALLY

7. Set Ironsource Info

  • Trường hợp game có sử dụng Ironsource thì phải thực hiện

  • Mục đích là để đẩy các thông tin của SDK Ironsource lên server.

  • Download và Import package: GSM_Ironsource_Plugin v0.0.0.2.unitypackage

  • Sau khi import thì sẽ thấy code ở: Plugins ⇒ CSCMobiPlugin ⇒ IronsourcePlugin ⇒ Scripts ⇒ GSMIronsourceInfo.cs

8. Set MAX Info

  • Trường hợp game có sử dụng MAX thì phải thực hiện

  • Mục đích là đẩy các thông tin của MAX Sdk lên server.

  • Sau khi Import sẽ thấy code ở: Plugins ⇒ CSCMobiPlugin ⇒ MaxPlugin⇒ Scripts ⇒ GSMMaxInfocs

9. Set Admob Info

  • Trường hợp game có sử dụng Admob, hoặc cấu hình Mediation Admob của Ironsource hoặc MAX thì phải thực hiện

  • Download và Import package: GSM_Admob_Plugin v0.0.0.2.unitypackage

  • Sau khi import xong sẽ thấy: Plugins ⇒ CSCMobiPlugin ⇒ AdmobPlugin⇒ Scripts ⇒ GSMAdmobInfo.cs

10. Set Facebook Info

  • Trường hợp game có sử dụng Facebook SDK

  • Mục đích để đẩy thông tin Facebook SDK lên server

  • Download và Import package: GSM_Facebook_Plugin v0.0.0.2.unitypackage

  • Sau khi import xong sẽ thấy: Plugins ⇒ CSCMobiPlugin ⇒ FacebookPlugin⇒ Scripts ⇒ GSMFacebookInfo.cs

Last updated