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

Version: v1.2.2.3

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.2.3 từ trang phát hành.

  • Sử dụng phiên bản GSMSDK_MessagePack v1.2.2.3.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)

  • Sử dụng phiên bản GSMSDK_Json v1.2.2.3.unitypackage dành cho phiên bản Unity từ 2020.x.x trở lên.

  • Từ phiên bản 1.2.23 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.

  • Login Retry: Là số lần SDK tự động kết nối lại với hệ thống nếu có lỗi. Chọn 0 để bỏ giới hạn, liên tục thử lại tới khi thành công

  • 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

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

    • 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

  • IOS: Tương tự Android

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.

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) =>
    {
         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
            GSMCore.Instance.SetEnvironment(Environment.Development);
#else
            //Khởi tạo GSM SDK với environment được config từ trên server
            GSMCore.Instance.SetEnvironment(response.environment);
#endif
            //string data=response.data;
            //Xử lý logic cho data nếu có từ trên server trả về   
            //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
            GSMCore.Instance.SetEnvironment(Environment.Development);
#else
            //Khởi tạo GSM SDK với environment được config từ trên server
            GSMCore.Instance.SetEnvironment(response.environment);
#endif
            //string data=response.data;
            //Xử lý logic cho data nếu có từ trên server trả về   
            //Khởi tạo GSM với deviceId
            GSMCore.Instance.Init("<deviceId>");
        },"<deviceId>");

6. Set Adjust Info

Vào Scripts ⇒ AdjustPlugin ⇒ Prefabs ⇒ GSMAdjustInfo

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

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