I. Tải về và cấu hình SDK
Liên hệ tuyennv@cscmobi hoặc skype: nguyenvantuyen_12a9 để được invite vào gitlab và tải về sdk.
Link video hướng dẫn: https://www.youtube.com/watch?v=rexD2E_cjvQ&list=PLtoiq0hLg8tYloZ0rM5XXv5eYqpvS2fOp
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.1.1 từ trang phát hành.
Sử dụng phiên bản
GSMSDK_MessagePack.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.unitypackage
dành cho phiên bản Unity từ2020.x.x
trở lên.
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
4. Thiết lập Prefab GSMObject
Sau khi đã thêm SDK vào dự án.
Nơi chứa Prefab GSMObject:
Plugins → GSM-SDK → GSMObject
Kéo Prefab GSMObject vào scene đầu tiên (không load lại trong quá trình chơi) khi mở game (ví dụ: Splash scene, Login scene)
Các thông số:
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ôngLog Runtime
: Trong quá trình phát triển thì tích chọn để xem debug. Khi buidProduction
thì bỏ tích chọn.
Chú ý:
Khi buid lên store thì cần để bỏ chọn Log Runtime
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.
Code mẫu:
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
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
Trường hợp game có sử dụng Adjust thì phải thực hiện
Chú ý: Cần set trước khi call GSMCore.Instance.Init();
GSMCore.Instance.SetFunctionGetAdjustId(Adjust.getAdid);
Code mẫu:
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ề
//Thiết lập thông tin Adjust
GSMCore.Instance.SetFunctionGetAdjustId(Adjust.getAdid);
//YOUR_ADJUST_APP_TOKEN_KEY=GetComponent<Adjust>().appToken
GSM.Models.AdjustInfo adjustInfo = new GSM.Models.AdjustInfo(YOUR_ADJUST_APP_TOKEN_KEY, Adjust.getSdkVersion());
GSMCore.Instance.SetAdjustInfo(adjustInfo);
//Khởi tạo GSM
GSMCore.Instance.Init();
});
7. Set Ironsource Info
Trường hợp game có sử dụng Ironsource thì phải thực hiện
Chú ý: Cần set trước khi call GSMCore.Instance.Init();
GSMCore.Instance.SetIronSourceInfo(new GSM.Models.Mediations.IronSourceInfo(YOUR_IRONSOURCE_APP_KEY, IronSource.pluginVersion()));
Code mẫu:
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ề
//Thiết lập thông tin Ironsource
GSMCore.Instance.SetIronSourceInfo(new GSM.Models.Mediations.IronSourceInfo(YOUR_IRONSOURCE_APP_KEY, IronSource.pluginVersion()));
//Khởi tạo GSM
GSMCore.Instance.Init();
});
8. Set MAX Info
Trường hợp game có sử dụng MAX thì phải thực hiện
Chú ý: Cần set trước khi call GSMCore.Instance.Init();
GSMCore.Instance.SetMAXInfo(MAXInfo maxInfo)
Code mẫu:
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ề
//Thiết lập thông tin MAX
List<MAXInfo.MAXAdUnit> maxAdUnits = new List<MAXInfo.MAXAdUnit>();
maxAdUnits.Add(new MAXInfo.MAXAdUnit(MAX_Banner_AdUnitId, MAXInfo.MAXAdFormat.Banner));
maxAdUnits.Add(new MAXInfo.MAXAdUnit(MAX_Interstitial_AdUnitId, MAXInfo.MAXAdFormat.Interstitial));
maxAdUnits.Add(new MAXInfo.MAXAdUnit(MAX_Native_AdUnitId, MAXInfo.MAXAdFormat.Native));
maxAdUnits.Add(new MAXInfo.MAXAdUnit(MAX_MREC_AdUnitId, MAXInfo.MAXAdFormat.MREC));
maxAdUnits.Add(new MAXInfo.MAXAdUnit(MAX_Rewarded_AdUnitId, MAXInfo.MAXAdFormat.Rewarded));
GSMCore.Instance.SetMAXInfo(new GSM.Models.Mediations.MAXInfo(YOUR_MAX_SDK_KEY, MaxSdk.Version, maxAdUnits));
//Khởi tạo GSM
GSMCore.Instance.Init();
});
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
Chú ý: Cần set trước khi call GSMCore.Instance.Init();
GSMCore.Instance.SetAdmobInfo(AdmobInfo admobInfo)
Code mẫu:
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ề
//Thiết lập thông tin Admob
List<AdmobInfo.AdmobAdUnit> admobAdUnits = new List<AdmobInfo.AdmobAdUnit>();
admobAdUnits.Add(new AdmobInfo.AdmobAdUnit("Admob_AppOpen_AdUnitId", AdmobInfo.AdmobAdFormat.AppOpen));
admobAdUnits.Add(new AdmobInfo.AdmobAdUnit("Admob_Banner_AdUnitId", AdmobInfo.AdmobAdFormat.Banner));
admobAdUnits.Add(new AdmobInfo.AdmobAdUnit("Admob_Interstitial_AdUnitId", AdmobInfo.AdmobAdFormat.Interstitial));
admobAdUnits.Add(new AdmobInfo.AdmobAdUnit("Admob_RewardedIntersitial_AdUnitId", AdmobInfo.AdmobAdFormat.RewardedIntersitial));
admobAdUnits.Add(new AdmobInfo.AdmobAdUnit("Admob_Rewarded_AdUnitId", AdmobInfo.AdmobAdFormat.Rewarded));
admobAdUnits.Add(new AdmobInfo.AdmobAdUnit("Admob_Native_AdUnitId", AdmobInfo.AdmobAdFormat.Native));
GSMCore.Instance.SetAdmobInfo(new AdmobInfo("YOUR_ADMOB_APPID", admobAdUnits));
//Khởi tạo GSM
GSMCore.Instance.Init();
});
10. Set Facebook Info
Trường hợp game có sử dụng Facebook
Chú ý: Cần set trước khi call GSMCore.Instance.Init();
GSMCore.Instance.SetFacebookInfo(FacebookInfo facebookInfo)
Code mẫu:
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ề
//Thiết lập thông tin Facebook
GSMCore.Instance.SetFacebookInfo(new GSM.Models.FacebookInfo("FACEBOOK_APP_ID", "FACEBOOK_CLIENT_TOKEN"));
//Khởi tạo GSM
GSMCore.Instance.Init();
});
Last updated